#define BLANK_SERVER_SERVER_HPP
#include "../app/Config.hpp"
+#include "../shared/CLI.hpp"
#include "../world/World.hpp"
#include "../world/WorldManipulator.hpp"
Server(const Config::Network &, World &, const World::Config &, const WorldSave &);
~Server();
+ // wait for data to arrive for at most dt milliseconds
+ void Wait(int dt) noexcept;
+ // true if there's data waiting to be handled
+ bool Ready() noexcept;
void Handle();
void Update(int dt);
void SetBlock(Chunk &, int, const Block &) override;
+ /// for use by client connections when they receive a line from the player
+ void DispatchMessage(Player &, const std::string &);
+
/// send message to all connected clients
void DistributeMessage(std::uint8_t type, std::uint32_t ref, const std::string &msg);
private:
UDPsocket serv_sock;
UDPpacket serv_pack;
+ SDLNet_SocketSet serv_set;
std::list<ClientConnection> clients;
World &world;
const WorldSave &save;
const Model *player_model;
+ CLI cli;
+
};
}