diff options
| author | Franklin Wei <git@fwei.tk> | 2016-03-24 21:45:47 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2016-03-24 21:45:47 -0400 |
| commit | eb8b5907df2cf3c4b593197d40d10e83e6943ee3 (patch) | |
| tree | e19b5d3ee90e7d29b5975ad05496b2ab1385ad15 /src/server.c | |
| parent | a91f858ebaea0f403b2c59773e619086b9198a39 (diff) | |
| download | netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.zip netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.gz netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.bz2 netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.xz | |
fix for drop bug
Diffstat (limited to 'src/server.c')
| -rw-r--r-- | src/server.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/server.c b/src/server.c index 9e2e465..e42483c 100644 --- a/src/server.c +++ b/src/server.c @@ -45,12 +45,15 @@ static int server_socket; /* saves state periodically */ void server_save_state(bool force) { - static int n = 0; - n = (n + 1) % SAVE_INTERVAL; - if(!n || force) + if(!are_child) { - world_save(WORLDFILE); - userdb_write(USERFILE); + static int n = 0; + n = (n + 1) % SAVE_INTERVAL; + if(!n || force) + { + world_save(WORLDFILE); + userdb_write(USERFILE); + } } } @@ -119,6 +122,10 @@ static void __attribute__((noreturn)) server_cleanup(void) close(server_socket); + /* save state */ + if(!are_child) + server_save_state(true); + /* shut down modules */ client_shutdown(); obj_shutdown(); @@ -152,7 +159,7 @@ static void __attribute__((noreturn)) sigint_handler(int s) } static bool autoconfig = false; -const char *autouser, *autopass; +static const char *autouser, *autopass; static void check_userfile(void) { |