summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/publicServer.c17
-rw-r--r--src/server/publicServer.h3
2 files changed, 13 insertions, 7 deletions
diff --git a/src/server/publicServer.c b/src/server/publicServer.c
index 27fcead..8770300 100644
--- a/src/server/publicServer.c
+++ b/src/server/publicServer.c
@@ -39,9 +39,9 @@
#include "dns.h"
-static int arenaId;
static arena_t *arena;
static bool_t isSignalEnd;
+static arenaFile_t *choice_arenaFile;
extern int errno;
@@ -227,6 +227,13 @@ static int initPublicServerNetwork()
return ret;
}
+static void loadArena()
+{
+ choice_arenaFile = getArenaFileFormNetName( getSetting("ARENA", "--arena", "FAGN") );
+ arena = getArena(choice_arenaFile);
+ setCurrentArena(arena);
+}
+
int initPublicServer()
{
int ret;
@@ -250,9 +257,7 @@ int initPublicServer()
initHeightScore( getSetting("SCORE_FILE", "--score-file", "/tmp/heightscore") );
- arenaId = getArenaIdFormNetName( getSetting("ARENA", "--arena", "FAGN") );
- arena = getArena(arenaId);
- setCurrentArena(arena);
+ loadArena();
for( i = 0 ; i < atoi(getSetting("ITEM", "--item", "10")) ; i++ )
{
@@ -279,9 +284,9 @@ int initPublicServer()
return 0;
}
-int getChoiceArenaId()
+arenaFile_t* getChoiceArena()
{
- return arenaId;
+ return choice_arenaFile;
}
void eventPublicServer()
diff --git a/src/server/publicServer.h b/src/server/publicServer.h
index c8ab7f4..f6aa29c 100644
--- a/src/server/publicServer.h
+++ b/src/server/publicServer.h
@@ -4,13 +4,14 @@
#define PUBLIC_SERVER_H
#include "arena.h"
+#include "arenaFile.h"
#define WORLD_COUNT_ROUND_UNLIMITED -1
extern char *getSetting(char *env, char *param, char *default_val);
extern void countRoundInc();
extern int initPublicServer();
-extern int getChoiceArenaId();
+extern arenaFile_t* getChoiceArena();
extern void eventPublicServer();
extern void my_handler_quit(int n);
extern void quitPublicServer();