also sanitize server names
This commit is contained in:
@@ -130,6 +130,9 @@ namespace OpenRA.Server
|
|||||||
Port = localEndpoint.Port;
|
Port = localEndpoint.Port;
|
||||||
|
|
||||||
Settings = settings;
|
Settings = settings;
|
||||||
|
|
||||||
|
Settings.Name = OpenRA.Settings.SanitizedServerName(Settings.Name);
|
||||||
|
|
||||||
ModData = modData;
|
ModData = modData;
|
||||||
|
|
||||||
randomSeed = (int)DateTime.Now.ToBinary();
|
randomSeed = (int)DateTime.Now.ToBinary();
|
||||||
|
|||||||
@@ -321,6 +321,15 @@ namespace OpenRA
|
|||||||
return clean;
|
return clean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string SanitizedServerName(string dirty)
|
||||||
|
{
|
||||||
|
var clean = SanitizedName(dirty);
|
||||||
|
if (string.IsNullOrWhiteSpace(clean))
|
||||||
|
return new ServerSettings().Name;
|
||||||
|
else
|
||||||
|
return clean;
|
||||||
|
}
|
||||||
|
|
||||||
public static string SanitizedPlayerName(string dirty)
|
public static string SanitizedPlayerName(string dirty)
|
||||||
{
|
{
|
||||||
var forbiddenNames = new string[] { "Open", "Closed" };
|
var forbiddenNames = new string[] { "Open", "Closed" };
|
||||||
|
|||||||
@@ -55,8 +55,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
panel.Get<LabelWidget>("MAP_NAME").GetText = () => preview.Title;
|
panel.Get<LabelWidget>("MAP_NAME").GetText = () => preview.Title;
|
||||||
}
|
}
|
||||||
|
|
||||||
panel.Get<TextFieldWidget>("SERVER_NAME").Text = settings.Server.Name ?? "";
|
var serverName = panel.Get<TextFieldWidget>("SERVER_NAME");
|
||||||
|
serverName.Text = Settings.SanitizedServerName(settings.Server.Name);
|
||||||
|
serverName.OnEnterKey = () => { serverName.YieldKeyboardFocus(); return true; };
|
||||||
|
serverName.OnLoseFocus = () =>
|
||||||
|
{
|
||||||
|
serverName.Text = Settings.SanitizedServerName(serverName.Text);
|
||||||
|
settings.Server.Name = serverName.Text;
|
||||||
|
};
|
||||||
|
|
||||||
panel.Get<TextFieldWidget>("LISTEN_PORT").Text = settings.Server.ListenPort.ToString();
|
panel.Get<TextFieldWidget>("LISTEN_PORT").Text = settings.Server.ListenPort.ToString();
|
||||||
|
|
||||||
advertiseOnline = Game.Settings.Server.AdvertiseOnline;
|
advertiseOnline = Game.Settings.Server.AdvertiseOnline;
|
||||||
|
|
||||||
var externalPort = panel.Get<TextFieldWidget>("EXTERNAL_PORT");
|
var externalPort = panel.Get<TextFieldWidget>("EXTERNAL_PORT");
|
||||||
@@ -80,7 +89,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
|
|
||||||
void CreateAndJoin()
|
void CreateAndJoin()
|
||||||
{
|
{
|
||||||
var name = panel.Get<TextFieldWidget>("SERVER_NAME").Text;
|
var name = Settings.SanitizedServerName(panel.Get<TextFieldWidget>("SERVER_NAME").Text);
|
||||||
int listenPort, externalPort;
|
int listenPort, externalPort;
|
||||||
if (!Exts.TryParseIntegerInvariant(panel.Get<TextFieldWidget>("LISTEN_PORT").Text, out listenPort))
|
if (!Exts.TryParseIntegerInvariant(panel.Get<TextFieldWidget>("LISTEN_PORT").Text, out listenPort))
|
||||||
listenPort = 1234;
|
listenPort = 1234;
|
||||||
|
|||||||
Reference in New Issue
Block a user