[Dedicated] Add 'unused' dedicated server code cause it's actually used
Removing it breaks the ZoneBuilder @TheApadayo!
This commit is contained in:
parent
280830274c
commit
20b8c1cec4
@ -297,7 +297,7 @@ namespace Components
|
|||||||
Dvar::Register<bool>("sv_dontrotate", false, Game::dvar_flag::DVAR_FLAG_CHEAT, "");
|
Dvar::Register<bool>("sv_dontrotate", false, Game::dvar_flag::DVAR_FLAG_CHEAT, "");
|
||||||
Dvar::Register<bool>("com_logFilter", true, Game::dvar_flag::DVAR_FLAG_LATCHED, "Removes ~95% of unneeded lines from the log");
|
Dvar::Register<bool>("com_logFilter", true, Game::dvar_flag::DVAR_FLAG_LATCHED, "Removes ~95% of unneeded lines from the log");
|
||||||
|
|
||||||
if (Dedicated::IsEnabled())
|
if (Dedicated::IsEnabled() || ZoneBuilder::IsEnabled())
|
||||||
{
|
{
|
||||||
// Make sure all callbacks are handled
|
// Make sure all callbacks are handled
|
||||||
Scheduler::OnFrame(Steam::SteamAPI_RunCallbacks);
|
Scheduler::OnFrame(Steam::SteamAPI_RunCallbacks);
|
||||||
@ -379,124 +379,127 @@ namespace Components
|
|||||||
Utils::Hook(0x62737D, Dedicated::TimeWrapStub, HOOK_CALL).install()->quick();
|
Utils::Hook(0x62737D, Dedicated::TimeWrapStub, HOOK_CALL).install()->quick();
|
||||||
//Utils::Hook::Set<DWORD>(0x62735C, 50'000); // Time wrap after 50 seconds (for testing - i don't want to wait 3 weeks)
|
//Utils::Hook::Set<DWORD>(0x62735C, 50'000); // Time wrap after 50 seconds (for testing - i don't want to wait 3 weeks)
|
||||||
|
|
||||||
// Post initialization point
|
if (!ZoneBuilder::IsEnabled())
|
||||||
Utils::Hook(0x60BFBF, Dedicated::PostInitializationStub, HOOK_JUMP).install()->quick();
|
|
||||||
|
|
||||||
// Transmit custom data
|
|
||||||
Scheduler::OnFrame([]()
|
|
||||||
{
|
{
|
||||||
static Utils::Time::Interval interval;
|
// Post initialization point
|
||||||
if (interval.elapsed(10s))
|
Utils::Hook(0x60BFBF, Dedicated::PostInitializationStub, HOOK_JUMP).install()->quick();
|
||||||
{
|
|
||||||
interval.update();
|
|
||||||
|
|
||||||
CardTitles::SendCustomTitlesToClients();
|
// Transmit custom data
|
||||||
//Clantags::SendClantagsToClients();
|
Scheduler::OnFrame([]()
|
||||||
}
|
{
|
||||||
});
|
static Utils::Time::Interval interval;
|
||||||
|
if (interval.elapsed(10s))
|
||||||
|
{
|
||||||
|
interval.update();
|
||||||
|
|
||||||
|
CardTitles::SendCustomTitlesToClients();
|
||||||
|
//Clantags::SendClantagsToClients();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
#ifdef USE_LEGACY_SERVER_LIST
|
#ifdef USE_LEGACY_SERVER_LIST
|
||||||
// Heartbeats
|
// Heartbeats
|
||||||
Scheduler::Once(Dedicated::Heartbeat);
|
Scheduler::Once(Dedicated::Heartbeat);
|
||||||
Scheduler::OnFrame([] ()
|
Scheduler::OnFrame([]()
|
||||||
{
|
|
||||||
static Utils::Time::Interval interval;
|
|
||||||
|
|
||||||
if (Dvar::Var("sv_maxclients").get<int>() > 0 && interval.elapsed(2min))
|
|
||||||
{
|
{
|
||||||
interval.update();
|
static Utils::Time::Interval interval;
|
||||||
Dedicated::Heartbeat();
|
|
||||||
}
|
if (Dvar::Var("sv_maxclients").get<int>() > 0 && interval.elapsed(2min))
|
||||||
});
|
{
|
||||||
|
interval.update();
|
||||||
|
Dedicated::Heartbeat();
|
||||||
|
}
|
||||||
|
});
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Dvar::OnInit([] ()
|
Dvar::OnInit([]()
|
||||||
{
|
|
||||||
Dvar::Register<const char*>("sv_sayName", "^7Console", Game::dvar_flag::DVAR_FLAG_NONE, "The name to pose as for 'say' commands");
|
|
||||||
Dvar::Register<const char*>("sv_motd", "", Game::dvar_flag::DVAR_FLAG_NONE, "A custom message of the day for servers");
|
|
||||||
|
|
||||||
// Say command
|
|
||||||
Command::AddSV("say", [] (Command::Params* params)
|
|
||||||
{
|
{
|
||||||
if (params->length() < 2) return;
|
Dvar::Register<const char*>("sv_sayName", "^7Console", Game::dvar_flag::DVAR_FLAG_NONE, "The name to pose as for 'say' commands");
|
||||||
|
Dvar::Register<const char*>("sv_motd", "", Game::dvar_flag::DVAR_FLAG_NONE, "A custom message of the day for servers");
|
||||||
|
|
||||||
std::string message = params->join(1);
|
// Say command
|
||||||
std::string name = Dvar::Var("sv_sayName").get<std::string>();
|
Command::AddSV("say", [](Command::Params* params)
|
||||||
|
|
||||||
if (!name.empty())
|
|
||||||
{
|
{
|
||||||
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"%s: %s\"", 104, name.data(), message.data()));
|
if (params->length() < 2) return;
|
||||||
Game::Com_Printf(15, "%s: %s\n", name.data(), message.data());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"Console: %s\"", 104, message.data()));
|
|
||||||
Game::Com_Printf(15, "Console: %s\n", message.data());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Tell command
|
std::string message = params->join(1);
|
||||||
Command::AddSV("tell", [] (Command::Params* params)
|
std::string name = Dvar::Var("sv_sayName").get<std::string>();
|
||||||
{
|
|
||||||
if (params->length() < 3) return;
|
|
||||||
|
|
||||||
int client = atoi(params->get(1));
|
if (!name.empty())
|
||||||
std::string message = params->join(2);
|
|
||||||
std::string name = Dvar::Var("sv_sayName").get<std::string>();
|
|
||||||
|
|
||||||
if (!name.empty())
|
|
||||||
{
|
|
||||||
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"%s: %s\"", 104, name.data(), message.data()));
|
|
||||||
Game::Com_Printf(15, "%s -> %i: %s\n", name.data(), client, message.data());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"Console: %s\"", 104, message.data()));
|
|
||||||
Game::Com_Printf(15, "Console -> %i: %s\n", client, message.data());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Sayraw command
|
|
||||||
Command::AddSV("sayraw", [] (Command::Params* params)
|
|
||||||
{
|
|
||||||
if (params->length() < 2) return;
|
|
||||||
|
|
||||||
std::string message = params->join(1);
|
|
||||||
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"%s\"", 104, message.data()));
|
|
||||||
Game::Com_Printf(15, "Raw: %s\n", message.data());
|
|
||||||
});
|
|
||||||
|
|
||||||
// Tellraw command
|
|
||||||
Command::AddSV("tellraw", [] (Command::Params* params)
|
|
||||||
{
|
|
||||||
if (params->length() < 3) return;
|
|
||||||
|
|
||||||
int client = atoi(params->get(1));
|
|
||||||
std::string message = params->join(2);
|
|
||||||
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"%s\"", 104, message.data()));
|
|
||||||
Game::Com_Printf(15, "Raw -> %i: %s\n", client, message.data());
|
|
||||||
});
|
|
||||||
|
|
||||||
// ! command
|
|
||||||
Command::AddSV("!", [] (Command::Params* params)
|
|
||||||
{
|
|
||||||
if (params->length() != 2) return;
|
|
||||||
|
|
||||||
int client = -1;
|
|
||||||
if (params->get(1) != "all"s)
|
|
||||||
{
|
|
||||||
client = atoi(params->get(1));
|
|
||||||
|
|
||||||
if (client >= *reinterpret_cast<int*>(0x31D938C))
|
|
||||||
{
|
{
|
||||||
Game::Com_Printf(0, "Invalid player.\n");
|
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"%s: %s\"", 104, name.data(), message.data()));
|
||||||
return;
|
Game::Com_Printf(15, "%s: %s\n", name.data(), message.data());
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
|
{
|
||||||
|
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"Console: %s\"", 104, message.data()));
|
||||||
|
Game::Com_Printf(15, "Console: %s\n", message.data());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"\"", 106));
|
// Tell command
|
||||||
|
Command::AddSV("tell", [](Command::Params* params)
|
||||||
|
{
|
||||||
|
if (params->length() < 3) return;
|
||||||
|
|
||||||
|
int client = atoi(params->get(1));
|
||||||
|
std::string message = params->join(2);
|
||||||
|
std::string name = Dvar::Var("sv_sayName").get<std::string>();
|
||||||
|
|
||||||
|
if (!name.empty())
|
||||||
|
{
|
||||||
|
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"%s: %s\"", 104, name.data(), message.data()));
|
||||||
|
Game::Com_Printf(15, "%s -> %i: %s\n", name.data(), client, message.data());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"Console: %s\"", 104, message.data()));
|
||||||
|
Game::Com_Printf(15, "Console -> %i: %s\n", client, message.data());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Sayraw command
|
||||||
|
Command::AddSV("sayraw", [](Command::Params* params)
|
||||||
|
{
|
||||||
|
if (params->length() < 2) return;
|
||||||
|
|
||||||
|
std::string message = params->join(1);
|
||||||
|
Game::SV_GameSendServerCommand(-1, 0, Utils::String::VA("%c \"%s\"", 104, message.data()));
|
||||||
|
Game::Com_Printf(15, "Raw: %s\n", message.data());
|
||||||
|
});
|
||||||
|
|
||||||
|
// Tellraw command
|
||||||
|
Command::AddSV("tellraw", [](Command::Params* params)
|
||||||
|
{
|
||||||
|
if (params->length() < 3) return;
|
||||||
|
|
||||||
|
int client = atoi(params->get(1));
|
||||||
|
std::string message = params->join(2);
|
||||||
|
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"%s\"", 104, message.data()));
|
||||||
|
Game::Com_Printf(15, "Raw -> %i: %s\n", client, message.data());
|
||||||
|
});
|
||||||
|
|
||||||
|
// ! command
|
||||||
|
Command::AddSV("!", [](Command::Params* params)
|
||||||
|
{
|
||||||
|
if (params->length() != 2) return;
|
||||||
|
|
||||||
|
int client = -1;
|
||||||
|
if (params->get(1) != "all"s)
|
||||||
|
{
|
||||||
|
client = atoi(params->get(1));
|
||||||
|
|
||||||
|
if (client >= *reinterpret_cast<int*>(0x31D938C))
|
||||||
|
{
|
||||||
|
Game::Com_Printf(0, "Invalid player.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::SV_GameSendServerCommand(client, 0, Utils::String::VA("%c \"\"", 106));
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user