mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
* [Bots] Cleanup and remove preprocessors. - Removes every `#ifdef BOTS` we have and locks bots behind `Bots:AllowBots` rule. - Bot updates are now done by default similar to regular database updates. - Modify `CMakeLists.txt`, `.drone.yml`, and `BUILD.md` to match the removal of `EQEMU_ENABLE_BOTS`. * Cleanup - Add SQL for enabling bots for servers with bots. - Add message that tells players/operators bots are disabled. * Suggested changes. * Bot injection stuff * Change SQL to bot SQL. * Tweaks * Remove `is_bot` * Update version.h * Update main.cpp * Update database.cpp * Fix name availability crash * Remove bots from update script Co-authored-by: Akkadius <akkadius1@gmail.com>
141 lines
3.6 KiB
C++
141 lines
3.6 KiB
C++
#include "path_manager.h"
|
|
#include "file.h"
|
|
#include "eqemu_logsys.h"
|
|
#include "eqemu_config.h"
|
|
#include "strings.h"
|
|
|
|
#include <filesystem>
|
|
namespace fs = std::filesystem;
|
|
|
|
inline std::string striptrailingslash(const std::string &file_path)
|
|
{
|
|
if (file_path.back() == '/' || file_path.back() == '\\') {
|
|
return file_path.substr(0, file_path.length() - 1);
|
|
}
|
|
|
|
return file_path;
|
|
}
|
|
|
|
void PathManager::LoadPaths()
|
|
{
|
|
m_server_path = File::FindEqemuConfigPath();
|
|
|
|
if (!m_server_path.empty()) {
|
|
std::filesystem::current_path(m_server_path);
|
|
}
|
|
|
|
if (m_server_path.empty()) {
|
|
LogInfo("Failed to load server path");
|
|
return;
|
|
}
|
|
|
|
LogInfo("server [{}]", m_server_path);
|
|
|
|
if (!EQEmuConfig::LoadConfig()) {
|
|
LogError("Failed to load eqemu config");
|
|
return;
|
|
}
|
|
|
|
const auto c = EQEmuConfig::get();
|
|
|
|
// maps
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->MapDir}.string())) {
|
|
m_maps_path = fs::relative(fs::path{m_server_path + "/" + c->MapDir}).string();
|
|
}
|
|
else if (File::Exists(fs::path{m_server_path + "/maps"}.string())) {
|
|
m_maps_path = fs::relative(fs::path{m_server_path + "/maps"}).string();
|
|
}
|
|
else if (File::Exists(fs::path{m_server_path + "/Maps"}.string())) {
|
|
m_maps_path = fs::relative(fs::path{m_server_path + "/Maps"}).string();
|
|
}
|
|
|
|
// quests
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->QuestDir}.string())) {
|
|
m_quests_path = fs::relative(fs::path{m_server_path + "/" + c->QuestDir}).string();
|
|
}
|
|
|
|
// plugins
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->PluginDir}.string())) {
|
|
m_plugins_path = fs::relative(fs::path{m_server_path + "/" + c->PluginDir}).string();
|
|
}
|
|
|
|
// lua_modules
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->LuaModuleDir}.string())) {
|
|
m_lua_modules_path = fs::relative(fs::path{m_server_path + "/" + c->LuaModuleDir}).string();
|
|
}
|
|
|
|
// lua mods
|
|
if (File::Exists(fs::path{ m_server_path + "/mods" }.string())) {
|
|
m_lua_mods_path = fs::relative(fs::path{ m_server_path + "/mods" }).string();
|
|
}
|
|
|
|
// patches
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->PatchDir}.string())) {
|
|
m_patch_path = fs::relative(fs::path{m_server_path + "/" + c->PatchDir}).string();
|
|
}
|
|
|
|
// shared_memory_path
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->SharedMemDir}.string())) {
|
|
m_shared_memory_path = fs::relative(fs::path{ m_server_path + "/" + c->SharedMemDir }).string();
|
|
}
|
|
|
|
// logging path
|
|
if (File::Exists(fs::path{m_server_path + "/" + c->LogDir}.string())) {
|
|
m_log_path = fs::relative(fs::path{m_server_path + "/" + c->LogDir}).string();
|
|
}
|
|
|
|
LogInfo("logs path [{}]", m_log_path);
|
|
LogInfo("lua mods path [{}]", m_lua_mods_path);
|
|
LogInfo("lua_modules path [{}]", m_lua_modules_path);
|
|
LogInfo("maps path [{}]", m_maps_path);
|
|
LogInfo("patches path [{}]", m_patch_path);
|
|
LogInfo("plugins path [{}]", m_plugins_path);
|
|
LogInfo("quests path [{}]", m_quests_path);
|
|
LogInfo("shared_memory path [{}]", m_shared_memory_path);
|
|
}
|
|
|
|
const std::string &PathManager::GetServerPath() const
|
|
{
|
|
return m_server_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetMapsPath() const
|
|
{
|
|
return m_maps_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetQuestsPath() const
|
|
{
|
|
return m_quests_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetPluginsPath() const
|
|
{
|
|
return m_plugins_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetSharedMemoryPath() const
|
|
{
|
|
return m_shared_memory_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetLogPath() const
|
|
{
|
|
return m_log_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetPatchPath() const
|
|
{
|
|
return m_patch_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetLuaModulesPath() const
|
|
{
|
|
return m_lua_modules_path;
|
|
}
|
|
|
|
const std::string &PathManager::GetLuaModsPath() const
|
|
{
|
|
return m_lua_mods_path;
|
|
}
|