var DEBUG=1; var http = require('http'); function getClient(){ try{ if(!DEBUG) return http.createClient(80, "createnspread.appspot.com"); return http.createClient(80, "lordkaan.com"); } catch(err) { console.log(err); return getClient(); } } var host = "0.0.0.0"; var port = 1080; var http_server = http.createServer(httpHandler); var io = require("socket.io").listen(http_server); http_server.listen(port, host); io.configure(function () { io.set('transports', ['websocket', 'flashsocket', 'xhr-polling']); }); var adventure="adventure1"; var game_version=-1; var waiting=new Object(); var players=new Array(); var maps=new Object(); var gameDyn=0; var gdata=""; downloadGame(); function initMap(name) { console.log("GOT MAP "+name); maps[name]=eval("("+maps[name].tdata+")"); } function downloadMap(name) { var GAE=getClient(); GAE.on("error",function(err){ console.log(err); setTimeout(function(){downloadMap(name);},500); }); var request = GAE.request('GET', "/rpgapp/getmap/"+adventure+"-"+name); maps[name]=new Object(); maps[name].tdata=""; request.end(); request.on('response', function (response) { response.setEncoding('utf8'); response.on('data', function (chunk) { maps[name].tdata+=chunk; }); response.on('close',function(){ console.log("CLOSED AMK: "+name); setTimeout(function(){downloadMap(name);},500); }); response.on('end',function(){initMap(name);}); }); } function downloadMaps() { var dene=123; gameDyn=eval("("+gdata+")"); for(var i=0;i