mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-08-17 08:46:22 +00:00
fix more stuff
This commit is contained in:
parent
d360403c56
commit
aec6ad9c14
@ -14,7 +14,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
|
||||
|
||||
if (UNIX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -static-libstdc++")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -s -fno-builtin")
|
||||
if (SANITIZE)
|
||||
message(STATUS "sanitize is ON")
|
||||
@ -43,7 +43,7 @@ add_executable(BeamMP-Server
|
||||
include/TResourceManager.h src/TResourceManager.cpp
|
||||
include/THeartbeatThread.h src/THeartbeatThread.cpp
|
||||
include/Http.h src/Http.cpp
|
||||
include/SocketIO.h src/SocketIO.cpp
|
||||
# include/SocketIO.h src/SocketIO.cpp
|
||||
include/TPPSMonitor.h src/TPPSMonitor.cpp
|
||||
include/TUDPServer.h src/TUDPServer.cpp
|
||||
include/TTCPServer.h src/TTCPServer.cpp)
|
||||
|
@ -1,10 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <atomic>
|
||||
#include <deque>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <deque>
|
||||
|
||||
#include "TConsole.h"
|
||||
|
||||
@ -31,9 +31,6 @@ public:
|
||||
int Port {};
|
||||
std::string CustomIP;
|
||||
[[nodiscard]] bool HasCustomIP() const { return !CustomIP.empty(); }
|
||||
|
||||
// new settings
|
||||
std::string ResourceFolder;
|
||||
};
|
||||
using TShutdownHandler = std::function<void()>;
|
||||
|
||||
@ -80,4 +77,3 @@ static inline void luaprint(const std::string& str) {
|
||||
#define Biggest 30000
|
||||
std::string Comp(std::string Data);
|
||||
std::string DeComp(std::string Compressed);
|
||||
|
||||
|
@ -7,8 +7,11 @@ class IThreaded {
|
||||
public:
|
||||
IThreaded()
|
||||
// invokes operator() on this object
|
||||
: mThread(std::thread([this] { (*this)(); })) { }
|
||||
: mThread() { }
|
||||
|
||||
virtual void Start() final {
|
||||
mThread = std::thread([this] { (*this)(); });
|
||||
}
|
||||
virtual void operator()() = 0;
|
||||
|
||||
protected:
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
#include "Client.h"
|
||||
#include "Http.h"
|
||||
#include "SocketIO.h"
|
||||
//#include "SocketIO.h"
|
||||
#include <sstream>
|
||||
|
||||
void THeartbeatThread::operator()() {
|
||||
@ -27,12 +27,12 @@ void THeartbeatThread::operator()() {
|
||||
if (!Application::Settings.CustomIP.empty())
|
||||
Body += "&ip=" + Application::Settings.CustomIP;
|
||||
|
||||
T = Http::POST("backend.beammp.com", "/heartbeat", {}, Body, false);
|
||||
T = Http::POST("beammp.com", "/heartbeatv2", {}, Body, false);
|
||||
|
||||
if (T.substr(0, 2) != "20") {
|
||||
//Backend system refused server startup!
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
T = Http::POST("backend.beammp.com", "/heartbeat", {}, Body, false);
|
||||
T = Http::POST("beammp.com", "/heartbeatv2", {}, Body, false);
|
||||
// TODO backup2 + HTTP flag (no TSL)
|
||||
if (T.substr(0, 2) != "20") {
|
||||
warn("Backend system refused server! Server might not show in the public list");
|
||||
@ -51,7 +51,7 @@ void THeartbeatThread::operator()() {
|
||||
}
|
||||
}
|
||||
|
||||
SocketIO::Get().SetAuthenticated(isAuth);
|
||||
//SocketIO::Get().SetAuthenticated(isAuth);
|
||||
}
|
||||
}
|
||||
std::string THeartbeatThread::GenerateCall() {
|
||||
@ -78,6 +78,7 @@ THeartbeatThread::THeartbeatThread(TResourceManager& ResourceManager, TServer& S
|
||||
: mResourceManager(ResourceManager)
|
||||
, mServer(Server) {
|
||||
Application::RegisterShutdownHandler([&] { mShutdown = true; });
|
||||
Start();
|
||||
}
|
||||
std::string THeartbeatThread::GetPlayers() {
|
||||
std::string Return;
|
||||
|
@ -9,14 +9,15 @@ TLuaEngine::TLuaEngine(TServer& Server, TTCPServer& TCPServer, TUDPServer& UDPSe
|
||||
: mTCPServer(TCPServer)
|
||||
, mUDPServer(UDPServer)
|
||||
, mServer(Server) {
|
||||
if (!fs::exists(Application::Settings.ResourceFolder)) {
|
||||
fs::create_directory(Application::Settings.ResourceFolder);
|
||||
if (!fs::exists(Application::Settings.Resource)) {
|
||||
fs::create_directory(Application::Settings.Resource);
|
||||
}
|
||||
std::string Path = Application::Settings.ResourceFolder + ("/Server");
|
||||
std::string Path = Application::Settings.Resource + ("/Server");
|
||||
if (!fs::exists(Path)) {
|
||||
fs::create_directory(Path);
|
||||
}
|
||||
FolderList(Path, false);
|
||||
Start();
|
||||
}
|
||||
|
||||
void TLuaEngine::operator()() {
|
||||
|
@ -5,6 +5,7 @@ TPPSMonitor::TPPSMonitor(TServer& Server)
|
||||
: mServer(Server) {
|
||||
Application::SetPPS("-");
|
||||
Application::RegisterShutdownHandler([&] { mShutdown = true; });
|
||||
Start();
|
||||
}
|
||||
void TPPSMonitor::operator()() {
|
||||
while (!mShutdown) {
|
||||
|
@ -20,6 +20,7 @@ TTCPServer::TTCPServer(TServer& Server, TPPSMonitor& PPSMonitor, TResourceManage
|
||||
, mPPSMonitor(PPSMonitor)
|
||||
, mResourceManager(ResourceManager) {
|
||||
Application::RegisterShutdownHandler([this] { mShutdown = true; });
|
||||
Start();
|
||||
}
|
||||
|
||||
void TTCPServer::Identify(SOCKET TCPSock) {
|
||||
@ -115,8 +116,8 @@ void TTCPServer::Authentication(SOCKET TCPSock) {
|
||||
Cl->SetStatus(-2);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
auto arg = std::make_unique<TLuaArg>(TLuaArg { { LockedClient->GetName(), LockedClient->GetRoles(), LockedClient->IsGuest() } });
|
||||
@ -284,6 +285,7 @@ void TTCPServer::UpdatePlayers() {
|
||||
auto c = ClientPtr.lock();
|
||||
Packet += c->GetName() + ",";
|
||||
}
|
||||
return true;
|
||||
});
|
||||
Packet = Packet.substr(0, Packet.length() - 1);
|
||||
UDPServer().SendToAll(nullptr, Packet, true, true);
|
||||
@ -327,8 +329,8 @@ int TTCPServer::OpenID() {
|
||||
found = false;
|
||||
ID++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
} while (!found);
|
||||
return ID;
|
||||
|
@ -9,6 +9,7 @@ TUDPServer::TUDPServer(TServer& Server, TPPSMonitor& PPSMonitor, TTCPServer& TCP
|
||||
: mServer(Server)
|
||||
, mPPSMonitor(PPSMonitor)
|
||||
, mTCPServer(TCPServer) {
|
||||
Start();
|
||||
}
|
||||
|
||||
void TUDPServer::operator()() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user