Validate lobby option values.
This commit is contained in:
@@ -729,6 +729,12 @@ namespace OpenRA.Mods.Common.Server
|
||||
if (oo.Value == split[1])
|
||||
return true;
|
||||
|
||||
if (!option.Values.ContainsKey(split[1]))
|
||||
{
|
||||
server.SendLocalizedMessageTo(conn, InvalidConfigurationCommand);
|
||||
return true;
|
||||
}
|
||||
|
||||
oo.Value = oo.PreferredValue = split[1];
|
||||
|
||||
server.SyncLobbyGlobalSettings();
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
|
||||
foreach (var optionNode in optionsNode.Value.Nodes)
|
||||
{
|
||||
if (options.TryGetValue(optionNode.Key, out var option) && !option.IsLocked)
|
||||
if (options.TryGetValue(optionNode.Key, out var option) && !option.IsLocked && option.Values.ContainsKey(optionNode.Value.Value))
|
||||
{
|
||||
var oo = server.LobbyInfo.GlobalSettings.LobbyOptions[option.Id];
|
||||
oo.Value = oo.PreferredValue = optionNode.Value.Value;
|
||||
|
||||
Reference in New Issue
Block a user