diff --git a/mk/linux/glest.ini b/mk/linux/glest.ini index 34cf1ad1..1066f725 100644 --- a/mk/linux/glest.ini +++ b/mk/linux/glest.ini @@ -64,7 +64,6 @@ MasterServerExternalPortList=61357,61367,61377,61387,61397,80,1080,8000,8080,443 NetPlayerName=newbie NetworkConsistencyChecks=true PhotoMode=false -PortExternal=0 PortList=61357,61367,61377,61387,61397 PortServer=61357 RefreshFrequency=75 diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index eff986c1..01e715ca 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -201,8 +201,8 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, ipText += ip; } } - string externalPort=config.getString("PortExternal", intToStr(GameConstants::serverPort).c_str()); string serverPort=config.getString("PortServer", intToStr(GameConstants::serverPort).c_str()); + string externalPort=config.getString("PortExternal", serverPort.c_str()); labelLocalIP.setText(lang.get("LanIP") + ipText + " ( "+serverPort+" / "+externalPort+" )"); ServerSocket::setExternalPort(strToInt(externalPort)); @@ -738,8 +738,9 @@ void MenuStateCustomGame::reloadUI() { ipText += ip; } } - string externalPort=config.getString("PortExternal", intToStr(GameConstants::serverPort).c_str()); string serverPort=config.getString("PortServer", intToStr(GameConstants::serverPort).c_str()); + string externalPort=config.getString("PortExternal", serverPort.c_str()); + labelLocalIP.setText(lang.get("LanIP") + ipText + " ( "+serverPort+" / "+externalPort+" )"); labelMap.setText(lang.get("Map")+":"); @@ -2859,8 +2860,9 @@ void MenuStateCustomGame::publishToMasterserver() { publishToServerInfo["networkSlots"] = intToStr(slotCountHumans); publishToServerInfo["connectedClients"] = intToStr(slotCountConnectedPlayers); - string externalport = config.getString("PortExternal", intToStr(GameConstants::serverPort).c_str()); - publishToServerInfo["externalconnectport"] = externalport; + string serverPort=config.getString("PortServer", intToStr(GameConstants::serverPort).c_str()); + string externalPort=config.getString("PortExternal", serverPort.c_str()); + publishToServerInfo["externalconnectport"] = externalPort; publishToServerInfo["privacyPlease"] = intToStr(config.getBool("PrivacyPlease","false")); publishToServerInfo["gameStatus"] = intToStr(game_status_waiting_for_players); diff --git a/source/glest_game/menu/menu_state_options.cpp b/source/glest_game/menu/menu_state_options.cpp index 0fd9eb72..66068110 100644 --- a/source/glest_game/menu/menu_state_options.cpp +++ b/source/glest_game/menu/menu_state_options.cpp @@ -446,23 +446,6 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelServerPortLabel.registerGraphicComponent(containerName,"labelServerPortLabel"); labelServerPortLabel.init(currentLabelStart,currentLine); labelServerPortLabel.setText(lang.get("ServerPort")); - labelServerPort.init(currentColumnStart,currentLine); - string port=intToStr(config.getInt("PortServer")); - if(port != intToStr(GameConstants::serverPort)){ - port=port +" ("+lang.get("NonStandardPort")+"!!)"; - } - else{ - port=port +" ("+lang.get("StandardPort")+")"; - } - - labelServerPort.setText(port); - - // external server port - currentLine-=lineOffset; - - labelPublishServerExternalPort.registerGraphicComponent(containerName,"labelPublishServerExternalPort"); - labelPublishServerExternalPort.init(currentLabelStart, currentLine, 150); - labelPublishServerExternalPort.setText(lang.get("PublishServerExternalPort")); listBoxServerPort.registerGraphicComponent(containerName,"listBoxPublishServerExternalPort"); listBoxServerPort.init(currentColumnStart, currentLine, 170); @@ -471,19 +454,35 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): std::vector portList; Tokenize(portListString,portList,","); - string currentPort=config.getString("PortExternal", intToStr(GameConstants::serverPort).c_str()); - int masterServerExternalPortSelectionIndex=0; + string currentPort=config.getString("PortServer", intToStr(GameConstants::serverPort).c_str()); + int portSelectionIndex=0; for(int idx = 0; idx < portList.size(); idx++) { if(portList[idx] != "" && IsNumeric(portList[idx].c_str(),false)) { listBoxServerPort.pushBackItem(portList[idx]); if(currentPort==portList[idx]) { - masterServerExternalPortSelectionIndex=idx; + portSelectionIndex=idx; } } } - listBoxServerPort.setSelectedItemIndex(masterServerExternalPortSelectionIndex); + listBoxServerPort.setSelectedItemIndex(portSelectionIndex); + // external server port + currentLine-=lineOffset; + labelPublishServerExternalPort.registerGraphicComponent(containerName,"labelPublishServerExternalPort"); + labelPublishServerExternalPort.init(currentLabelStart, currentLine, 150); + labelPublishServerExternalPort.setText(lang.get("PublishServerExternalPort")); + + labelExternalPort.init(currentColumnStart,currentLine); + string extPort= config.getString("PortExternal","not set"); + if(extPort == "not set" || extPort == "0"){ + extPort=" --- "; + } + else{ + extPort="!!! "+extPort+" !!!"; + } + + labelExternalPort.setText(extPort); currentLine-=lineOffset; // FTP Config - start labelEnableFTP.registerGraphicComponent(containerName,"labelEnableFTP"); @@ -694,7 +693,7 @@ void MenuStateOptions::reloadUI() { port = port +" ("+lang.get("StandardPort")+")"; } - labelServerPort.setText(port); + labelExternalPort.setText(port); labelPublishServerExternalPort.setText(lang.get("PublishServerExternalPort")); @@ -870,7 +869,7 @@ void MenuStateOptions::mouseClick(int x, int y, MouseButton mouseButton){ // use the following ports for ftp char szBuf[1024]=""; sprintf(szBuf,"%d - %d",selectedPort + 1, selectedPort + GameConstants::maxPlayers); - labelFTPServerPort.setText(intToStr(selectedPort)); + labelFTPServerPort.setText(intToStr(selectedPort+1)); labelFTPServerDataPorts.setText(szBuf); } @@ -1054,7 +1053,7 @@ void MenuStateOptions::render(){ renderer.renderLabel(&labelScreenModes); renderer.renderListBox(&listBoxScreenModes); renderer.renderLabel(&labelServerPortLabel); - renderer.renderLabel(&labelServerPort); + renderer.renderLabel(&labelExternalPort); renderer.renderListBox(&listFontSizeAdjustment); renderer.renderLabel(&labelFontSizeAdjustment); renderer.renderLabel(&labelFullscreenWindowed); @@ -1150,8 +1149,8 @@ void MenuStateOptions::saveConfig(){ config.setString("FontSizeAdjustment", listFontSizeAdjustment.getSelectedItem()); CoreData::getInstance().getMenuMusic()->setVolume(strToInt(listBoxVolumeMusic.getSelectedItem())/100.f); config.setString("SoundVolumeMusic", listBoxVolumeMusic.getSelectedItem()); - config.setString("PortExternal", listBoxServerPort.getSelectedItem()); - config.setInt("FTPServerPort",config.getInt("PortExternal")+1); + config.setString("PortServer", listBoxServerPort.getSelectedItem()); + config.setInt("FTPServerPort",config.getInt("PortServer")+1); config.setBool("EnableFTPXfer", checkBoxEnableFTP.getValue()); config.setBool("EnableFTPServer", checkBoxEnableFTPServer.getValue()); diff --git a/source/glest_game/menu/menu_state_options.h b/source/glest_game/menu/menu_state_options.h index 194f1cba..3bb4eda6 100644 --- a/source/glest_game/menu/menu_state_options.h +++ b/source/glest_game/menu/menu_state_options.h @@ -55,7 +55,7 @@ private: GraphicLabel labelPlayerName; GraphicLabel labelPlayerNameLabel; GraphicLabel *activeInputLabel; - GraphicLabel labelServerPort; + GraphicLabel labelExternalPort; GraphicLabel labelServerPortLabel; diff --git a/source/glest_game/network/server_interface.cpp b/source/glest_game/network/server_interface.cpp index ba4af6b2..3c5226d7 100644 --- a/source/glest_game/network/server_interface.cpp +++ b/source/glest_game/network/server_interface.cpp @@ -2424,8 +2424,9 @@ std::map ServerInterface::publishToMasterserver() { publishToServerInfo["activeSlots"] = intToStr(slotCountUsed); publishToServerInfo["networkSlots"] = intToStr(slotCountHumans); publishToServerInfo["connectedClients"] = intToStr(slotCountConnectedPlayers); - string externalport = config.getString("PortExternal", intToStr(GameConstants::serverPort).c_str()); - publishToServerInfo["externalconnectport"] = externalport; + string serverPort=config.getString("PortServer", intToStr(GameConstants::serverPort).c_str()); + string externalPort=config.getString("PortExternal", serverPort.c_str()); + publishToServerInfo["externalconnectport"] = externalPort; publishToServerInfo["privacyPlease"] = intToStr(config.getBool("PrivacyPlease","false")); publishToServerInfo["gameStatus"] = intToStr(game_status_in_progress);