summaryrefslogtreecommitdiff
path: root/src/publicServer.c
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-04-04 18:46:15 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-04-04 18:46:15 +0000
commit6dbcded21e7e9614b967b922987be6bcf3f3fe58 (patch)
treecfa806296d8880c4136681c5cb96d06a2e856eb0 /src/publicServer.c
parent617ba439aab5f1798eb02618dfcfbed80a5baf28 (diff)
- moznost nastavit si klavesy na ovladanie v ~/.tuxanci-ng/keycontrol.conf
- moznost prekladat texty do roznych jazykov, defult jazyk je EN, nastavenie je v ~/.tuxanci-ng/lang.conf - moznost nastavit server pomocou konfiguraku ./server.conf - uptime v sekudach a samorestartovaci casocvac tam este _NIE_ _JE_ git-svn-id: http://opensvn.csie.org/tuxanci_ng@39 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/publicServer.c')
-rw-r--r--src/publicServer.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/publicServer.c b/src/publicServer.c
index 1f74ce1..f1907e9 100644
--- a/src/publicServer.c
+++ b/src/publicServer.c
@@ -20,6 +20,7 @@
#include "proto.h"
#include "publicServer.h"
#include "net_multiplayer.h"
+#include "serverConfigFile.h"
static int arenaId;
static arena_t *arena;
@@ -32,14 +33,20 @@ void countRoundInc()
{
}
+static char *getSetting(char *env, char *param, char *default_val)
+{
+ return getParamElse(param, getServerConfigFileValue(env, default_val) );
+}
+
int initPublicServer()
{
initArenaFile();
initTux();
initItem();
initShot();
+ initServerConfigFile();
- arenaId = getArenaIdFormNetName( getParamElse("--arena", "FAGN") );
+ arenaId = getArenaIdFormNetName( getSetting("ARENA", "--arena", "FAGN") );
arena = getArena(arenaId);
setCurrentArena(arena);
@@ -47,13 +54,13 @@ int initPublicServer()
isSignalEnd = FALSE;
if( initNetMuliplayer(NET_GAME_TYPE_SERVER,
- getParamElse("--ip", "127.0.0.1") , atoi( getParamElse("--port", "2200") ) ) < 0 )
+ getSetting("IP", "--ip", "0.0.0.0") , atoi( getSetting("PORT", "--port", "2200") ) ) < 0 )
{
printf("Nemozem inicalizovat sietovy socket !\n");
return -1;
}
- setServerMaxClients( atoi( getParamElse("--maxclients", "100") ));
+ setServerMaxClients( atoi( getSetting("MAX_CLIENTS", "--maxclients", "100") ));
return 0;
}
@@ -107,6 +114,8 @@ void quitPublicServer()
quitNetMultiplayer();
destroyArena(arena);
quitArenaFile();
+ quitServerConfigFile();
+
exit(0);
}
@@ -119,14 +128,7 @@ char* getParam(char *s)
for( i = 1 ; i < my_argc ; i++ )
{
- //printf("%s %s\n", s, my_argv[i]);
-
- if( strlen(my_argv[i]) < len )
- {
- continue;
- }
-
- if( strncmp(s, my_argv[i], len) == 0 )
+ if( strstr(my_argv[i], s) == my_argv[i] )
{
return strchr(my_argv[i], '=')+1;
}