#include <unistd.h>
#include <errno.h>
#include <netdb.h>
+#include "server/database.h"
#include "server/server.h"
#include "server/server_map.h"
#include "signal_handlers.h"
}
// list_clear_func callback used on server shutdown to disconnect all clients properly
-static void list_disconnect_client(void *key, __attribute__((unused)) void *value, __attribute__((unused)) void *arg)
+static void list_disconnect_client(void *key, unused void *value, unused void *arg)
{
server_disconnect_client(key, DISCO_NO_REMOVE | DISCO_NO_MESSAGE, "");
}
// start up the server after socket was created, then accept connections until interrupted, then shutdown server
static void server_run(int fd)
{
- server.config.simulation_distance = 16;
-
server.sockfd = fd;
pthread_rwlock_init(&server.clients_rwlck, NULL);
server.clients = list_create(NULL);
pthread_rwlock_init(&server.players_rwlck, NULL);
server.players = list_create(&list_compare_string);
+ database_init();
server_map_init(&server);
+ server_map_prepare_spawn();
while (! interrupted)
accept_client();
close(server.sockfd);
server_map_deinit();
+ database_deinit();
exit(EXIT_SUCCESS);
}