1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00

Merge pull request #970 from Nordsoft91/srv-healthcheck

Add simple server healthcheck
This commit is contained in:
Andrii Danylchenko 2022-09-23 14:00:45 +03:00 committed by GitHub
commit 1c62f9db1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 12 deletions

View File

@ -17,6 +17,7 @@
#include "lobby/CSelectionBase.h"
#include "lobby/CLobbyScreen.h"
#include "windows/InfoWindows.h"
#include "mainmenu/CMainMenu.h"
@ -161,6 +162,20 @@ void CServerHandler::startLocalServerAndConnect()
threadRunLocalServer->join();
th->update();
auto errorMsg = CGI->generaltexth->localizedTexts["server"]["errors"]["existingProcess"].String();
try
{
CConnection testConnection(settings["server"]["server"].String(), getDefaultPort(), NAME, uuid);
logNetwork->error("Port is busy, check if another instance of vcmiserver is working");
CInfoWindow::showInfoDialog(errorMsg, {});
return;
}
catch(...)
{
//no connection means that port is not busy and we can start local server
}
#ifdef VCMI_ANDROID
{
CAndroidVMHelper envHelper;

View File

@ -27,6 +27,13 @@
"spellUnknownProblem": "Unknown problem with this spell, no more information available.",
"playerAttacked" : "Player has been attacked: %s"
},
"server" :
{
"errors" :
{
"existingProcess" : "Another vcmiserver process is running, please terminate it first"
}
},
"systemOptions" :
{
"fullscreenButton" :
@ -67,18 +74,18 @@
"allOf" : "All of the following:",
"noneOf" : "None of the following:"
},
"heroWindow":
{
"openCommander":
{
"label": "Open commander window",
"help": "Displays information about commander of this hero"
}
},
"commanderWindow":
{
"artifactMessage": "Do you want to give this artifact back to hero?"
},
"heroWindow" :
{
"openCommander" :
{
"label" : "Open commander window",
"help" : "Displays information about commander of this hero"
}
},
"commanderWindow":
{
"artifactMessage": "Do you want to give this artifact back to hero?"
},
"creatureWindow" :
{
"showBonuses" :