#pragma once

#include <memory>
#include "../core/server_handle.hpp"
#include "config.hpp"

namespace world::server {
    class Universe;
}
class Server {
public:
    Server(config::server::options &);
    ~Server();

    void run();

    server_handle *getHandle() { return localHandle; }

private:
    config::server::options& options;
    std::unique_ptr<world::server::Universe> universe;
    server_handle *localHandle;
};