Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var config = require('./config');
- var html = '<!DOCTYPE html><html><head> <title>CSGOTurbo - websocket</title> <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> <style>html, body{height: 100%;}body{margin: 0; padding: 0; width: 100%; color: #B0BEC5; display: table; font-weight: 100; font-family: \'Lato\';}.container{text-align: center; display: table-cell; vertical-align: middle;}.content{text-align: center; display: inline-block;}.title{font-size: 72px; margin-bottom: 40px;}</style></head><body><div class="container"> <div class="content"> <div class="title">Cookies? Cookies!</div></div></div></body></html>';
- var server = require('http').createServer(function(request, response) {
- response.writeHeader(200, {"Content-Type": "text/html"});
- response.write(html);
- response.end();
- });
- var io = require('socket.io')(server); //SITE init start
- var request = require('request');
- var mysql = require('mysql');
- var fs = require('fs');
- var sha256 = require('sha256');
- var math = require('mathjs');
- var connection = mysql.createConnection({
- host : config.host,
- user : config.user,
- password : config.password,
- database : config.db
- }); //SITE init end
- //BOT init start
- var SteamCommunity = require('steamcommunity');
- var community = new SteamCommunity();
- var SteamUser = require('steam-user');
- var TradeOfferManager = require('steam-tradeoffer-manager');
- var SteamTotp = require('steam-totp');
- //BOT init stop
- //SITE SETTINGS
- var prices = JSON.parse(fs.readFileSync(__dirname + '/prices.txt'));
- var users = {};
- var chat_muted = false;
- var isSteamRIP = false;
- var pause = false;
- var lastrolls = [];
- var last_message = {};
- var usersBr = {};
- var chat_history = [];
- var currentBets = {'red': [], 'green': [], 'black': []};
- var accept = 100;
- var wait = 50;
- var timer = -1;
- var currentRollid = 0;
- var winningNumber = 0;
- var actual_hash = sha256(generate(64)+'FUCKINGRETARDSINTHISFUCKINGCSGOGAMEXDDD'+sha256('ripGAME')+generate(2));
- // not the best RNG by the way
- //BOT SETTINGS
- var admin = config.admin;
- var botsteamid = config.botsteamid;
- var identitysecret = config.identitysecret;
- var sharedsecret = config.sharedsecret;
- var polling_interval = 5000;
- //BOT ACCOUNT DETALIS
- var details = {
- "accountName" : config.bot_username,
- "password" : config.bot_password,
- "twoFactorCode" : SteamTotp.generateAuthCode(sharedsecret)
- };
- //BOT CLIENT INIT
- var client = new SteamUser();
- //BOT MANAGER INIT
- var manager = new TradeOfferManager({
- "steam" : client,
- "domain" : config.manager_domain,
- "language" : config.manager_lang,
- "cancelTime" : config.manager_cancelTime
- });
- client.logOn(details); //bot login
- connection.connect(); //db connect
- var site_bots = [manager];
- var bots_list = {'76561198063160244': manager};
- /* */
- /* SITE PART */
- /* */
- load();
- checkTimer();
- io.on('connection', function (socket) {
- var user = false;
- socket.on('init', function (init) {
- if(!init) return;
- if(init.game == 'roulette') socket.emit('roulette round',timer/10,currentBets,actual_hash);
- if(init.game == 'roulette') socket.emit('roulette history',lastrolls);
- socket.emit('users online', Object.keys(users).length);
- socket.emit('chat', chat_history);
- if(init.logged){
- connection.query('SELECT * FROM `users` WHERE `steamid`=\''+init.steamid+'\' AND `token_time`=\''+init.time+'\' AND `token`=\''+init.token+'\' LIMIT 1', function(err, rows) {
- if((err) || (!rows.length)) {
- socket.disconnect();
- console.log('auth failed.');
- return;
- }
- else if(rows) {
- if(rows[0].logged_in) return;
- if(rows[0].banned) return;
- connection.query('UPDATE `users` SET `logged_in` = 1 WHERE `steamid`=\''+init.steamid+'\' AND `token_time`=\''+init.time+'\' AND `token`=\''+init.token+'\' LIMIT 1', function(err1, rows1) {
- if(err1) return;
- user = rows[0];
- if(!users[rows[0].steamid]) {
- users[rows[0].steamid] = {
- socket: [],
- }
- }
- users[rows[0].steamid]['socket'].push(socket.id);
- });
- } else {
- return;
- }
- });
- }
- });
- socket.on('disconnect', function() {
- var index = -1;
- if(users[user.steamid])
- index = users[user.steamid]['socket'].indexOf(socket.id);
- if (index > -1) {
- users[user.steamid]['socket'].splice(index, 1);
- }
- if(users[user.steamid]) { if(Object.keys(users[user.steamid]['socket']).length == 0) delete users[user.steamid]; }
- });
- socket.on('trade token', function(token) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(!token) return socket.emit('notify','error','tradeTokenFailed');
- if(typeof token != 'string') return socket.emit('notify','error','tradeTokenFailed');
- if(/^(.{4,8})$/.test(token)){
- connection.query('UPDATE `users` SET `tradeurl` = '+connection.escape(token)+' WHERE `steamid` = '+connection.escape(user.steamid), function(err, row) {
- if(err) {
- socket.emit('notify','error','tradeTokenFailed');
- console.log(err);
- return;
- }
- socket.emit('notify','success','tradeTokenSuccess',[token]);
- });
- } else {
- socket.emit('notify','error','tradeTokenFailed');
- }
- });
- socket.on('request inventory', function(force) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(!force) var force = false;
- if(typeof force != 'boolean') var force = false;
- if ((fs.existsSync('cache/'+user.steamid+'.txt')) && (force == false)) {
- var inventory = JSON.parse(fs.readFileSync('cache/'+user.steamid+'.txt'));
- socket.emit('inventory',{inventory: inventory.inventory, prices: inventory.prices});
- socket.emit('notify','','loadInventoryCached');
- } else {
- var steamid_substr = ''+user.steamid;
- steamid_substr = steamid_substr.substr(7);
- steamid_substr = parseInt(steamid_substr);
- var tradelink = 'https://steamcommunity.com/tradeoffer/new/?partner='+(steamid_substr - 7960265728);
- var rand = site_bots[Math.floor(Math.random() * site_bots.length)];
- var app = rand.createOffer(tradelink);
- app.getPartnerInventoryContents('730','2',function(get_err,inventory) {
- if(get_err){
- console.log('error occured while deposit');
- console.log(get_err);
- socket.emit('notify','error','loadInventoryError');
- return;
- } else {
- var output_prices = [];
- for(key in inventory){
- var obj = inventory[key];
- if(prices[obj['market_hash_name']])
- var a_price = prices[obj['market_hash_name']]*1000;
- else var a_price = 0;
- if(a_price < 500){
- a_price = 0;
- }
- output_prices.push({
- market_hash_name: obj['market_hash_name']*1000,
- price: ''+a_price
- })
- }
- fs.writeFile('cache/'+user.steamid+'.txt', JSON.stringify({inventory: inventory, prices: output_prices}), function(fserr) {
- if(fserr) {
- socket.emit('notify','error','loadSiteInventoryError');
- return console.log(fserr);
- }
- });
- socket.emit('inventory',{inventory: inventory, prices: output_prices});
- socket.emit('notify','success','loadInventorySuccess');
- }
- });
- }
- });
- socket.on('update ref', function(code) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(!code) return socket.emit('notify','error','updateRefFail');
- if(typeof code != 'string') return socket.emit('notify','error','updateRefFail');
- if(code.length >= 255) return socket.emit('notify','error','updateRefFail');
- if (res = /^(.{5,})$/.exec(code)) {
- connection.query('SELECT `code` FROM `users` WHERE `code` = '+connection.escape(res[1].toUpperCase())+' LIMIT 1', function(codes_error, codes){
- if(codes_error){
- socket.emit('notify','error','updateRefFail');
- } else {
- if(codes.length > 0){
- socket.emit('notify','error','updateRefAlreadyTaken');
- } else {
- connection.query('UPDATE `users` SET `code` = '+connection.escape(res[1].toUpperCase())+' WHERE `steamid` = '+connection.escape(user.steamid), function(codes_update_error){
- if(codes_update_error){
- console.log(codes_update_error);
- return socket.emit('notify','error','updateRefFail');
- } else {
- socket.emit('notify','success','updateRefSuccess');
- }
- });
- }
- }
- });
- } else {
- socket.emit('notify','error','updateRefRefused');
- }
- });
- socket.on('deposit items', function(items) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(items.length < 1) return socket.emit('notify','error','depositNoItemsRequested');
- if(Object.prototype.toString.call(items) !== '[object Array]') return socket.emit('notify','error','depositNoItemsRequested');
- if(user.transfer_banned) return socket.emit('notify','error','withdrawSendError15');
- if(isSteamRIP === false){
- connection.query('SELECT `tradeurl` FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(err, row) {
- if((err) || (!row.length)) {
- console.log(err);
- socket.emit('notify','error','serverError');
- return;
- }
- if(row[0].tradeurl.length < 3) socket.emit('notify','error','noTradeToken');
- else {
- connection.query('SELECT * FROM `trade_history` WHERE `offer_partner` = '+connection.escape(user.steamid)+' AND (`offer_state` = \'sent\' OR `offer_state` = \'pending\' OR `offer_state` = \'2\' OR `offer_state` = \'9\')', function(offer_err, offers) {
- if(offer_err){
- console.log(offer_err);
- socket.emit('notify','error','serverError');
- return;
- } else if(offers.length > 0){
- socket.emit('notify','error','pendingOffer');
- return;
- } else {
- var steamid_substr = ''+user.steamid;
- steamid_substr = steamid_substr.substr(7);
- steamid_substr = parseInt(steamid_substr);
- var tradelink = 'https://steamcommunity.com/tradeoffer/new/?partner='+(steamid_substr - 7960265728)+'&token='+row[0].tradeurl;
- var rand = site_bots[Math.floor(Math.random() * site_bots.length)];
- var app = rand.createOffer(tradelink);
- app.getPartnerInventoryContents('730','2',function(get_err,inventory) {
- if(get_err){
- console.log('error occured while deposit');
- console.log(get_err);
- socket.emit('notify','error','depositFailed');
- return;
- } else {
- var names = [];
- var hacker = false;
- items.forEach(function(item) {
- for(key in inventory){
- var object = inventory[key];
- if(object.id == item){
- if(prices[object.market_hash_name])
- var a_price = prices[object.market_hash_name];
- else var a_price = 0;
- if(a_price < 500){
- hacker = true;
- }
- names.push({
- market_hash_name: object.market_hash_name,
- id: parseInt(object.id),
- price: a_price
- });
- }
- }
- });
- var total_price = 0;
- var after_items = [];
- names.forEach(function(name) {
- total_price+=name.price;
- after_items.push(name.id);
- });
- after_items.sort(function (a, b) { return a - b; });
- items.sort(function (a, b) { return a - b; });
- if (items.length == after_items.length
- && items.every(function(u, i) {
- return u === after_items[i];
- })
- ) {
- if((total_price < 500) || (hacker)){
- socket.emit('notify','error','depositFailed');
- return;
- } else {
- console.log(total_price);
- items.forEach(function(target) {
- app.addTheirItem({
- appid: 730,
- contextid: 2,
- amount: 1,
- assetid: target
- });
- });
- app.setToken(row[0].tradeurl);
- app.getUserDetails(function(a_err,me,them) {
- if(a_err){
- console.log('error occured while deposit');
- console.log(a_err);
- socket.emit('notify','error','depositFailed');
- return;
- } else {
- if(them.escrowDays == 0){
- app.send(function(error, status) {
- if(error){
- console.log('error occured while deposit');
- console.log(error);
- socket.emit('notify','error','depositFailed');
- return;
- } else {
- console.log('Deposit request, items: '+items);
- connection.query('INSERT INTO `trade_history` SET `offer_id`='+connection.escape(app.id)+',`offer_partner`='+connection.escape(user.steamid)+',`offer_state`='+connection.escape(status)+',`worth`='+total_price+',`action`=\'deposit\'', function(err1) {
- if(err1){
- console.log('error occured while deposit');
- console.log(err1);
- socket.emit('notify','error','depositFailed');
- return;
- } else {
- socket.emit('notify','success','depositOfferSent',[app.id]);
- }
- });
- }
- });
- } else {
- socket.emit('notify','error','escrowError');
- }
- }
- });
- } } else {
- if(items.length == after_items.length){
- console.log('error here');
- console.log(items);
- console.log(after_items);
- }
- socket.emit('notify','error','withdrawItemsUnavailable');
- return;
- }
- }
- });
- } });
- }
- });
- } else {
- socket.emit('notify','error','withdrawSendError20');
- }
- });
- socket.on('withdraw items', function(items) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(items.length < 1) return socket.emit('notify','error','withdrawNoItemsRequested');
- if(Object.prototype.toString.call(items) !== '[object Array]') return socket.emit('notify','error','withdrawNoItemsRequested');
- if(user.transfer_banned) return socket.emit('notify','error','withdrawSendError15');
- if(isSteamRIP === false){
- connection.query('SELECT `tradeurl`,`deposit_sum` FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(err, row) {
- if((err) || (!row.length)) {
- console.log(err);
- socket.emit('notify','error','serverError');
- return;
- }
- if(row[0].tradeurl.length < 3) socket.emit('notify','error','noTradeToken');
- else {
- connection.query('SELECT * FROM `trade_history` WHERE `offer_partner` = '+connection.escape(user.steamid)+' AND (`offer_state` = \'sent\' OR `offer_state` = \'pending\' OR `offer_state` = \'2\' OR `offer_state` = \'9\')', function(offer_err, offers) {
- if(offer_err){
- console.log(offer_err);
- socket.emit('notify','error','serverError');
- return;
- } else if(offers.length > 0){
- socket.emit('notify','error','pendingOffer');
- return;
- } else {
- var steamid_substr = ''+user.steamid;
- steamid_substr = steamid_substr.substr(7);
- steamid_substr = parseInt(steamid_substr);
- var tradelink = 'https://steamcommunity.com/tradeoffer/new/?partner='+(steamid_substr - 7960265728)+'&token='+row[0].tradeurl;
- connection.query('SELECT * FROM `inventory` WHERE `in_trade` = \'0\'', function(inv_err, my_inv) {
- if(inv_err){
- console.log('error occured while withdraw');
- console.log(inv_err);
- socket.emit('notify','error','withdrawFailed');
- return;
- } else {
- var names = [];
- var problem = false;
- var more_bots = false;
- items.forEach(function(item) {
- for(key in my_inv){
- var object = my_inv[key];
- if(object.id == item){
- if(object.bot_id !== my_inv[0]['bot_id']) more_bots = true;
- if(prices[object.market_hash_name])
- var a_price = prices[object.market_hash_name];
- else {
- var a_price = 0;
- problem = true;
- }
- names.push({
- market_hash_name: object.market_hash_name,
- id: parseInt(object.id),
- price: a_price
- });
- }
- }
- });
- if(more_bots) return socket.emit('notify','error','withdrawMultipleBots');
- if(!problem){
- var total_price = 0;
- var after_items = [];
- names.forEach(function(name) {
- total_price+=name.price;
- after_items.push(name.id);
- });
- after_items.sort(function (a, b) { return a - b; });
- items.sort(function (a, b) { return a - b; });
- if (items.length == after_items.length
- && items.every(function(u, i) {
- return u === after_items[i];
- })
- ) {
- if((total_price > 5000) && (row[0].deposit_sum < 5000)) {
- socket.emit('notify','error','withdrawNotEnoughDeposit');
- } else {
- connection.query('SELECT `wallet` FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(wallet_err, balance) {
- if(wallet_err){
- console.log('error occured while withdraw');
- console.log(wallet_err);
- socket.emit('notify','error','withdrawFailed');
- return;
- } else {
- if(balance[0].wallet >= total_price){
- if(!my_inv[0]) return;
- var app = bots_list[my_inv[0]['bot_id']].createOffer(tradelink);
- items.forEach(function(target) {
- app.addMyItem({
- appid: 730,
- contextid: 2,
- amount: 1,
- assetid: target
- });
- });
- app.setToken(row[0].tradeurl);
- app.getUserDetails(function(a_err,me,them) {
- if(a_err){
- console.log('error occured while withdraw');
- console.log(a_err);
- socket.emit('notify','error','withdrawFailed');
- return;
- } else {
- if(them.escrowDays == 0){
- connection.query('UPDATE `users` SET `wallet` = `wallet` - '+parseInt(total_price)+' WHERE `steamid` = '+connection.escape(user.steamid), function(err3) {
- if(err3){
- console.log('error occured while withdraw, balance change, user: '+user.steamid);
- console.log(err3);
- socket.emit('notify','error','notEnoughCoins');
- return;
- } else {
- items.forEach(function(update_item) {
- connection.query('UPDATE `inventory` SET `in_trade` = \'1\''+' WHERE `id` = '+connection.escape(update_item), function(err6) {
- if(err6) {
- console.log('error at updating in trade items status. id:'+update_item);
- console.log(err6);
- }
- });
- });
- app.send(function(error, status) {
- if(error){
- items.forEach(function(update_item) {
- connection.query('UPDATE `inventory` SET `in_trade` = \'0\''+' WHERE `id` = '+connection.escape(update_item), function(err9) {
- if(err6) {
- console.log('error at updating in trade items status. id:'+update_item);
- console.log(err9);
- }
- });
- });
- connection.query('UPDATE `users` SET `wallet` = `wallet` + '+parseInt(total_price)+' WHERE `steamid` = '+connection.escape(user.steamid), function(err4) {
- if(err4){
- console.log('FUCK ERROR WHILE RETURNING BALANCE, error occured while withdraw, user: '+user.steamid);
- console.log(err4);
- }
- });
- console.log('error occured while withdraw, user: '+user.steamid);
- console.log(error);
- socket.emit('notify','error','withdrawFailed');
- return;
- } else {
- console.log('Withdraw request, items: '+items);
- connection.query('INSERT INTO `wallet_change` SET `user` = '+connection.escape(user.steamid)+', `change` = '+connection.escape('-'+total_price)+', `reason` = \'Withdraw\'', function(err_wallet_hist) {
- if(err_wallet_hist){
- console.log('database error at wallet_change');
- console.log(err_wallet_hist);
- }
- });
- connection.query('INSERT INTO `trade_history` SET `offer_id`='+connection.escape(app.id)+',`offer_partner`='+connection.escape(user.steamid)+',`offer_state`='+connection.escape(status)+',`worth`='+total_price+',`action`=\'withdraw\'', function(err1) {
- if(err1){
- connection.query('UPDATE `users` SET `wallet` = `wallet` + '+parseInt(total_price)+' WHERE `steamid` = '+connection.escape(user.steamid), function(err5) {
- if(err5){
- console.log('FUCK ERROR WHILE RETURNING BALANCE, error occured while withdraw, user: '+user.steamid);
- console.log(err5);
- }
- });
- console.log('error occured while withdraw, user: '+user.steamid);
- console.log(err1);
- socket.emit('notify','error','withdrawFailed');
- return;
- } else {
- users[user.steamid].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket])
- io.sockets.connected[asocket].emit('balance change', parseInt('-'+total_price));
- if(io.sockets.connected[asocket])
- io.sockets.connected[asocket].emit('notify','success','withdrawOfferSent',[app.id]);
- });
- }
- });
- }
- });
- }
- });
- } else {
- socket.emit('notify','error','escrowError');
- }
- }
- });
- } else {
- socket.emit('notify','error','notEnoughCoins');
- }
- }
- });
- }
- } else {
- socket.emit('notify','error','withdrawItemsUnavailable');
- return;
- }
- } else {
- socket.emit('notify','error','withdrawFailed');
- return;
- }
- }
- });
- }
- });
- }
- });
- } else {
- socket.emit('notify','error','withdrawSendError20');
- }
- });
- socket.on('roulette play', function(play, color) {
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if((!play) || (!color)) return socket.emit('notify','error','roulettePlayFailed');
- if((typeof play != 'string') && (typeof play != 'number')) return socket.emit('notify','error','roulettePlayFailed');
- if(typeof color != 'string') return socket.emit('notify','error','roulettePlayFailed');
- if((usersBr[user.steamid] !== undefined) && (usersBr[user.steamid] == 3)) {
- socket.emit('notify','error','rouletteMaxBets',[3]);
- return;
- }
- play = parseInt(play);
- if(isNaN(play)) return socket.emit('notify','error','cannotParseValue');
- play = ''+play;
- play = play.replace(/\D/g,'');
- if(color !== 'green' && color !== 'red' && color !== 'black') return socket.emit('notify','error','rouletteUnknownColor');
- if(play < 1) return socket.emit('notify','error','rouletteMinBet', [play,1]);
- if(play > 1000000) return socket.emit('notify','error','rouletteMaxBet', [play,1000000]);
- if(!pause) {
- connection.query('SELECT `wallet` FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(err, row) {
- if((err) || (!row.length)) {
- console.log(err);
- socket.emit('notify','error','roulettePlayFailed');
- return;
- }
- if(row[0].wallet >= play) {
- connection.query('UPDATE `users` SET `wallet` = `wallet` - '+parseInt(play)+', `total_bet` = `total_bet` + '+parseInt(play)+' WHERE `steamid` = '+connection.escape(user.steamid), function(err2, row2) {
- if(err2) {
- console.log(err2);
- socket.emit('notify','error','roulettePlayFailed');
- return;
- }
- connection.query('INSERT INTO `wallet_change` SET `user` = '+connection.escape(user.steamid)+', `change` = -'+connection.escape(play)+', `reason` = \'Roulette #'+currentRollid+' '+color+'\'', function(err3, row3) {
- if(err3) {
- console.log('important error at wallet_change');
- console.log(err3);
- socket.emit('notify','error','serverError');
- return;
- }
- if(usersBr[user.steamid] === undefined) {
- usersBr[user.steamid] = 1;
- } else {
- usersBr[user.steamid]++;
- }
- io.sockets.emit('roulette player',{
- amount: play,
- player: {
- avatar: user.avatar,
- steamid: user.steamid,
- username: user.username
- }
- }, color);
- currentBets[color].push({
- amount: play,
- player: {
- avatar: user.avatar,
- steamid: user.steamid,
- username: user.username
- }
- });
- users[user.steamid].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket])
- io.sockets.connected[asocket].emit('balance change', parseInt('-'+play));
- if(io.sockets.connected[asocket])
- io.sockets.connected[asocket].emit('notify','success','roulettePlaySuccess',[play,color,usersBr[user.steamid],3]);
- });
- });
- });
- } else {
- socket.emit('notify','error','notEnoughCoins');
- }
- });
- } else
- socket.emit('notify','error','roulettePlayFailed');
- });
- socket.on('chat message', function(chat) {
- if((!chat.message) || (!chat.type)) return;
- if((typeof chat.message != 'string') || (typeof chat.type != 'string')) return;
- if(last_message[user.steamid]+1 >= time()) {
- return;
- } else {
- last_message[user.steamid] = time();
- }
- if(!user) return socket.emit('notify','error','notLoggedIn');
- if(chat && chat.message){
- if(chat.message.indexOf('/') === 0){
- var res = null;
- if(chat.message.indexOf('/send') === 0){
- if (res = /^\/send ([0-9]{17}) ([0-9]{1,})/.exec(chat.message)) {
- if((res[2] < 1) || (res[2] > 100000)){
- return socket.emit('notify','error','chatSendOutOfRange');
- } else {
- var send_amount = parseInt(res[2]);
- if(isNaN(send_amount)) return socket.emit('notify','error','cannotParseValue');
- connection.query('SELECT `wallet`,`total_bet`,`deposit_sum`,`transfer_banned` FROM `users` WHERE `steamid` = '+user.steamid+' LIMIT 1',function(error, ppl) {
- if(error){
- console.log(error);
- return socket.emit('notify','error','chatSendFail',[res[2],res[1]]);
- } else {
- if(ppl[0].total_bet < 1000){
- return socket.emit('notify','error','chatSendNotEnoughCoins',[1000]);
- } else if(ppl[0].deposit_sum < 1000) {
- return socket.emit('notify','error','chatSendNotEnoughDeposit',[1000]);
- } else if(ppl[0].wallet < send_amount){
- return socket.emit('notify','error','chatSendOutOfRange');
- } else if(ppl[0].transfer_banned){
- return socket.emit('notify','error','chatSendUnavailable');
- } else {
- connection.query('SELECT * FROM `users` WHERE `steamid` = '+res[1], function(error_2, receiver) {
- if(error_2){
- console.log(error_2);
- return socket.emit('notify','error','chatSendFail',[res[2],res[1]]);
- } else {
- if((!receiver) || (!receiver.length)){
- return socket.emit('notify','error','chatSendFail',[res[2],res[1]]);
- } else {
- connection.query('UPDATE `users` SET `wallet` = `wallet` - '+send_amount+' WHERE `steamid` = '+connection.escape(user.steamid), function(error_3){
- if(error_3){
- console.log(error_3);
- return socket.emit('notify','error','chatSendFail',[res[2],res[1]]);
- } else {
- connection.query('UPDATE `users` SET `wallet` = `wallet` + '+send_amount+' WHERE `steamid` = '+connection.escape(res[1]), function(error_4) {
- if(error_4){
- console.log('error. cant give coins to receiver! '+res[1]);
- console.log(error_4);
- return socket.emit('notify','error','chatSendFail',[res[2],res[1]]);
- } else {
- connection.query('INSERT INTO `wallet_change` SET `change` = '+connection.escape('-'+send_amount)+',`reason` = '+connection.escape('Sent '+send_amount+' coins to '+res[1])+',`user` = '+connection.escape(user.steamid), function(error_5){
- if(error_5){
- console.log('error. not inserted wallet change for sender.');
- console.log(error_5);
- } else {
- connection.query('INSERT INTO `wallet_change` SET `change` = '+connection.escape(send_amount)+',`reason` = '+connection.escape('Received '+send_amount+' coins from '+user.steamid)+',`user` = '+connection.escape(res[1]), function(error_6) {
- if(error_6){
- console.log('error. not inserted wallet change for receiver.');
- console.log(error_6);
- }
- });
- }
- });
- users[user.steamid].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket]) {
- io.sockets.connected[asocket].emit('balance change', parseInt('-'+send_amount));
- io.sockets.connected[asocket].emit('notify','success','chatSendSuccess', [send_amount, res[1]]);
- }
- });
- users[res[1]].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket]) {
- io.sockets.connected[asocket].emit('balance change', send_amount);
- io.sockets.connected[asocket].emit('notify','success','chatSendReceived', [send_amount, res[1]]);
- }
- });
- }
- });
- }
- });
- }
- }
- });
- }
- }
- });
- }
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else if(chat.message.indexOf('/ref') === 0) {
- if(res = /^\/ref (.)/.exec(chat.message)){
- if (res = /^\/ref (.{5,254})/.exec(chat.message)) {
- connection.query('SELECT * FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(user_error, ouruser){
- if((user_error) || (ouruser.length !== 1)){
- console.log('cannot get user from referral');
- console.log(user_error);
- return;
- } else if((ouruser) && (ouruser.length === 1) && (ouruser[0].inviter.length > 0)) {
- return socket.emit('notify','error','chatReferralAlreadyUsed');
- } else {
- if(user.csgo == 'true'){
- connection.query('SELECT * FROM `users` WHERE `code` = '+connection.escape(res[1].toUpperCase())+' LIMIT 1', function(codes_error, codes){
- if(codes_error){
- socket.emit('notify','error','chatReferralFailed');
- } else if((codes[0]) && (codes[0].steamid == user.steamid)) {
- socket.emit('notify','error','chatReferralOwnCode');
- } else {
- if(codes.length > 0){
- connection.query('UPDATE `users` SET `inviter` = '+connection.escape(codes[0].steamid)+', `wallet` = `wallet` + 250 WHERE `steamid` = '+connection.escape(user.steamid), function(update_code_error, update_code){
- if(update_code_error){
- console.log('error while referal');
- console.log(update_code_error);
- socket.emit('notify','error','chatReferralFailed');
- return;
- } else {
- connection.query('INSERT INTO `wallet_change` SET `change` = \'250\',`reason` = \'Referral - free\',`user` = '+connection.escape(user.steamid));
- }
- });
- socket.emit('notify','success','chatReferralSuccess',[res[1],250]);
- users[user.steamid].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket]) {
- io.sockets.connected[asocket].emit('balance change', 250);
- }
- });
- } else {
- socket.emit('notify','error','chatReferralUnknown');
- }
- }
- });
- } else {
- socket.emit('notify','error','chatReferralNoCSGO');
- }
- }
- });
- } else {
- socket.emit('notify','error','chatReferralUnknown');
- }
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else if(chat.message.indexOf('/muteChat') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root')){
- chat_muted = true;
- socket.emit('notify','success','chatMuted');
- } else {
- socket.emit('notify','error','chatAdminAccess');
- }
- } else if(chat.message.indexOf('/unmuteChat') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root')){
- chat_muted = false;
- socket.emit('notify','success','chatUnmuted');
- } else {
- socket.emit('notify','error','chatAdminAccess');
- }
- } else if(chat.message.indexOf('/access') === 0){
- if(user.rank === 'root'){
- if (res = /^\/access ([0-9]{17}) (.{1,})/.exec(chat.message)) {
- if((res[2] == 'user') || (res[2] == 'siteAdmin') || (res[2] == 'siteMod')){
- connection.query('UPDATE `users` SET `rank` = '+connection.escape(res[2])+' WHERE `steamid` = '+connection.escape(res[1]), function(access_err) {
- var levels = {user:1,siteMod:2,siteAdmin:3,root:4};
- if(access_err){
- return socket.emit('notify','error','chatAccessLevelFailed',[levels[res[2]],res[1]]);
- } else {
- return socket.emit('notify','success','chatAccessLevelSuccess',[levels[res[2]],res[1]]);
- }
- });
- } else {
- return socket.emit('notify','error','chatAccessLevelOutOfRange');
- }
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatRootAccess');
- }
- } else if(chat.message.indexOf('/give') === 0){
- if(user.rank === 'root'){
- if (res = /^\/give ([0-9]{17}) ([0-9]{1,})/.exec(chat.message)) {
- connection.query('UPDATE `users` SET `wallet` = `wallet` + '+connection.escape(res[2])+' WHERE `steamid` = '+connection.escape(res[1]), function(give_error) {
- if(give_error){
- console.log(give_error);
- socket.emit('notify','error','chatGiveFail');
- } else {
- connection.query('INSERT INTO `wallet_change` SET `user` = '+connection.escape(res[1])+', `change` = '+connection.escape(res[2])+', `reason` = \'Received from server\'');
- if (users[res[1]]) {
- users[res[1]].socket.forEach(function(asocket) {
- if(io.sockets.connected[asocket])
- io.sockets.connected[asocket].emit('balance change',parseInt(res[2]));
- });
- }
- socket.emit('notify','success','chatGiveSuccess',[res[2],res[1]]);
- }
- });
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatRootAccess');
- }
- } else if(chat.message.indexOf('/coins') === 0){
- if(user.rank === 'root'){
- connection.query('SELECT SUM(`wallet`) AS `sum` FROM `users`', function(error,total) {
- if(error) {
- return;
- } else {
- var total = total[0].sum;
- var total_inv = 0;
- connection.query('SELECT * FROM `inventory`', function(inv_err, inventory) {
- if(inv_err){
- return;
- } else {
- for(key in inventory){
- var obj = inventory[key];
- if(prices[obj['market_hash_name']])
- var a_price = prices[obj['market_hash_name']]
- else var a_price = 0;
- total_inv += a_price;
- }
- socket.emit('notify','success','chatCoinsBalance',[total_inv,total_inv,total]);
- }
- });
- }
- })
- } else {
- socket.emit('notify','error','chatRootAccess');
- }
- } else if(chat.message.indexOf('/mute') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root') || (user.rank === 'siteMod')){
- if (res = /^\/mute ([0-9]{17})/.exec(chat.message)) {
- connection.query('SELECT * FROM `users` WHERE `steamid` = '+connection.escape(res[1])+' LIMIT 1', function(mute_err, mute_callback){
- if(mute_err){
- return socket.emit('notify','error','chatMuteFail',[res[1]]);
- } else {
- if((mute_callback) && (mute_callback.length)){
- if(mute_callback[0].rank == 'user'){
- connection.query('UPDATE `users` SET `muted` = 1 WHERE `steamid` = '+connection.escape(res[1]),function(mute_err1) {
- if(mute_err1){
- return socket.emit('notify','error','chatMuteFail',[res[1]]);
- } else {
- return socket.emit('notify','success','chatMuteSuccess',[res[1]]);
- }
- });
- } else {
- return socket.emit('notify','error','chatMuteStaff');
- }
- } else {
- return socket.emit('notify','error','chatMuteFail',[res[1]]);
- }
- }
- });
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatModAccess');
- }
- } else if(chat.message.indexOf('/unmute') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root') || (user.rank === 'siteMod')){
- if (res = /^\/unmute ([0-9]{17})/.exec(chat.message)) {
- connection.query('SELECT * FROM `users` WHERE `steamid` = '+connection.escape(res[1])+' LIMIT 1', function(unmute_err, unmute_callback){
- if(unmute_err){
- return socket.emit('notify','error','chatUnmuteFail',[res[1]]);
- } else {
- if((unmute_callback) && (unmute_callback.length)){
- if(unmute_callback[0].rank == 'user'){
- if(unmute_callback[0].muted == 1){
- connection.query('UPDATE `users` SET `muted` = 0 WHERE `steamid` = '+connection.escape(res[1]),function(unmute_err1) {
- if(unmute_err1){
- return socket.emit('notify','error','chatUnmuteFail',[res[1]]);
- } else {
- return socket.emit('notify','success','chatUnmuteSuccess',[res[1]]);
- }
- });
- } else {
- return socket.emit('notify','error','chatUnmuteNotMuted',[res[1]]);
- }
- } else {
- return socket.emit('notify','error','chatUnmuteStaff');
- }
- } else {
- return socket.emit('notify','error','chatUnmuteFail',[res[1]]);
- }
- }
- });
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatModAccess');
- }
- } else if(chat.message.indexOf('/removeMessages') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root') || (user.rank === 'siteMod')){
- if (res = /^\/removeMessages ([0-9]{17})/.exec(chat.message)) {
- chat_history = chat_history.filter(function(obj) {
- return obj.profile.steamid !== res[1];
- });
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatModAccess');
- }
- } else if(chat.message.indexOf('/removeMessage') === 0){
- if((user.rank === 'siteAdmin') || (user.rank === 'root') || (user.rank === 'siteMod')){
- if (res = /^\/removeMessage (.{1,})/.exec(chat.message)) {
- var index = chat_history.map(function(e) { return e.uniqueID; }).indexOf(res[1]);
- if (index > -1) {
- chat_history.splice(index, 1);
- }
- } else {
- socket.emit('notify','error','chatMissingParameters');
- }
- } else {
- socket.emit('notify','error','chatModAccess');
- }
- } else {
- return socket.emit('notify','error','chatUnknownCommand');
- }
- } else {
- if(((chat_muted === false) && (user.muted == 0)) || (user.rank != 'user')){
- connection.query('SELECT `total_bet` FROM `users` WHERE `steamid` = '+connection.escape(user.steamid)+' LIMIT 1', function(err, row) {
- if(err) {
- socket.emit('notify','error','serverError');
- return;
- } else {
- if((row[0].total_bet < 50000) && (user.rank == 'user')) {
- socket.emit('notify','error','chatNotEnoughBets',[row[0].total_bet, 50000]);
- return;
- } else {
- chat.message = chat.message.replace(/<\/?[^>]+(>|$)/g, "");
- var uniqueID = generate(20);
- io.sockets.emit('chat message', {
- message: chat.message,
- profile: {
- avatar: user.avatar,
- rank: user.rank,
- steamid: user.steamid,
- username: user.username
- },
- time: time(),
- uniqueID: uniqueID
- });
- array_limit({
- message: chat.message,
- profile: {
- avatar: user.avatar,
- rank: user.rank,
- steamid: user.steamid,
- username: user.username
- },
- time: time(),
- uniqueID: uniqueID
- });
- }
- }
- });
- } else {
- return socket.emit('notify','error','chatIsMuted');
- }
- }
- }
- });
- });
- setInterval(function() {
- io.sockets.emit('users online', Object.keys(users).length);
- },5000);
- var steam_check_interval = 5000;
- setInterval(function() {
- request('http://is.steam.rip/api/v1/?request=IsSteamRip', function(rip_error, response, body) {
- if(rip_error){
- return;
- } else {
- if(body){
- if(body.result){
- if(body.result.success === true){
- if(body.result.isSteamRip === true){
- isSteamRIP = true; //o nie! Steam nie zyje!
- steam_check_interval = 20000;
- } else {
- isSteamRIP = false; //uff. Steam zyje!
- }
- }
- }
- }
- }
- });
- },steam_check_interval);
- function checkTimer() {
- if((timer == -1) && (!pause)) {
- timer = accept+wait;
- timerID = setInterval(function() {
- //console.log(timer);
- if (timer == 0) {
- away();
- lastrolls.push(winningNumber);
- }
- if(timer == -100) {
- currentBets = {'red': [], 'green': [], 'black': []};
- usersBr = {};
- timer = accept+wait;
- currentRollid = currentRollid+1;
- pause = false;
- actual_hash = sha256(generate(118)+'FUCKINGRETARDSINTHISFUCKINGCSGOGAMEXDDD'+sha256('ripGAME')+getRandomInt(1,100));
- io.sockets.emit('roulette new round', 15, actual_hash);
- }
- timer = timer-1;
- }, 100);
- }
- }
- function away() {
- pause = true;
- var secret = generate(20);
- var sh = sha256(sha256(actual_hash)+'WHATTHEFUCK'+currentRollid+'sweetcat'+secret);
- winningNumber = sh.substr(0, 8);
Add Comment
Please, Sign In to add comment