RBXLegacy-src/RBXLegacyLauncher/RBXLegacyLauncher/ServerPrefs.cs

681 lines
14 KiB
C#

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Net;
namespace RBXLegacyLauncher
{
public partial class ServerPrefs : Form
{
public ServerPrefs()
{
InitializeComponent();
}
void ServerPrefsLoad(object sender, EventArgs e)
{
textBox1.AppendText("Client: " + GlobalVars.SelectedClient);
textBox1.AppendText(Environment.NewLine);
textBox1.AppendText("IP: " + GetExternalIPAddress());
textBox1.AppendText(Environment.NewLine);
textBox1.AppendText("Port: " + GlobalVars.RobloxPort.ToString());
textBox1.AppendText(Environment.NewLine);
textBox1.AppendText("Map: " + GlobalVars.Map);
textBox1.AppendText(Environment.NewLine);
textBox1.AppendText("Players: " + GlobalVars.PlayerLimit);
textBox1.AppendText(Environment.NewLine);
textBox1.AppendText("Version: RBXLegacy " + GlobalVars.Version);
textBox1.AppendText(Environment.NewLine);
string[] lines = {
SecurityFuncs.Base64Encode(GetExternalIPAddress()),
SecurityFuncs.Base64Encode(GlobalVars.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.SelectedClient)
};
string URI = "RBXLegacy://" + SecurityFuncs.Base64Encode(string.Join("|",lines));
textBox1.AppendText("Online URI Link:");
textBox1.AppendText(URI);
textBox1.AppendText(Environment.NewLine);
string[] lines2 = {
SecurityFuncs.Base64Encode("localhost"),
SecurityFuncs.Base64Encode(GlobalVars.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.SelectedClient)
};
string URI2 = "RBXLegacy://" + SecurityFuncs.Base64Encode(string.Join("|",lines2));
textBox1.AppendText("Local URI Link:");
textBox1.AppendText(URI2);
if (GlobalVars.PlayerLimit == 0)
{
//We need at least a limit of 12 players.
GlobalVars.PlayerLimit = 12;
textBox3.Text = GlobalVars.PlayerLimit.ToString();
}
else
{
textBox3.Text = GlobalVars.PlayerLimit.ToString();
}
if (GlobalVars.ServerPort == 0)
{
//We need at least a limit of 12 players.
GlobalVars.ServerPort = GlobalVars.DefaultRobloxPort;
textBox7.Text = GlobalVars.ServerPort.ToString();
}
else
{
textBox7.Text = GlobalVars.ServerPort.ToString();
}
if (GlobalVars.melee == true && GlobalVars.navigation == true
&& GlobalVars.social == true && GlobalVars.powerup == true &&
GlobalVars.explosives == true && GlobalVars.transport == true &&
GlobalVars.ranged == true && GlobalVars.musical == true &&
GlobalVars.building == true)
{
radioButton1.Checked = true;
}
else if (GlobalVars.melee == false && GlobalVars.navigation == false
&& GlobalVars.social == false && GlobalVars.powerup == false &&
GlobalVars.explosives == false && GlobalVars.transport == false &&
GlobalVars.ranged == false && GlobalVars.musical == false &&
GlobalVars.building == false)
{
radioButton3.Checked = true;
}
else
{
radioButton2.Checked = true;
}
if (GlobalVars.melee == true)
{
checkBox1.Checked = true;
}
else
{
checkBox1.Checked = false;
}
if (GlobalVars.navigation == true)
{
checkBox2.Checked = true;
}
else
{
checkBox2.Checked = false;
}
if (GlobalVars.social == true)
{
checkBox3.Checked = true;
}
else
{
checkBox3.Checked = false;
}
if (GlobalVars.powerup == true)
{
checkBox6.Checked = true;
}
else
{
checkBox6.Checked = false;
}
if (GlobalVars.explosives == true)
{
checkBox5.Checked = true;
}
else
{
checkBox5.Checked = false;
}
if (GlobalVars.transport == true)
{
checkBox4.Checked = true;
}
else
{
checkBox4.Checked = false;
}
if (GlobalVars.ranged == true)
{
checkBox9.Checked = true;
}
else
{
checkBox9.Checked = false;
}
if (GlobalVars.musical == true)
{
checkBox8.Checked = true;
}
else
{
checkBox8.Checked = false;
}
if (GlobalVars.building == true)
{
checkBox7.Checked = true;
}
else
{
checkBox7.Checked = false;
}
if (GlobalVars.upnp == true)
{
checkBox11.Checked = true;
}
else
{
checkBox11.Checked = false;
}
if (GlobalVars.IsPersonalServer == true)
{
checkBox10.Checked = true;
}
else
{
checkBox10.Checked = false;
}
comboBox1.SelectedText = GlobalVars.ChatType;
}
string GetExternalIPAddress()
{
string ipAddress;
using (WebClient wc = new WebClient())
{
try
{
ipAddress = wc.DownloadString("http://ipv4.icanhazip.com");
}
catch (Exception)
{
ipAddress = "localhost" + Environment.NewLine;
}
}
return ipAddress;
}
void RadioButton1CheckedChanged(object sender, EventArgs e)
{
checkBox1.Enabled = false;
checkBox2.Enabled = false;
checkBox3.Enabled = false;
checkBox4.Enabled = false;
checkBox5.Enabled = false;
checkBox6.Enabled = false;
checkBox7.Enabled = false;
checkBox8.Enabled = false;
checkBox9.Enabled = false;
checkBox1.Checked = true;
checkBox2.Checked = true;
checkBox3.Checked = true;
checkBox4.Checked = true;
checkBox5.Checked = true;
checkBox6.Checked = true;
checkBox7.Checked = true;
checkBox8.Checked = true;
checkBox9.Checked = true;
GlobalVars.melee = true;
GlobalVars.navigation = true;
GlobalVars.social = true;
GlobalVars.powerup = true;
GlobalVars.explosives = true;
GlobalVars.transport = true;
GlobalVars.ranged = true;
GlobalVars.musical = true;
GlobalVars.building = true;
}
void RadioButton3CheckedChanged(object sender, EventArgs e)
{
checkBox1.Enabled = false;
checkBox2.Enabled = false;
checkBox3.Enabled = false;
checkBox4.Enabled = false;
checkBox5.Enabled = false;
checkBox6.Enabled = false;
checkBox7.Enabled = false;
checkBox8.Enabled = false;
checkBox9.Enabled = false;
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
checkBox5.Checked = false;
checkBox6.Checked = false;
checkBox7.Checked = false;
checkBox8.Checked = false;
checkBox9.Checked = false;
GlobalVars.melee = false;
GlobalVars.navigation = false;
GlobalVars.social = false;
GlobalVars.powerup = false;
GlobalVars.explosives = false;
GlobalVars.transport = false;
GlobalVars.ranged = false;
GlobalVars.musical = false;
GlobalVars.building = false;
}
void RadioButton2CheckedChanged(object sender, EventArgs e)
{
checkBox1.Enabled = true;
checkBox2.Enabled = true;
checkBox3.Enabled = true;
checkBox4.Enabled = true;
checkBox5.Enabled = true;
checkBox6.Enabled = true;
checkBox7.Enabled = true;
checkBox8.Enabled = true;
checkBox9.Enabled = true;
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
checkBox5.Checked = false;
checkBox6.Checked = false;
checkBox7.Checked = false;
checkBox8.Checked = false;
checkBox9.Checked = false;
GlobalVars.melee = false;
GlobalVars.navigation = false;
GlobalVars.social = false;
GlobalVars.powerup = false;
GlobalVars.explosives = false;
GlobalVars.transport = false;
GlobalVars.ranged = false;
GlobalVars.musical = false;
GlobalVars.building = false;
}
void TextBox7TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox7.Text, out parsedValue))
{
if (textBox7.Text.Equals(""))
{
//set it to the normal port, 53640. it wouldn't make any sense if we set it to 0.
GlobalVars.ServerPort = GlobalVars.DefaultRobloxPort;
}
else
{
GlobalVars.ServerPort = Convert.ToInt32(textBox7.Text);
}
}
else
{
GlobalVars.ServerPort = GlobalVars.DefaultRobloxPort;
}
}
void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
{
GlobalVars.ChatType = comboBox1.SelectedText;
}
void TextBox2TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox2.Text, out parsedValue))
{
if (textBox2.Text.Equals(""))
{
GlobalVars.RespawnTime = 5;
}
else
{
GlobalVars.RespawnTime = Convert.ToInt32(textBox2.Text);
}
}
else
{
GlobalVars.RespawnTime = 5;
}
}
void TextBox3TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox3.Text, out parsedValue))
{
if (textBox3.Text.Equals(""))
{
GlobalVars.PlayerLimit = 12;
}
else
{
GlobalVars.PlayerLimit = Convert.ToInt32(textBox3.Text);
}
}
else
{
GlobalVars.PlayerLimit = 12;
}
}
void Button1Click(object sender, EventArgs e)
{
LauncherFuncs.ResetServerPrefs();
LauncherFuncs.WriteServerPrefs("serverhost_config.txt");
DialogResult result = MessageBox.Show("Your server configuration has been reset to the default values.","RBXLegacy Launcher - Server Preferences", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
LauncherFuncs.WriteServerPrefs("serverhost_config.txt");
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
GlobalVars.melee = true;
}
else
{
GlobalVars.melee = false;
}
}
void CheckBox2CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked == true)
{
GlobalVars.navigation = true;
}
else
{
GlobalVars.navigation = false;
}
}
void CheckBox3CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked == true)
{
GlobalVars.social = true;
}
else
{
GlobalVars.social = false;
}
}
void CheckBox4CheckedChanged(object sender, EventArgs e)
{
if (checkBox4.Checked == true)
{
GlobalVars.transport = true;
}
else
{
GlobalVars.transport = false;
}
}
void CheckBox5CheckedChanged(object sender, EventArgs e)
{
if (checkBox5.Checked == true)
{
GlobalVars.explosives = true;
}
else
{
GlobalVars.explosives = false;
}
}
void CheckBox6CheckedChanged(object sender, EventArgs e)
{
if (checkBox6.Checked == true)
{
GlobalVars.powerup = true;
}
else
{
GlobalVars.powerup = false;
}
}
void CheckBox7CheckedChanged(object sender, EventArgs e)
{
if (checkBox7.Checked == true)
{
GlobalVars.building = true;
}
else
{
GlobalVars.building = false;
}
}
void CheckBox8CheckedChanged(object sender, EventArgs e)
{
if (checkBox8.Checked == true)
{
GlobalVars.musical = true;
}
else
{
GlobalVars.musical = false;
}
}
void CheckBox9CheckedChanged(object sender, EventArgs e)
{
if (checkBox9.Checked == true)
{
GlobalVars.ranged = true;
}
else
{
GlobalVars.ranged = false;
}
}
void CheckBox11CheckedChanged(object sender, EventArgs e)
{
if (checkBox11.Checked == true)
{
GlobalVars.upnp = true;
}
else
{
GlobalVars.upnp = false;
}
}
void CheckBox10CheckedChanged(object sender, EventArgs e)
{
if (checkBox10.Checked == true)
{
GlobalVars.IsPersonalServer = true;
}
else
{
GlobalVars.IsPersonalServer = false;
}
}
void TextBox4TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox4.Text, out parsedValue))
{
if (textBox4.Text.Equals(""))
{
GlobalVars.blacklist1 = 0;
}
else
{
GlobalVars.blacklist1 = Convert.ToInt32(textBox4.Text);
}
}
else
{
GlobalVars.blacklist1 = 0;
}
}
void TextBox8TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox8.Text, out parsedValue))
{
if (textBox8.Text.Equals(""))
{
GlobalVars.blacklist2 = 0;
}
else
{
GlobalVars.blacklist2 = Convert.ToInt32(textBox8.Text);
}
}
else
{
GlobalVars.blacklist2 = 0;
}
}
void TextBox10TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox10.Text, out parsedValue))
{
if (textBox10.Text.Equals(""))
{
GlobalVars.blacklist3 = 0;
}
else
{
GlobalVars.blacklist3 = Convert.ToInt32(textBox10.Text);
}
}
else
{
GlobalVars.blacklist3 = 0;
}
}
void TextBox12TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox12.Text, out parsedValue))
{
if (textBox12.Text.Equals(""))
{
GlobalVars.blacklist4 = 0;
}
else
{
GlobalVars.blacklist4 = Convert.ToInt32(textBox12.Text);
}
}
else
{
GlobalVars.blacklist4 = 0;
}
}
void TextBox6TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox6.Text, out parsedValue))
{
if (textBox6.Text.Equals(""))
{
GlobalVars.blacklist5 = 0;
}
else
{
GlobalVars.blacklist5 = Convert.ToInt32(textBox6.Text);
}
}
else
{
GlobalVars.blacklist5 = 0;
}
}
void TextBox5TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox7.Text, out parsedValue))
{
if (textBox7.Text.Equals(""))
{
GlobalVars.blacklist6 = 0;
}
else
{
GlobalVars.blacklist6 = Convert.ToInt32(textBox7.Text);
}
}
else
{
GlobalVars.blacklist6 = 0;
}
}
void TextBox9TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox9.Text, out parsedValue))
{
if (textBox9.Text.Equals(""))
{
GlobalVars.blacklist7 = 0;
}
else
{
GlobalVars.blacklist7 = Convert.ToInt32(textBox9.Text);
}
}
else
{
GlobalVars.blacklist7 = 0;
}
}
void TextBox11TextChanged(object sender, EventArgs e)
{
int parsedValue;
if (int.TryParse(textBox11.Text, out parsedValue))
{
if (textBox11.Text.Equals(""))
{
GlobalVars.blacklist8 = 0;
}
else
{
GlobalVars.blacklist8 = Convert.ToInt32(textBox11.Text);
}
}
else
{
GlobalVars.blacklist8 = 0;
}
}
}
}