diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-02 12:38:36 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-02 12:38:36 +0000 |
| commit | 1fe3202f0b7e2f52e50c430caa744b029fd5bcef (patch) | |
| tree | e238b0f211badb35fecdc3f87fe32978fd512b5e /src/engine/server/es_server.c | |
| parent | 307c2cfae8fd678b10235bdc0c1a8cfc7da6adae (diff) | |
| download | zcatch-1fe3202f0b7e2f52e50c430caa744b029fd5bcef.tar.gz zcatch-1fe3202f0b7e2f52e50c430caa744b029fd5bcef.zip | |
cleaned up the console code. added the ability to tune the game in runtime.
Diffstat (limited to 'src/engine/server/es_server.c')
| -rw-r--r-- | src/engine/server/es_server.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c index d781c8da..8d805e42 100644 --- a/src/engine/server/es_server.c +++ b/src/engine/server/es_server.c @@ -225,6 +225,9 @@ void server_setbrowseinfo(int game_type, int progression) void server_kick(int client_id, const char *reason) { + if(client_id < 0 || client_id > MAX_CLIENTS) + return; + if(clients[client_id].state != SRVCLIENT_STATE_EMPTY) netserver_drop(net, client_id, reason); } @@ -647,7 +650,7 @@ static void server_process_client_packet(NETPACKET *packet) if(config.rcon_password[0] != 0 && strcmp(pw, config.rcon_password) == 0) { dbg_msg("server", "cid=%d rcon='%s'", cid, cmd); - config_set(cmd); + console_execute(cmd); } } else @@ -1039,11 +1042,26 @@ static int server_run() return 0; } +static void server_register_commands() +{ + +} + int main(int argc, char **argv) { + /* init the engine */ dbg_msg("server", "starting..."); - engine_init("Teewars", argc, argv); + engine_init("Teewars"); + + /* register all console commands */ + server_register_commands(); + mods_console_init(); + + /* parse the command line arguments */ + engine_parse_arguments(argc, argv); + + /* run the server */ server_run(); return 0; } |