mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-04-03 22:36:23 +00:00
add lua engine, lua file, server, client, vehicle data, other stuff
This commit is contained in:
committed by
Anonymous275
parent
e5e447c7af
commit
459814a6ec
57
src/main.cpp
57
src/main.cpp
@@ -1,12 +1,61 @@
|
||||
#include "Client.h"
|
||||
#include "Common.h"
|
||||
#include "IThreaded.h"
|
||||
#include "TConfig.h"
|
||||
#include "TConsole.h"
|
||||
#include "TServer.h"
|
||||
#include <atomic>
|
||||
#include <functional>
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
|
||||
#include "TConsole.h"
|
||||
#ifdef __unix
|
||||
#include <csignal>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
TConsole Console;
|
||||
while (true) {
|
||||
void UnixSignalHandler(int sig) {
|
||||
switch (sig) {
|
||||
case SIGPIPE:
|
||||
warn("ignoring SIGPIPE");
|
||||
break;
|
||||
case SIGTERM:
|
||||
info("gracefully shutting down via SIGTERM");
|
||||
Application::GracefullyShutdown();
|
||||
break;
|
||||
case SIGINT:
|
||||
info("gracefully shutting down via SIGINT");
|
||||
Application::GracefullyShutdown();
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif // __unix
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
#ifdef __unix
|
||||
info("registering SIGPIPE and SIGTERM handlers");
|
||||
signal(SIGPIPE, UnixSignalHandler);
|
||||
signal(SIGTERM, UnixSignalHandler);
|
||||
signal(SIGINT, UnixSignalHandler);
|
||||
#endif // __unix
|
||||
|
||||
TServer Server(argc, argv);
|
||||
TConfig Config("Server.cfg");
|
||||
|
||||
auto Client = Server.InsertNewClient();
|
||||
if (!Client.expired()) {
|
||||
Client.lock()->SetName("Lion");
|
||||
} else {
|
||||
error("fuckj");
|
||||
_Exit(-1);
|
||||
}
|
||||
|
||||
Server.ForEachClient([](auto client) -> bool { debug(client.lock()->GetName()); return true; });
|
||||
|
||||
Server.RemoveClient(Client);
|
||||
|
||||
// TODO: replace with blocking heartbeat
|
||||
bool Shutdown = false;
|
||||
Application::RegisterShutdownHandler([&Shutdown] { Shutdown = true; });
|
||||
while (!Shutdown) {
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user