]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - src/server/server.c
Add configuration files for client and server
[dragonblocks_alpha.git] / src / server / server.c
index a74b86272f54eba2c301b974cade83425c5fd036..d0e962c254ef2f179dbfc939711c21945daa3787 100644 (file)
@@ -3,6 +3,7 @@
 #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"
@@ -59,7 +60,7 @@ static void accept_client()
 }
 
 // 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, "");
 }
@@ -67,15 +68,15 @@ static void list_disconnect_client(void *key, __attribute__((unused)) void *valu
 // 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();
@@ -97,6 +98,7 @@ static void server_run(int fd)
        close(server.sockfd);
 
        server_map_deinit();
+       database_deinit();
 
        exit(EXIT_SUCCESS);
 }