From 2c687e77cd9ae3fd01010d7b36c8d0082bb76315 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sat, 20 Feb 2016 20:37:06 -0500 Subject: implements aliases and other assorted features/enhancements --- src/server.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/server.c') diff --git a/src/server.c b/src/server.c index 5f2478a..9e2e465 100644 --- a/src/server.c +++ b/src/server.c @@ -40,17 +40,18 @@ static uint16_t port = DEFAULT_PORT; static int server_socket; -void __attribute__((noreturn)) error(const char *fmt, ...) +#define SAVE_INTERVAL 8 + +/* saves state periodically */ +void server_save_state(bool force) { - char buf[128]; - memset(buf, 0, sizeof(buf)); - va_list ap; - va_start(ap, fmt); - vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - perror(buf); - abort(); - exit(EXIT_FAILURE); + static int n = 0; + n = (n + 1) % SAVE_INTERVAL; + if(!n || force) + { + world_save(WORLDFILE); + userdb_write(USERFILE); + } } static void free_child_data(void *ptr) -- cgit v1.1