mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-05 06:50:04 +00:00
5cf7225f52
* Merge kamilprzyb and main repo's code * Update Makefile by FunnHornhoover * Update Makefile by FinnHornhoover * Add flag to Makefile by FinnHornhoover * Remove extra line from makefile * Remove lbcrypt from Makefile * Fix flag to Makefile by FinnHornhoover * Reimplement potential fix for tutorial blackscreen by Dongresources * Update CMakeLists.txt * Update CMakeLists.txt * Reinsert Jade's changes * Cosmetic Changes to Databases .h & .cpp * Remove CMakeSettings.json * Update Makefile by Finn Hornhoover * More cosmetic changes to Databases.cpp * More cosmetic changes to Databases.cpp * Remove unnecessary line (CMakeSettings.json) * Fix CNLoginServer.cpp * More cosmetic Changes to Database.hpp, edit Database.cpp to use JSON library onstead of json11 library, and delete json11 library files * Delete json11 library files * Delete JSON library to reupload * Reupload JSON library from main repo * Reupload JSON library from main repo * Fix syntax error * Fix Makefile * Remove commented line of code to be like master Co-authored-by: CPunch <sethtstubbs@gmail.com>
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#include "CNLoginServer.hpp"
|
|
#include "CNShardServer.hpp"
|
|
#include "PlayerManager.hpp"
|
|
#include "ChatManager.hpp"
|
|
#include "ItemManager.hpp"
|
|
#include "MissionManager.hpp"
|
|
#include "NanoManager.hpp"
|
|
#include "NPCManager.hpp"
|
|
#include "Database.hpp"
|
|
|
|
#include "settings.hpp"
|
|
|
|
#if defined(__MINGW32__) && !defined(_GLIBCXX_HAS_GTHREADS)
|
|
#include "mingw/mingw.thread.h"
|
|
#else
|
|
#include <thread>
|
|
#endif
|
|
#include <string>
|
|
|
|
void startShard(CNShardServer* server) {
|
|
server->start();
|
|
}
|
|
|
|
int main() {
|
|
#ifdef _WIN32
|
|
WSADATA wsaData;
|
|
if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
|
|
std::cerr << "OpenFusion: WSAStartup failed" << std::endl;
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
#else
|
|
// tell the OS to not kill us if you use a broken pipe, just let us know thru recv() or send()
|
|
signal(SIGPIPE, SIG_IGN);
|
|
#endif
|
|
settings::init();
|
|
std::cout << "[INFO] Protocol version: " << PROTOCOL_VERSION << std::endl;
|
|
std::cout << "[INFO] Intializing Packet Managers..." << std::endl;
|
|
PlayerManager::init();
|
|
ChatManager::init();
|
|
ItemManager::init();
|
|
MissionManager::init();
|
|
NanoManager::init();
|
|
NPCManager::init();
|
|
|
|
Database::open();
|
|
|
|
std::cout << "[INFO] Starting Server Threads..." << std::endl;
|
|
CNLoginServer loginServer(settings::LOGINPORT);
|
|
CNShardServer shardServer(settings::SHARDPORT);
|
|
|
|
std::thread shardThread(startShard, (CNShardServer*)&shardServer);
|
|
|
|
loginServer.start();
|
|
|
|
shardServer.kill();
|
|
shardThread.join();
|
|
|
|
#ifdef _WIN32
|
|
WSACleanup();
|
|
#endif
|
|
return 0;
|
|
}
|