Update server url + remove motd stuff

This commit is contained in:
fed 2023-10-21 15:58:48 +02:00
parent f5a6233a76
commit 4de1f4f9c7
No known key found for this signature in database
GPG Key ID: 1D2C630F04722996
5 changed files with 54 additions and 14 deletions

View File

@ -16,11 +16,11 @@ namespace motd
{ {
std::thread([] std::thread([]
{ {
auto data = utils::http::get_data("https://h1.gg/data/motd.png"); //auto data = utils::http::get_data("https://h1.gg/data/motd.png");
if (data.has_value()) //if (data.has_value())
{ //{
materials::add("motd_image", data.value().buffer); // materials::add("motd_image", data.value().buffer);
} //}
}).detach(); }).detach();
} }

View File

@ -410,7 +410,7 @@ namespace server_list
scheduler::once([]() scheduler::once([]()
{ {
// add dvars to change destination master server ip/port // add dvars to change destination master server ip/port
master_server_ip = dvars::register_string("masterServerIP", "h1.fed0001.xyz", game::DVAR_FLAG_NONE, master_server_ip = dvars::register_string("masterServerIP", "h1.fed.cat", game::DVAR_FLAG_NONE,
"IP of the destination master server to connect to"); "IP of the destination master server to connect to");
master_server_port = dvars::register_string("masterServerPort", "20810", game::DVAR_FLAG_NONE, master_server_port = dvars::register_string("masterServerPort", "20810", game::DVAR_FLAG_NONE,
"Port of the destination master server to connect to"); "Port of the destination master server to connect to");

View File

@ -14,13 +14,12 @@
#include <utils/concurrency.hpp> #include <utils/concurrency.hpp>
#include <utils/cryptography.hpp> #include <utils/cryptography.hpp>
#include <utils/http.hpp>
#include <utils/io.hpp> #include <utils/io.hpp>
#include <utils/nt.hpp> #include <utils/nt.hpp>
#include <utils/properties.hpp> #include <utils/properties.hpp>
#include <utils/string.hpp> #include <utils/string.hpp>
#define MASTER "https://master.fed0001.xyz/h1-mod/" #define MASTER "https://h1-mod.fed.cat/"
#define FILES_PATH "files.json" #define FILES_PATH "files.json"
#define FILES_PATH_DEV "files-dev.json" #define FILES_PATH_DEV "files-dev.json"
@ -162,9 +161,16 @@ namespace updater
return utils::string::va("%i", uint32_t(time(nullptr))); return utils::string::va("%i", uint32_t(time(nullptr)));
} }
std::optional<utils::http::result> download_file(const std::string& name) std::optional<utils::http::result> download_data_file(const std::string& name)
{ {
return utils::http::get_data(MASTER + select(DATA_PATH, DATA_PATH_DEV) + name + "?" + get_time_str()); const auto file = std::format("{}{}?{}", select(DATA_PATH, DATA_PATH_DEV), name, get_time_str());
return updater::get_server_file(file);
}
std::optional<utils::http::result> download_file_list()
{
const auto file = std::format("{}?{}", select(FILES_PATH, FILES_PATH_DEV), get_time_str());
return updater::get_server_file(file);
} }
bool has_old_data_files() bool has_old_data_files()
@ -301,6 +307,34 @@ namespace updater
} }
} }
std::optional<utils::http::result> get_server_file(const std::string& endpoint)
{
static std::vector<std::string> server_urls =
{
{"https://h1-mod.fed.cat/"},
{"https://master.fed0001.xyz/h1-mod/"}, // remove this at some point
};
const auto try_url = [&](const std::string& base_url)
{
const auto url = base_url + endpoint;
console::debug("[HTTP] GET file \"%s\"\n", url.data());
const auto result = utils::http::get_data(url);
return result;
};
for (const auto& url : server_urls)
{
const auto result = try_url(url);
if (result.has_value())
{
return result;
}
}
return {};
}
void relaunch() void relaunch()
{ {
const auto mode = game::environment::is_mp() ? "-multiplayer" : "-singleplayer"; const auto mode = game::environment::is_mp() ? "-multiplayer" : "-singleplayer";
@ -406,7 +440,7 @@ namespace updater
scheduler::once([]() scheduler::once([]()
{ {
const auto files_data = utils::http::get_data(MASTER + select(FILES_PATH, FILES_PATH_DEV) + "?" + get_time_str()); const auto files_data = download_file_list();
if (is_update_cancelled()) if (is_update_cancelled())
{ {
@ -546,7 +580,7 @@ namespace updater
console::debug("[Updater] downloading file %s\n", file.data()); console::debug("[Updater] downloading file %s\n", file.data());
const auto data = download_file(file); const auto data = download_data_file(file);
if (is_update_cancelled()) if (is_update_cancelled())
{ {

View File

@ -2,8 +2,12 @@
#define CLIENT_DATA_FOLDER "cdata" #define CLIENT_DATA_FOLDER "cdata"
#include <utils/http.hpp>
namespace updater namespace updater
{ {
std::optional<utils::http::result> get_server_file(const std::string& endpoint);
void relaunch(); void relaunch();
void set_has_tried_update(bool tried); void set_has_tried_update(bool tried);

View File

@ -14,7 +14,7 @@ namespace demonware
void bdMarketingComms::getMessages(service_server* server, byte_buffer* /*buffer*/) const void bdMarketingComms::getMessages(service_server* server, byte_buffer* /*buffer*/) const
{ {
auto reply = server->create_reply(this->task_id()); /*auto reply = server->create_reply(this->task_id());
const int timeout = 7; // seconds const int timeout = 7; // seconds
@ -73,6 +73,8 @@ namespace demonware
reply->add(featured2); reply->add(featured2);
} }
reply->send();*/
auto reply = server->create_reply(this->task_id());
reply->send(); reply->send();
} }