mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2026-03-28 15:40:03 +00:00
Compare commits
2 Commits
9a62ec61c9
...
mailfix
| Author | SHA1 | Date | |
|---|---|---|---|
|
79add84ecc
|
|||
|
5cf3434679
|
@@ -47,13 +47,6 @@ motd=Welcome to OpenFusion!
|
||||
# requires to run. You can override them by changing their values and
|
||||
# uncommenting them (removing the leading # character from that line).
|
||||
|
||||
# Should drop fixes be enabled?
|
||||
# This will add drops to (mostly Academy-specific) mobs that don't have drops
|
||||
# and rearrange drop tables that are either unassigned or stranded in difficult to reach mobs
|
||||
# e.g. Hyper Fusionfly and Fusion Numbuh Four drops will become more accessible.
|
||||
# This is a polish option that is slightly inauthentic to the original game.
|
||||
#dropfixesenabled=true
|
||||
|
||||
# location of the tabledata folder
|
||||
#tdatadir=tdata/
|
||||
# location of the patch folder
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// these are added to the NPC's static key to avoid collisions
|
||||
const int NPC_ID_OFFSET = 1;
|
||||
const int MOB_ID_OFFSET = 10000;
|
||||
const int MOB_GROUP_ID_OFFSET = 30000;
|
||||
const int MOB_GROUP_ID_OFFSET = 20000;
|
||||
|
||||
// typedef for JSON object because I don't want to type nlohmann::json every time
|
||||
typedef nlohmann::json json;
|
||||
|
||||
@@ -365,8 +365,14 @@ void CNServer::init() {
|
||||
}
|
||||
|
||||
// attach socket to the port
|
||||
if (!setSocketOption(sock, SOL_SOCKET, SO_REUSEADDR, 1)) {
|
||||
int opt = 1;
|
||||
#ifdef _WIN32
|
||||
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&opt, sizeof(opt)) != 0) {
|
||||
#else
|
||||
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) != 0) {
|
||||
#endif
|
||||
std::cerr << "[FATAL] OpenFusion: setsockopt failed" << std::endl;
|
||||
printSocketError("setsockopt");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
address.sin_family = AF_INET;
|
||||
@@ -408,18 +414,6 @@ void CNServer::init() {
|
||||
CNServer::CNServer() {};
|
||||
CNServer::CNServer(uint16_t p): port(p) {}
|
||||
|
||||
bool CNServer::setSocketOption(SOCKET s, int level, int option, int value) {
|
||||
#ifdef _WIN32
|
||||
if (setsockopt(s, level, option, (const char*)&value, sizeof(value)) != 0) {
|
||||
#else
|
||||
if (setsockopt(s, level, option, &value, sizeof(value)) != 0) {
|
||||
#endif
|
||||
printSocketError("setsockopt");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void CNServer::addPollFD(SOCKET s) {
|
||||
fds.push_back({s, POLLIN});
|
||||
}
|
||||
@@ -468,9 +462,6 @@ void CNServer::start() {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!setSocketOption(newConnectionSocket, IPPROTO_TCP, TCP_NODELAY, 1))
|
||||
std::cout << "[WARN] OpenFusion: failed to set TCP_NODELAY on new connection" << std::endl;
|
||||
|
||||
if (!setSockNonblocking(sock, newConnectionSocket))
|
||||
continue;
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
// posix platform
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <poll.h>
|
||||
#include <unistd.h>
|
||||
@@ -240,7 +239,6 @@ protected:
|
||||
|
||||
bool active = true;
|
||||
|
||||
bool setSocketOption(SOCKET s, int level, int option, int value);
|
||||
void addPollFD(SOCKET s);
|
||||
void removePollFD(int i);
|
||||
|
||||
|
||||
@@ -74,9 +74,6 @@ int settings::EVENTMODE = 0;
|
||||
// race settings
|
||||
bool settings::IZRACESCORECAPPED = true;
|
||||
|
||||
// drop fixes enabled
|
||||
bool settings::DROPFIXESENABLED = false;
|
||||
|
||||
void settings::init() {
|
||||
INIReader reader("config.ini");
|
||||
|
||||
@@ -120,7 +117,6 @@ void settings::init() {
|
||||
TDATADIR = reader.Get("shard", "tdatadir", TDATADIR);
|
||||
PATCHDIR = reader.Get("shard", "patchdir", PATCHDIR);
|
||||
ENABLEDPATCHES = reader.Get("shard", "enabledpatches", ENABLEDPATCHES);
|
||||
DROPFIXESENABLED = reader.GetBoolean("shard", "dropfixesenabled", DROPFIXESENABLED);
|
||||
ACCLEVEL = reader.GetInteger("shard", "accountlevel", ACCLEVEL);
|
||||
EVENTMODE = reader.GetInteger("shard", "eventmode", EVENTMODE);
|
||||
DISABLEFIRSTUSEFLAG = reader.GetBoolean("shard", "disablefirstuseflag", DISABLEFIRSTUSEFLAG);
|
||||
@@ -130,16 +126,4 @@ void settings::init() {
|
||||
MONITORPORT = reader.GetInteger("monitor", "port", MONITORPORT);
|
||||
MONITORLISTENIP = reader.Get("monitor", "listenip", MONITORLISTENIP);
|
||||
MONITORINTERVAL = reader.GetInteger("monitor", "interval", MONITORINTERVAL);
|
||||
|
||||
if (DROPFIXESENABLED) {
|
||||
std::cout << "[INFO] Drop fixes enabled" << std::endl;
|
||||
if (ENABLEDPATCHES.empty()) {
|
||||
ENABLEDPATCHES = "0104-fixes";
|
||||
} else {
|
||||
ENABLEDPATCHES += " 0104-fixes";
|
||||
if (ENABLEDPATCHES.find("1013") != std::string::npos) {
|
||||
ENABLEDPATCHES += " 1013-fixes";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@ namespace settings {
|
||||
extern int MONITORINTERVAL;
|
||||
extern bool DISABLEFIRSTUSEFLAG;
|
||||
extern bool IZRACESCORECAPPED;
|
||||
extern bool DROPFIXESENABLED;
|
||||
|
||||
void init();
|
||||
}
|
||||
|
||||
2
tdata
2
tdata
Submodule tdata updated: d6183b484e...bdb611b092
Reference in New Issue
Block a user