Skip to content
Snippets Groups Projects
Commit bbd46887 authored by mcmlxxix's avatar mcmlxxix
Browse files

log via parent_queue

parent e2141e44
No related branches found
No related tags found
No related merge requests found
var root = argv[0]; var root = argv[0];
js.branch_limit = 0; js.branch_limit = 0;
load("backgroundlog.js");
load("json-client.js"); load("json-client.js");
load("event-timer.js"); load("event-timer.js");
load("funclib.js"); load("funclib.js");
...@@ -100,7 +101,7 @@ function handleDisco(update) { ...@@ -100,7 +101,7 @@ function handleDisco(update) {
/* delete a game */ /* delete a game */
function deleteGame(gameNumber) { function deleteGame(gameNumber) {
log(LOG_WARNING,"removing empty game #" + gameNumber); log(LOG_DEBUG,"removing empty game #" + gameNumber);
client.remove(game_id,"games." + gameNumber,2); client.remove(game_id,"games." + gameNumber,2);
if(data.timers[gameNumber]) if(data.timers[gameNumber])
data.timers[gameNumber].abort = true; data.timers[gameNumber].abort = true;
...@@ -109,7 +110,7 @@ function deleteGame(gameNumber) { ...@@ -109,7 +110,7 @@ function deleteGame(gameNumber) {
/* delete a player */ /* delete a player */
function deletePlayer(gameNumber,playerName) { function deletePlayer(gameNumber,playerName) {
log(LOG_WARNING,"removing player from game " + gameNumber); log(LOG_DEBUG,"removing player from game " + gameNumber);
client.remove(game_id,"games." + gameNumber + ".players." + playerName,2) client.remove(game_id,"games." + gameNumber + ".players." + playerName,2)
delete data.games[gameNumber].players[playerName]; delete data.games[gameNumber].players[playerName];
} }
...@@ -170,7 +171,7 @@ function getReady(game) { ...@@ -170,7 +171,7 @@ function getReady(game) {
function startGame(game) { function startGame(game) {
/* verify that the game is still ready */ /* verify that the game is still ready */
if(game.status == status.STARTING) { if(game.status == status.STARTING) {
log("starting race: " + game.gameNumber); log(LOG_DEBUG,"starting race: " + game.gameNumber);
client.lock("mazerace","games." + game.gameNumber + ".status",2); client.lock("mazerace","games." + game.gameNumber + ".status",2);
game.status = status.RACING; game.status = status.RACING;
createMaze(game); createMaze(game);
...@@ -229,7 +230,7 @@ function init() { ...@@ -229,7 +230,7 @@ function init() {
/* main loop */ /* main loop */
function main() { function main() {
while(client.socket.is_connected && !js.terminated && !parent_queue.poll()) { while(!js.terminated && !parent_queue.poll()) {
if(client.socket.poll(.1)) if(client.socket.poll(.1))
client.cycle(); client.cycle();
timer.cycle(); timer.cycle();
...@@ -248,4 +249,4 @@ function Race(gameNumber,players,damage,fog,maze,start,finish) { ...@@ -248,4 +249,4 @@ function Race(gameNumber,players,damage,fog,maze,start,finish) {
} }
init(); init();
main(); main();
\ No newline at end of file
var root = argv[0]; var root = argv[0];
if(!file_exists(root + "server.ini")) {
throw("server initialization file missing");
}
/* load server connection information from server.ini */
var server_file = new File(root + "server.ini");
server_file.open('r',true);
var serverAddr=server_file.iniGetValue(null,"host");
var serverPort=server_file.iniGetValue(null,"port");
server_file.close();
load("backgroundlog.js");
load("json-client.js"); load("json-client.js");
load("event-timer.js"); load("event-timer.js");
load("funclib.js"); load("funclib.js");
...@@ -7,12 +17,12 @@ load("sbbsdefs.js"); ...@@ -7,12 +17,12 @@ load("sbbsdefs.js");
var game_id = "synchronetris"; var game_id = "synchronetris";
var timer = new Timer(); var timer = new Timer();
var client = new JSONClient("localhost",10088); var client = new JSONClient(serverAddr,serverPort);
var settings = loadSettings(); var settings = loadSettings();
var data = { var data = {
games:client.read(game_id,"games",1), players:{},
players:client.read(game_id,"players",1), games:{},
timers:{} timers:{}
}; };
...@@ -88,7 +98,7 @@ function handleDisco(subscription) { ...@@ -88,7 +98,7 @@ function handleDisco(subscription) {
/* delete a game */ /* delete a game */
function deleteGame(gameNumber) { function deleteGame(gameNumber) {
log(LOG_WARNING,"removing empty game #" + gameNumber); log(LOG_DEBUG,"removing empty game #" + gameNumber);
client.remove(game_id,"games." + gameNumber,2); client.remove(game_id,"games." + gameNumber,2);
if(data.timers[gameNumber]) if(data.timers[gameNumber])
data.timers[gameNumber].abort = true; data.timers[gameNumber].abort = true;
...@@ -97,7 +107,7 @@ function deleteGame(gameNumber) { ...@@ -97,7 +107,7 @@ function deleteGame(gameNumber) {
/* delete a player */ /* delete a player */
function deletePlayer(gameNumber,playerName) { function deletePlayer(gameNumber,playerName) {
log(LOG_WARNING,"removing player from game " + gameNumber); log(LOG_DEBUG,"removing player from game " + gameNumber);
client.remove(game_id,"games." + gameNumber + ".players." + playerName,2) client.remove(game_id,"games." + gameNumber + ".players." + playerName,2)
delete data.games[gameNumber].players[playerName]; delete data.games[gameNumber].players[playerName];
} }
...@@ -218,14 +228,15 @@ function init() { ...@@ -218,14 +228,15 @@ function init() {
client.subscribe(game_id,"games"); client.subscribe(game_id,"games");
client.subscribe(game_id,"players"); client.subscribe(game_id,"players");
client.write(game_id,"settings",settings,2); client.write(game_id,"settings",settings,2);
client.write(game_id,"games",{},2);
client.callback = processUpdate; client.callback = processUpdate;
if(!data.games) data.players=client.read(game_id,"players",1);
data.games = {};
if(!data.players) if(!data.players)
data.players = {}; data.players = {};
log(LOG_INFO,"Synchronetris background service initialized"); log(LOG_INFO,"Synchronetris background service initialized");
} }
/* load game settings */
function loadSettings() { function loadSettings() {
var file=new File(root + "synchronetris.ini"); var file=new File(root + "synchronetris.ini");
file.open('r',true); file.open('r',true);
...@@ -236,7 +247,7 @@ function loadSettings() { ...@@ -236,7 +247,7 @@ function loadSettings() {
/* main loop */ /* main loop */
function main() { function main() {
while(client.socket_is_connected && !js.terminated && !parent_queue.poll()) { while(!js.terminated && !parent_queue.poll()) {
if(client.socket.poll(.1)) if(client.socket.poll(.1))
client.cycle(); client.cycle();
timer.cycle(); timer.cycle();
...@@ -244,4 +255,4 @@ function main() { ...@@ -244,4 +255,4 @@ function main() {
} }
init(); init();
main(); main();
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment