Index: binaries/data/mods/public/gui/common/gamedescription.js =================================================================== --- binaries/data/mods/public/gui/common/gamedescription.js +++ binaries/data/mods/public/gui/common/gamedescription.js @@ -25,6 +25,15 @@ } /** + * Create multiplayer name from username and config multiplayer name if they different. + */ +function multiplayerName(username) +{ + let multiplayerName = Engine.ConfigDB_GetValue("user", "playername.multiplayer"); + return !username ? multiplayerName : multiplayerName != username ? multiplayerName + " (" + username + ")" : username; +} + +/** * Array of playernames that the current user has marked as buddies. */ var g_Buddies = Engine.ConfigDB_GetValue("user", "lobby.buddies").split(g_BuddyListDelimiter); Index: binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js =================================================================== --- binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js +++ binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js @@ -50,7 +50,7 @@ Engine.GetGUIObjectByName("hostSTUNWrapper").hidden = !Engine.HasXmppClient(); if (Engine.HasXmppClient()) { - Engine.GetGUIObjectByName("hostPlayerName").caption = attribs.name; + Engine.GetGUIObjectByName("hostPlayerName").caption = multiplayerName(attribs.name); Engine.GetGUIObjectByName("hostServerName").caption = sprintf(translate("%(name)s's game"), { "name": attribs.name }); @@ -282,10 +282,6 @@ { startConnectionStatus("server"); - // Save player name - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", playername); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", playername, "config/user.cfg"); - // Save port Engine.ConfigDB_CreateValue("user", "multiplayerhosting.port", port); Engine.ConfigDB_WriteValueToFile("user", "multiplayerhosting.port", port, "config/user.cfg"); Index: binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- binaries/data/mods/public/gui/lobby/lobby.js +++ binaries/data/mods/public/gui/lobby/lobby.js @@ -1077,7 +1077,7 @@ return; let rating = getRejoinRating(game); - let username = rating ? g_Username + " (" + rating + ")" : g_Username; + let username = rating ? multiplayerName(g_Username) + " (" + rating + ")" : multiplayerName(g_Username); if (game.state == "init" || stringifiedTeamListToPlayerData(game.players).some(player => player.Name == username)) joinSelectedGame(); @@ -1129,7 +1129,7 @@ "multiplayerGameType": "join", "ip": ip, "port": port, - "name": g_Username, + "name": multiplayerName(g_Username), "rating": getRejoinRating(game), "useSTUN": !!game.stunIP, "hostJID": game.hostUsername + "@" + g_LobbyServer + "/0ad" @@ -1144,7 +1144,7 @@ for (let player of stringifiedTeamListToPlayerData(game.players)) { let playerNickRating = splitRatingFromNick(player.Name); - if (playerNickRating.nick == g_Username) + if (playerNickRating.nick == multiplayerName(g_Username)) return playerNickRating.rating; } return g_UserRating; Index: binaries/data/mods/public/gui/options/options.json =================================================================== --- binaries/data/mods/public/gui/options/options.json +++ binaries/data/mods/public/gui/options/options.json @@ -12,7 +12,7 @@ { "type": "string", "label": "Playername (Multiplayer)", - "tooltip": "How you want to be addressed in Multiplayer matches (except lobby).", + "tooltip": "How you want to be addressed in Multiplayer matches.", "config": "playername.multiplayer" }, { Index: binaries/data/mods/public/gui/prelobby/prelobby.js =================================================================== --- binaries/data/mods/public/gui/prelobby/prelobby.js +++ binaries/data/mods/public/gui/prelobby/prelobby.js @@ -191,8 +191,6 @@ { Engine.PopGuiPage(); Engine.SwitchGuiPage("page_lobby.xml"); - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", username); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", username, "config/user.cfg"); Engine.ConfigDB_CreateValue("user", "lobby.login", username); Engine.ConfigDB_WriteValueToFile("user", "lobby.login", username, "config/user.cfg"); // We only store the encrypted password, so make sure to re-encrypt it if changed before saving.