diff --git a/masterserver/web/server/index.php b/masterserver/web/server/index.php index 405988c9d..30172eec2 100644 --- a/masterserver/web/server/index.php +++ b/masterserver/web/server/index.php @@ -39,6 +39,8 @@ if ($link && $db) { die(); } $server->cleanUp(true); //Cleanup old stuff + + // register new release if (ParseINI::parseValue('oc_enable_update', $config) == 1 && isset($_REQUEST['action']) && $_REQUEST['action'] == 'release-file' && isset($_REQUEST['file']) && isset($_REQUEST['hash']) && isset($_REQUEST['new_version']) && isset($_REQUEST['platform'])) { $absolutefile = ParseINI::parseValue('oc_update_path', $config) . $_REQUEST['file']; if (file_exists($absolutefile)) { @@ -72,7 +74,8 @@ if ($link && $db) { } else { C4Network::sendAnswer(C4Network::createError('Specified file not found.')); } - } else if (isset($GLOBALS['HTTP_RAW_POST_DATA'])) { //data sent from engine? + // prepare data for the engine + } else if (isset($GLOBALS['HTTP_RAW_POST_DATA'])) { $input = $GLOBALS['HTTP_RAW_POST_DATA']; $action = ParseINI::parseValue('Action', $input); $csid = ParseINI::parseValue('CSID', $input); @@ -83,17 +86,17 @@ if ($link && $db) { switch ($action) { case 'Start': //start a new round if (ParseINI::parseValue('LeagueAddress', $reference)) { - C4Network::sendAnswer(C4Network::createError('League not supported!')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_LEAGUENOTSUPPORTED')); } else { $csid = $server->addReference($reference); if ($csid) { $answer = array('Status' => 'Success', 'CSID' => $csid); if(!testHostConn($input)) - $answer['Message'] = 'Your network failed to pass certain tests. It is unlikely that are you able to host for the public.|To fix that, you need port forwarding in your router.'; + $answer['Message'] = 'IDS_MSG_MASTERSERVNATERROR'; C4Network::sendAnswer(C4Network::createAnswer($answer)); unset($answer); } else { - C4Network::sendAnswer(C4Network::createError('Round signup failed. (To many tries?)')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MATERSERVSIGNUPFAIL')); } } break; @@ -101,26 +104,26 @@ if ($link && $db) { if ($server->updateReference($csid, $reference)) { C4Network::sendAnswer(C4Network::createAnswer(array('Status' => 'Success'))); } else { - C4Network::sendAnswer(C4Network::createError('Round update failed.')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVUPDATEFAIL')); } break; case 'End': //remove a round if ($server->removeReference($csid)) { C4Network::sendAnswer(C4Network::createAnswer(array('Status' => 'Success'))); } else { - C4Network::sendAnswer(C4Network::createError('Round end failed.')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVENDFAIL')); } break; default: if (!empty($action)) { - C4Network::sendAnswer(C4Network::createError('Unknown action.')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVNOOP')); } else { - C4Network::sendAnswer(C4Network::createError('No action defined.')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVNOOP')); } break; } } else { - C4Network::sendAnswer(C4Network::createError('Wrong engine, "' . ParseINI::parseValue('Game', $input) . '" expected.')); + C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVWRONGENGINE')); } } else { //list availabe games $list = array(); diff --git a/planet/System.ocg/LanguageDE.txt b/planet/System.ocg/LanguageDE.txt index 6efc2987a..046bbacec 100644 --- a/planet/System.ocg/LanguageDE.txt +++ b/planet/System.ocg/LanguageDE.txt @@ -538,6 +538,13 @@ IDS_MSG_KICKFROMCLIENTLIST=Rausgeworfen über die Clientliste IDS_MSG_KICKFROMLOBBY=Rausgeworfen aus der Lobby IDS_MSG_KICKFROMMSGBOARD=Rausgeworfen über die Konsole IDS_MSG_KICKFROMSTARTUPDLG=Rausgeworfen aus dem Startwartedialog +IDS_MSG_LEAGUENOTSUPPORTED=Der Masterserver unterstützt keine Liga. +IDS_MSG_MASTERSERVNATERROR=Es wurde festgestellt, dass aus deinem Netzwerk höchstwahrscheinlich keine Internetspiele gehostet werden können.|Um dies zu beheben, müssen bestimmte Ports an deinem Router freigeschaltet werden. Siehe dazu unsere FAQ für weitere Informationen. +IDS_MSG_MASTERSERVSIGNUPFAIL=Anmelden der Runde am Mastererver fehlgeschlagen. +IDS_MSG_MASTERSERVUPDATEFAIL=Aktualisierung der Runde am Masterserver fehlgeschlagen. +IDS_MSG_MASTERSERVENDFAIL=Dem Masterserver konnte nicht mitgeteilt werden, dass die Runde zuende beendet wurde. +IDS_MSG_MASTERSERVNOOP=Der Masterserver unterstützt diese Operation nicht. +IDS_MSG_MASTERSERVWRONGENGINE=Falsche Engine. IDS_MSG_LEAGUEEVALUATIONSUCCESSFU=Ligaspiel erfolgreich ausgewertet. IDS_MSG_LEAGUEGAMESIGNUP=Spiel bei Ligaserver %s angemeldet:|%s IDS_MSG_LEAGUEINVALIDUSERNAME=Der Benutzername enthält ungültige Zeichen. diff --git a/planet/System.ocg/LanguageUS.txt b/planet/System.ocg/LanguageUS.txt index ec7b731c5..88e474efb 100644 --- a/planet/System.ocg/LanguageUS.txt +++ b/planet/System.ocg/LanguageUS.txt @@ -538,6 +538,13 @@ IDS_MSG_KICKFROMCLIENTLIST=kicked from client list IDS_MSG_KICKFROMLOBBY=kicked from lobby IDS_MSG_KICKFROMMSGBOARD=kicked from messageboard IDS_MSG_KICKFROMSTARTUPDLG=kicked from startup waiting dialog +IDS_MSG_LEAGUENOTSUPPORTED=League not supported by masterserver. +IDS_MSG_MASTERSERVNATERROR=Your network failed to pass certain tests. It is unlikely that you are able to host games in the internet.|To fix that, you need to forward the certain ports on your router. Refer to the FAQ on our website for more information. +IDS_MSG_MASTERSERVSIGNUPFAIL=Round signup at the masterserver failed. +IDS_MSG_MASTERSERVUPDATEFAIL=Round update at the masterserver failed. +IDS_MSG_MASTERSERVENDFAIL=Round end notification at the masterserver failed. +IDS_MSG_MASTERSERVNOOP=Operation not supported by the masterserver. +IDS_MSG_MASTERSERVWRONGENGINE=Wrong engine. IDS_MSG_LEAGUEEVALUATIONSUCCESSFU=League: evaluation successful. IDS_MSG_LEAGUEGAMESIGNUP=Game signed up at league server %s:|%s IDS_MSG_LEAGUEINVALIDUSERNAME=The user name contains invalid characters. diff --git a/src/network/C4Network2.cpp b/src/network/C4Network2.cpp index 5a70d5e24..5e87035b6 100644 --- a/src/network/C4Network2.cpp +++ b/src/network/C4Network2.cpp @@ -2022,7 +2022,7 @@ bool C4Network2::LeagueStart(bool *pCancel) !pLeagueClient->GetStartReply(&LeagueServerMessage, &League, &StreamingAddr, &Seed, &MaxPlayersLeague)) { const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() : - LeagueServerMessage.getLength() ? LeagueServerMessage.getData() : + LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) : LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY"); StdStrBuf Message = FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_REGGAME"), pError); // Log message @@ -2046,7 +2046,7 @@ bool C4Network2::LeagueStart(bool *pCancel) // Show message if (LeagueServerMessage.getLength()) { - StdStrBuf Message = FormatString(LoadResStr("IDS_MSG_LEAGUEGAMESIGNUP"), pLeagueClient->getServerName(), LeagueServerMessage.getData()); + StdStrBuf Message = FormatString(LoadResStr("IDS_MSG_LEAGUEGAMESIGNUP"), pLeagueClient->getServerName(), LoadResStr(LeagueServerMessage.getData())); // Log message Log(Message.getData()); // Show message @@ -2132,7 +2132,7 @@ bool C4Network2::LeagueUpdateProcessReply() if (!fSucc) { const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() : - LeagueServerMessage.getLength() ? LeagueServerMessage.getData() : + LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) : LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY"); StdStrBuf Message = FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_UPDATEGAME"), pError); // Show message - no dialog, because it's not really fatal and might happen in the running game @@ -2210,7 +2210,7 @@ bool C4Network2::LeagueEnd(const char *szRecordName, const BYTE *pRecordSHA) if (!pLeagueClient->isSuccess() || !pLeagueClient->GetEndReply(&LeagueServerMessage, &RoundResults)) { const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() : - LeagueServerMessage.getLength() ? LeagueServerMessage.getData() : + LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) : LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY"); sResultMessage.Take(FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_SENDRESULT"), pError)); if (Application.isEditor) continue; @@ -2360,7 +2360,7 @@ bool C4Network2::LeaguePlrAuth(C4PlayerInfo *pInfo) bool fSuccess; if (Message.getLength()) fSuccess = ::pGUI->ShowMessageModal( - Message.getData(), LoadResStr("IDS_DLG_LEAGUESIGNUPCONFIRM"), + LoadResStr(Message.getData()), LoadResStr("IDS_DLG_LEAGUESIGNUPCONFIRM"), C4GUI::MessageDialog::btnOKAbort, C4GUI::Ico_Ex_League); else if (AccountMaster.getLength()) fSuccess = ::pGUI->ShowMessageModal( @@ -2446,7 +2446,7 @@ bool C4Network2::LeaguePlrAuthCheck(C4PlayerInfo *pInfo) // Check if league server approves. pInfo will have league info if this call is successful. if (!pLeagueClient->GetAuthCheckReply(&Message, Game.Parameters.League.getData(), pInfo)) { - LeagueShowError(FormatString(LoadResStr("IDS_MSG_LEAGUEJOINREFUSED"), pInfo->GetName(), Message.getData()).getData()); + LeagueShowError(FormatString(LoadResStr("IDS_MSG_LEAGUEJOINREFUSED"), pInfo->GetName(), LoadResStr(Message.getData())).getData()); return false; } @@ -2481,7 +2481,7 @@ void C4Network2::LeagueNotifyDisconnect(int32_t iClientID, C4LeagueDisconnectRea szMsg = LoadResStr("IDS_MSG_LEAGUEUNEXPECTEDDISCONNEC"); else szMsg = LoadResStr("IDS_ERR_LEAGUEERRORREPORTINGUNEXP"); - LogF(szMsg, sMessage.getData()); + LogF(szMsg, LoadResStr(sMessage.getData())); } void C4Network2::LeagueWaitNotBusy()