Browse Source

server moved to game server

Kajetan Johannes Hammerle 3 years ago
parent
commit
e725abac55
3 changed files with 14 additions and 19 deletions
  1. 10 6
      server/GameServer.cpp
  2. 1 1
      server/GameServer.h
  3. 3 12
      server/Main.cpp

+ 10 - 6
server/GameServer.cpp

@@ -4,7 +4,7 @@
 #include "server/Game.h"
 #include "utils/Logger.h"
 
-static Server* server = nullptr;
+static Server server;
 static HashMap<int, UniquePointer<ServerPlayer>> players;
 
 struct Receiver {
@@ -12,7 +12,7 @@ struct Receiver {
         if(players.tryEmplace(client.getId(), new ServerPlayer(client))) {
             LOG_WARNING(StringBuffer<50>("cannot emplace client id: ")
                             .append(client.getId()));
-            server->disconnect(client);
+            server.disconnect(client);
             return;
         }
         auto* p = players.search(client.getId());
@@ -51,15 +51,19 @@ struct Receiver {
     }
 };
 
-void GameServer::init(Server* s) {
-    server = s;
+bool GameServer::init(Server::Port port, int maxClients) {
+    Error error = server.start(port, maxClients);
+    if(error.has()) {
+        LOG_ERROR(error.message);
+    }
+    return error.has();
 }
 
 void GameServer::tick() {
     Receiver r;
-    server->consumeEvents(r);
+    server.consumeEvents(r);
 }
 
 void GameServer::sendToAll(OutPacket& out) {
-    server->send(out);
+    server.send(out);
 }

+ 1 - 1
server/GameServer.h

@@ -4,7 +4,7 @@
 #include "network/Server.h"
 
 namespace GameServer {
-    void init(Server* s);
+    bool init(Server::Port port, int maxClients);
     void tick();
     void sendToAll(OutPacket& out);
 }

+ 3 - 12
server/Main.cpp

@@ -2,7 +2,6 @@
 #include "server/GameServer.h"
 #include "server/commands/Commands.h"
 #include "server/snuviscript/Snuvi.h"
-#include "utils/Logger.h"
 
 void loop() {
     Clock clock;
@@ -22,21 +21,13 @@ void loop() {
     }
 }
 
-void init(Server* server) {
+int main() {
     Snuvi::init();
     Commands::init();
-    GameServer::init(server);
-    Game::testWorld();
-}
-
-int main() {
-    Server server;
-    Error error = server.start(11196, 50);
-    if(error.has()) {
-        LOG_ERROR(error.message);
+    if(GameServer::init(11196, 50)) {
         return 0;
     }
-    init(&server);
+    Game::testWorld();
     loop();
     return 0;
 }