aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/networkmanager.h7
-rw-r--r--src/aooptionsdialog.cpp5
-rw-r--r--src/networkmanager.cpp12
3 files changed, 14 insertions, 10 deletions
diff --git a/include/networkmanager.h b/include/networkmanager.h
index 2e61291f..1e1a60b7 100644
--- a/include/networkmanager.h
+++ b/include/networkmanager.h
@@ -22,15 +22,16 @@ class NetworkManager : public QObject {
Q_OBJECT
public:
- NetworkManager(AOApplication *parent);
- ~NetworkManager();
+ explicit NetworkManager(AOApplication *parent);
+ ~NetworkManager() = default;
AOApplication *ao_app;
QNetworkAccessManager *http;
QTcpSocket *server_socket;
QTimer *heartbeat_timer;
- QString ms_baseurl = "https://servers.aceattorneyonline.com";
+ const QString DEFAULT_MS_BASEURL = "https://servers.aceattorneyonline.com";
+ QString ms_baseurl = DEFAULT_MS_BASEURL;
const int heartbeat_interval = 60 * 5;
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp
index 5fd80b70..589bc924 100644
--- a/src/aooptionsdialog.cpp
+++ b/src/aooptionsdialog.cpp
@@ -382,10 +382,9 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
row += 1;
ui_ms_lbl = new QLabel(ui_form_layout_widget);
- ui_ms_lbl->setText(tr("Backup MS:"));
+ ui_ms_lbl->setText(tr("Alternate Server List:"));
ui_ms_lbl->setToolTip(
- tr("If the built-in server lookups fail, the game will try the "
- "address given here and use it as a backup master server address."));
+ tr("Overrides the base URL to retrieve server information from."));
ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_ms_lbl);
diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp
index c1e8480f..4c823852 100644
--- a/src/networkmanager.cpp
+++ b/src/networkmanager.cpp
@@ -23,15 +23,15 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent)
QString master_config =
ao_app->configini->value("master", "").value<QString>();
- if (!master_config.isEmpty())
+ if (!master_config.isEmpty() && QUrl(master_config).scheme().startsWith("http")) {
+ qInfo() << "using alternate master server" << master_config;
ms_baseurl = master_config;
+ }
connect(heartbeat_timer, &QTimer::timeout, this, &NetworkManager::send_heartbeat);
heartbeat_timer->start(heartbeat_interval);
}
-NetworkManager::~NetworkManager() {}
-
void NetworkManager::get_server_list(const std::function<void()> &cb)
{
QNetworkRequest req(QUrl(ms_baseurl + "/servers"));
@@ -120,7 +120,8 @@ void NetworkManager::request_document(MSDocumentType document_type,
<< "Failed to get " << endpoint << " (" << reply->errorString() << ") "
<< "(http status " << http_status << ")";
content = QString();
- } cb(content);
+ }
+ cb(content);
reply->deleteLater();
});
}
@@ -130,6 +131,9 @@ void NetworkManager::connect_to_server(server_type p_server)
server_socket->close();
server_socket->abort();
+ qInfo().nospace().noquote() << "connecting to " << p_server.ip << ":"
+ << p_server.port;
+
server_socket->connectToHost(p_server.ip, p_server.port);
}