diff options
author | shennetsind <ind@henn.et> | 2013-02-16 19:30:21 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-02-16 19:30:21 -0200 |
commit | d8280002947c462b0bb731c12c20efc301ccb891 (patch) | |
tree | 28e1b539c6df1886f8c3d234dc31361fb1a34ef7 | |
parent | d7ce0c1ce8c4d9118d1340e48424ad9deae0da09 (diff) | |
download | hercules-d8280002947c462b0bb731c12c20efc301ccb891.tar.gz hercules-d8280002947c462b0bb731c12c20efc301ccb891.tar.bz2 hercules-d8280002947c462b0bb731c12c20efc301ccb891.tar.xz hercules-d8280002947c462b0bb731c12c20efc301ccb891.zip |
Minor changes; check description
Login and Char servers will now exit when failing to bind to the port (as map server has always done).
Moved Sql_HerculesUpdateCheck() to be run before "server is 'ready' " thing for layout-purposes.
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | src/char/char.c | 12 | ||||
-rw-r--r-- | src/login/login.c | 19 | ||||
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/map.c | 4 |
4 files changed, 22 insertions, 15 deletions
diff --git a/src/char/char.c b/src/char/char.c index 8b75f6394..b6c88623c 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -4830,10 +4830,16 @@ int do_init(int argc, char **argv) Sql_ShowDebug(sql_handle); set_defaultparse(parse_char); - char_fd = make_listen_bind(bind_ip, char_port); - ShowStatus("The char-server is "CL_GREEN"ready"CL_RESET" (Server is listening on the port %d).\n\n", char_port); - + + if( (char_fd = make_listen_bind(bind_ip,char_port)) == -1 ) { + ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",char_port); + exit(EXIT_FAILURE); + } + Sql_HerculesUpdateCheck(sql_handle); + + ShowStatus("The char-server is "CL_GREEN"ready"CL_RESET" (Server is listening on the port %d).\n\n", char_port); + if( runflag != CORE_ST_STOP ) { shutdown_callback = do_shutdown; diff --git a/src/login/login.c b/src/login/login.c index c7e250040..984326532 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -1863,24 +1863,25 @@ int do_init(int argc, char** argv) } } - if( login_config.console ) - { + if( login_config.console ) { //##TODO invoke a CONSOLE_START plugin event } - // server port open & binding - login_fd = make_listen_bind(login_config.login_ip, login_config.login_port); + // server port open & binding + if( (login_fd = make_listen_bind(login_config.login_ip,login_config.login_port)) == -1 ) { + ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",login_config.login_port); + exit(EXIT_FAILURE); + } - if( runflag != CORE_ST_STOP ) - { + if( runflag != CORE_ST_STOP ) { shutdown_callback = do_shutdown; runflag = LOGINSERVER_ST_RUNNING; } - ShowStatus("The login-server is "CL_GREEN"ready"CL_RESET" (Server is listening on the port %u).\n\n", login_config.login_port); - login_log(0, "login server", 100, "login server started"); - account_db_sql_up(accounts); + ShowStatus("The login-server is "CL_GREEN"ready"CL_RESET" (Server is listening on the port %u).\n\n", login_config.login_port); + login_log(0, "login server", 100, "login server started"); + return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 6d9e57bd2..7b4025b9d 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -17119,7 +17119,7 @@ int do_init_clif(void) { set_defaultparse(clif_parse); if( make_listen_bind(bind_ip,map_port) == -1 ) { - ShowFatalError("can't bind game port\n"); + ShowFatalError("Failed to bind to port '"CL_WHITE"%d"CL_RESET"'\n",map_port); exit(EXIT_FAILURE); } diff --git a/src/map/map.c b/src/map/map.c index dde922f39..901234687 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -3985,10 +3985,10 @@ int do_init(int argc, char *argv[]) if (battle_config.pk_mode) ShowNotice("Server is running on '"CL_WHITE"PK Mode"CL_RESET"'.\n"); - ShowStatus("Server is '"CL_GREEN"ready"CL_RESET"' and listening on port '"CL_WHITE"%d"CL_RESET"'.\n\n", map_port); - Sql_HerculesUpdateCheck(mmysql_handle); + ShowStatus("Server is '"CL_GREEN"ready"CL_RESET"' and listening on port '"CL_WHITE"%d"CL_RESET"'.\n\n", map_port); + if( runflag != CORE_ST_STOP ) { shutdown_callback = do_shutdown; |