1.16
This commit is contained in:
parent
6e745c08e5
commit
e568cfd8ef
|
|
@ -507,6 +507,8 @@ function CSConnect(UserID,ServerIP,ServerPort,PlayerName,Hat1ID,Hat2ID,Hat3ID,He
|
|||
if (rbxlegacyversion == "pre-alpha" or rbxlegacyversion == "pre-alpha-ext") then
|
||||
game.GuiRoot.MainMenu["Toolbox"]:Remove()
|
||||
game.GuiRoot.MainMenu["Edit Mode"]:Remove()
|
||||
game.GuiRoot.RightPalette.ReportAbuse:Remove()
|
||||
game.GuiRoot.ChatMenuPanel:Remove()
|
||||
else
|
||||
game.GuiRoot.MainMenu["Tools"]:Remove()
|
||||
game.GuiRoot.MainMenu["Insert"]:Remove()
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@ using System;
|
|||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
|
|
@ -35,7 +39,7 @@ namespace RBXLegacyLauncher
|
|||
listBox1.Items.Clear();
|
||||
listBox2.Items.Clear();
|
||||
listBox3.Items.Clear();
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
DirectoryInfo dinfo = new DirectoryInfo(hatdir);
|
||||
|
|
@ -73,77 +77,77 @@ namespace RBXLegacyLauncher
|
|||
|
||||
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
GlobalVars.Custom_Hat1ID_Offline = listBox1.SelectedItem.ToString();
|
||||
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox1.Image = icon1;
|
||||
}
|
||||
}
|
||||
|
||||
void ListBox2SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
GlobalVars.Custom_Hat2ID_Offline = listBox2.SelectedItem.ToString();
|
||||
Image icon2 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon2 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox2.Image = icon2;
|
||||
}
|
||||
}
|
||||
|
||||
void ListBox3SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
GlobalVars.Custom_Hat3ID_Offline = listBox3.SelectedItem.ToString();
|
||||
Image icon3 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon3 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox3.Image = icon3;
|
||||
}
|
||||
}
|
||||
|
||||
void Button1Click(object sender, EventArgs e)
|
||||
{
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
Random random = new Random();
|
||||
int randomHat1 = random.Next(listBox1.Items.Count);
|
||||
listBox1.SelectedItem = listBox1.Items[randomHat1];
|
||||
GlobalVars.Custom_Hat1ID_Offline = listBox1.SelectedItem.ToString();
|
||||
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox1.Image = icon1;
|
||||
int randomHat2 = random.Next(listBox2.Items.Count);
|
||||
listBox2.SelectedItem = listBox1.Items[randomHat2];
|
||||
GlobalVars.Custom_Hat2ID_Offline = listBox2.SelectedItem.ToString();
|
||||
Image icon2 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon2 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox2.Image = icon2;
|
||||
int randomHat3 = random.Next(listBox3.Items.Count);
|
||||
listBox3.SelectedItem = listBox1.Items[randomHat3];
|
||||
GlobalVars.Custom_Hat3ID_Offline = listBox3.SelectedItem.ToString();
|
||||
Image icon3 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon3 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox3.Image = icon3;
|
||||
}
|
||||
}
|
||||
|
||||
void Button2Click(object sender, EventArgs e)
|
||||
{
|
||||
string hatdir = Environment.CurrentDirectory + @"\\charcustom\\hats";
|
||||
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\charcustom\\hats";
|
||||
if (Directory.Exists(hatdir))
|
||||
{
|
||||
listBox1.SelectedItem = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat1ID_Offline = listBox1.SelectedItem.ToString();
|
||||
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat1ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox1.Image = icon1;
|
||||
listBox2.SelectedItem = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat2ID_Offline = listBox2.SelectedItem.ToString();
|
||||
Image icon2 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon2 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat2ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox2.Image = icon2;
|
||||
listBox3.SelectedItem = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat3ID_Offline = listBox3.SelectedItem.ToString();
|
||||
Image icon3 = Image.FromFile(hatdir + @"\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
Image icon3 = Image.FromFile(hatdir + "\\" + GlobalVars.Custom_Hat3ID_Offline.Replace(".rbxm", "") + ".png");
|
||||
pictureBox3.Image = icon3;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ namespace RBXLegacyLauncher
|
|||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.checkBox5 = new System.Windows.Forms.CheckBox();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.checkBox3 = new System.Windows.Forms.CheckBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// checkBox1
|
||||
|
|
@ -70,16 +73,16 @@ namespace RBXLegacyLauncher
|
|||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(8, 113);
|
||||
this.textBox1.Location = new System.Drawing.Point(8, 176);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(310, 218);
|
||||
this.textBox1.Size = new System.Drawing.Size(310, 155);
|
||||
this.textBox1.TabIndex = 4;
|
||||
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(8, 94);
|
||||
this.label1.Location = new System.Drawing.Point(8, 157);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(92, 16);
|
||||
this.label1.TabIndex = 5;
|
||||
|
|
@ -133,12 +136,41 @@ namespace RBXLegacyLauncher
|
|||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.Button3Click);
|
||||
//
|
||||
// checkBox3
|
||||
//
|
||||
this.checkBox3.Location = new System.Drawing.Point(9, 89);
|
||||
this.checkBox3.Name = "checkBox3";
|
||||
this.checkBox3.Size = new System.Drawing.Size(175, 20);
|
||||
this.checkBox3.TabIndex = 13;
|
||||
this.checkBox3.Text = "Client uses a single EXE to run";
|
||||
this.checkBox3.UseVisualStyleBackColor = true;
|
||||
this.checkBox3.CheckedChanged += new System.EventHandler(this.CheckBox3CheckedChanged);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(8, 112);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(65, 13);
|
||||
this.label3.TabIndex = 14;
|
||||
this.label3.Text = "Client MD5";
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(9, 128);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(311, 20);
|
||||
this.textBox2.TabIndex = 15;
|
||||
this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged);
|
||||
//
|
||||
// ClientinfoEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.ClientSize = new System.Drawing.Size(332, 403);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.checkBox3);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.checkBox5);
|
||||
this.Controls.Add(this.button2);
|
||||
|
|
@ -156,6 +188,9 @@ namespace RBXLegacyLauncher
|
|||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.CheckBox checkBox3;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.CheckBox checkBox5;
|
||||
private System.Windows.Forms.Button button2;
|
||||
|
|
|
|||
|
|
@ -71,30 +71,47 @@ namespace RBXLegacyLauncher
|
|||
ofd.Title = "Load clientinfo.txt";
|
||||
if (ofd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string line1, line2, line3, line4;
|
||||
string line1;
|
||||
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6;
|
||||
|
||||
using(StreamReader reader = new StreamReader(ofd.FileName))
|
||||
{
|
||||
line1 = reader.ReadLine();
|
||||
line2 = reader.ReadLine();
|
||||
line3 = reader.ReadLine();
|
||||
line4 = reader.ReadLine();
|
||||
}
|
||||
|
||||
if (!SecurityFuncs.IsBase64String(line1))
|
||||
return;
|
||||
|
||||
Boolean bline1 = bool.Parse(line1);
|
||||
string ConvertedLine = SecurityFuncs.Base64Decode(line1);
|
||||
string[] result = ConvertedLine.Split('|');
|
||||
Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
|
||||
Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
|
||||
Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
|
||||
Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
|
||||
Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
|
||||
Decryptline6 = SecurityFuncs.Base64Decode(result[5]);
|
||||
|
||||
Boolean bline1 = Convert.ToBoolean(Decryptline1);
|
||||
GlobalVars.ClientCreator_UsesPlayerName = bline1;
|
||||
|
||||
Boolean bline2 = bool.Parse(line2);
|
||||
Boolean bline2 = Convert.ToBoolean(Decryptline2);
|
||||
GlobalVars.ClientCreator_UsesID = bline2;
|
||||
|
||||
Boolean bline3 = bool.Parse(line3);
|
||||
Boolean bline3 = Convert.ToBoolean(Decryptline3);
|
||||
GlobalVars.ClientCreator_LoadsAssetsOnline = bline3;
|
||||
|
||||
GlobalVars.ClientCreator_SelectedClientDesc = line4;
|
||||
Boolean bline4 = Convert.ToBoolean(Decryptline4);
|
||||
GlobalVars.ClientCreator_LegacyMode = bline4;
|
||||
|
||||
GlobalVars.ClientCreator_SelectedClientMD5 = Decryptline5;
|
||||
|
||||
GlobalVars.ClientCreator_SelectedClientDesc = Decryptline6;
|
||||
|
||||
checkBox1.Checked = GlobalVars.ClientCreator_UsesPlayerName;
|
||||
checkBox2.Checked = GlobalVars.ClientCreator_UsesID;
|
||||
checkBox5.Checked = GlobalVars.ClientCreator_LoadsAssetsOnline;
|
||||
checkBox3.Checked = GlobalVars.ClientCreator_LegacyMode;
|
||||
textBox2.Text = GlobalVars.ClientCreator_SelectedClientMD5.ToUpper();
|
||||
textBox1.Text = GlobalVars.ClientCreator_SelectedClientDesc;
|
||||
}
|
||||
}
|
||||
|
|
@ -112,12 +129,14 @@ namespace RBXLegacyLauncher
|
|||
if (sfd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string[] lines = {
|
||||
GlobalVars.ClientCreator_UsesPlayerName.ToString(),
|
||||
GlobalVars.ClientCreator_UsesID.ToString(),
|
||||
GlobalVars.ClientCreator_LoadsAssetsOnline.ToString(),
|
||||
GlobalVars.ClientCreator_SelectedClientDesc.ToString()
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_UsesPlayerName.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_UsesID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_LoadsAssetsOnline.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_LegacyMode.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_SelectedClientMD5.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_SelectedClientDesc.ToString())
|
||||
};
|
||||
File.WriteAllLines(sfd.FileName, lines);
|
||||
File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|",lines)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -144,11 +163,33 @@ namespace RBXLegacyLauncher
|
|||
GlobalVars.ClientCreator_UsesPlayerName = false;
|
||||
GlobalVars.ClientCreator_UsesID = false;
|
||||
GlobalVars.ClientCreator_LoadsAssetsOnline = false;
|
||||
GlobalVars.ClientCreator_LegacyMode = false;
|
||||
GlobalVars.ClientCreator_SelectedClientDesc = "";
|
||||
GlobalVars.ClientCreator_SelectedClientMD5 = "";
|
||||
checkBox1.Checked = GlobalVars.ClientCreator_UsesPlayerName;
|
||||
checkBox2.Checked = GlobalVars.ClientCreator_UsesID;
|
||||
checkBox5.Checked = GlobalVars.ClientCreator_LoadsAssetsOnline;
|
||||
checkBox3.Checked = GlobalVars.ClientCreator_LegacyMode;
|
||||
textBox2.Text = GlobalVars.ClientCreator_SelectedClientMD5.ToUpper();
|
||||
textBox1.Text = GlobalVars.ClientCreator_SelectedClientDesc;
|
||||
}
|
||||
|
||||
void CheckBox3CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (checkBox3.Checked == true)
|
||||
{
|
||||
GlobalVars.ClientCreator_LegacyMode = true;
|
||||
}
|
||||
else if (checkBox3.Checked == false)
|
||||
{
|
||||
GlobalVars.ClientCreator_LegacyMode = false;
|
||||
}
|
||||
}
|
||||
|
||||
void TextBox2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
textBox2.Text = textBox2.Text.ToUpper();
|
||||
GlobalVars.ClientCreator_SelectedClientMD5 = textBox2.Text.ToUpper();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@
|
|||
public static string CustomPlayerDir = "";
|
||||
public static string IP = "localhost";
|
||||
public static string Version = "";
|
||||
public static string MD5 = "";
|
||||
public static string SharedArgs = "";
|
||||
//vars for loader
|
||||
public static bool ReadyToLaunch = false;
|
||||
//server settings.
|
||||
public static string Map = "Baseplate.rbxl";
|
||||
public static int RobloxPort = 53640;
|
||||
|
|
@ -23,11 +27,15 @@
|
|||
public static bool UsesID = true;
|
||||
public static string SelectedClientDesc = "";
|
||||
public static bool LoadsAssetsOnline = false;
|
||||
public static bool LegacyMode = false;
|
||||
public static string SelectedClientMD5 = "";
|
||||
//clientinfocreator
|
||||
public static bool ClientCreator_UsesPlayerName = false;
|
||||
public static bool ClientCreator_UsesID = false;
|
||||
public static bool ClientCreator_LoadsAssetsOnline = false;
|
||||
public static string ClientCreator_SelectedClientDesc = "";
|
||||
public static bool ClientCreator_LegacyMode = false;
|
||||
public static string ClientCreator_SelectedClientMD5 = "";
|
||||
//charcustom
|
||||
public static string Custom_Hat1ID_Offline = "NoHat.rbxm";
|
||||
public static string Custom_Hat2ID_Offline = "NoHat.rbxm";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,254 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/13/2017
|
||||
* Time: 10:24 AM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of LauncherFuncs.
|
||||
/// </summary>
|
||||
public class LauncherFuncs
|
||||
{
|
||||
public LauncherFuncs()
|
||||
{
|
||||
}
|
||||
|
||||
public static void ReadConfigValues(string cfgpath)
|
||||
{
|
||||
string line1;
|
||||
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline8, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15, Decryptline16, Decryptline17, Decryptline18, Decryptline19, Decryptline20, Decryptline21, Decryptline22;
|
||||
|
||||
using(StreamReader reader = new StreamReader(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\config.txt"))
|
||||
{
|
||||
line1 = reader.ReadLine();
|
||||
}
|
||||
|
||||
if (!SecurityFuncs.IsBase64String(line1))
|
||||
return;
|
||||
|
||||
string ConvertedLine = SecurityFuncs.Base64Decode(line1);
|
||||
string[] result = ConvertedLine.Split('|');
|
||||
Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
|
||||
Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
|
||||
Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
|
||||
Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
|
||||
Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
|
||||
Decryptline6 = SecurityFuncs.Base64Decode(result[5]);
|
||||
Decryptline7 = SecurityFuncs.Base64Decode(result[6]);
|
||||
Decryptline8 = SecurityFuncs.Base64Decode(result[7]);
|
||||
Decryptline9 = SecurityFuncs.Base64Decode(result[8]);
|
||||
Decryptline10 = SecurityFuncs.Base64Decode(result[9]);
|
||||
Decryptline11 = SecurityFuncs.Base64Decode(result[10]);
|
||||
Decryptline12 = SecurityFuncs.Base64Decode(result[11]);
|
||||
Decryptline13 = SecurityFuncs.Base64Decode(result[12]);
|
||||
Decryptline14 = SecurityFuncs.Base64Decode(result[13]);
|
||||
Decryptline15 = SecurityFuncs.Base64Decode(result[14]);
|
||||
Decryptline16 = SecurityFuncs.Base64Decode(result[15]);
|
||||
Decryptline17 = SecurityFuncs.Base64Decode(result[16]);
|
||||
Decryptline18 = SecurityFuncs.Base64Decode(result[17]);
|
||||
Decryptline19 = SecurityFuncs.Base64Decode(result[18]);
|
||||
Decryptline20 = SecurityFuncs.Base64Decode(result[19]);
|
||||
Decryptline21 = SecurityFuncs.Base64Decode(result[20]);
|
||||
Decryptline22 = SecurityFuncs.Base64Decode(result[21]);
|
||||
|
||||
bool bline1 = Convert.ToBoolean(Decryptline1);
|
||||
GlobalVars.CloseOnLaunch = bline1;
|
||||
|
||||
int iline2 = Convert.ToInt32(Decryptline2);
|
||||
GlobalVars.UserID = iline2;
|
||||
|
||||
GlobalVars.PlayerName = Decryptline3;
|
||||
|
||||
GlobalVars.SelectedClient = Decryptline4;
|
||||
|
||||
GlobalVars.Map = Decryptline5;
|
||||
|
||||
int iline6 = Convert.ToInt32(Decryptline6);
|
||||
GlobalVars.RobloxPort = iline6;
|
||||
|
||||
GlobalVars.Custom_Hat1ID_Offline = Decryptline7;
|
||||
GlobalVars.Custom_Hat2ID_Offline = Decryptline8;
|
||||
GlobalVars.Custom_Hat3ID_Offline = Decryptline9;
|
||||
|
||||
int iline10 = Convert.ToInt32(Decryptline10);
|
||||
GlobalVars.HeadColorID = iline10;
|
||||
|
||||
int iline11 = Convert.ToInt32(Decryptline11);
|
||||
GlobalVars.TorsoColorID = iline11;
|
||||
|
||||
int iline12 = Convert.ToInt32(Decryptline12);
|
||||
GlobalVars.LeftArmColorID = iline12;
|
||||
|
||||
int iline13 = Convert.ToInt32(Decryptline13);
|
||||
GlobalVars.RightArmColorID = iline13;
|
||||
|
||||
int iline14 = Convert.ToInt32(Decryptline14);
|
||||
GlobalVars.LeftLegColorID = iline14;
|
||||
|
||||
int iline15 = Convert.ToInt32(Decryptline15);
|
||||
GlobalVars.RightLegColorID = iline15;
|
||||
|
||||
GlobalVars.ColorMenu_HeadColor = Decryptline16;
|
||||
GlobalVars.ColorMenu_TorsoColor = Decryptline17;
|
||||
GlobalVars.ColorMenu_LeftArmColor = Decryptline18;
|
||||
GlobalVars.ColorMenu_RightArmColor = Decryptline19;
|
||||
GlobalVars.ColorMenu_LeftLegColor = Decryptline20;
|
||||
GlobalVars.ColorMenu_RightLegColor = Decryptline21;
|
||||
|
||||
int iline22 = Convert.ToInt32(Decryptline22);
|
||||
GlobalVars.PlayerLimit = iline22;
|
||||
}
|
||||
|
||||
public static void WriteConfigValues(string cfgpath)
|
||||
{
|
||||
string[] lines = {
|
||||
SecurityFuncs.Base64Encode(GlobalVars.CloseOnLaunch.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.UserID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.PlayerName.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.SelectedClient.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.Map.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.RobloxPort.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.Custom_Hat1ID_Offline.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.Custom_Hat2ID_Offline.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.Custom_Hat3ID_Offline.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.HeadColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.TorsoColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.LeftArmColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.RightArmColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.LeftLegColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.RightLegColorID.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_HeadColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_TorsoColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_LeftArmColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_RightArmColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_LeftLegColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.ColorMenu_RightLegColor.ToString()),
|
||||
SecurityFuncs.Base64Encode(GlobalVars.PlayerLimit.ToString())
|
||||
};
|
||||
File.WriteAllText(cfgpath, SecurityFuncs.Base64Encode(string.Join("|",lines)));
|
||||
}
|
||||
|
||||
public static void ResetConfigValues()
|
||||
{
|
||||
GlobalVars.CloseOnLaunch = false;
|
||||
GlobalVars.UserID = 0;
|
||||
GlobalVars.PlayerName = "Player";
|
||||
GlobalVars.SelectedClient = "Mid-2008";
|
||||
GlobalVars.Map = "Baseplate.rbxl";
|
||||
GlobalVars.RobloxPort = 53640;
|
||||
GlobalVars.Custom_Hat1ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat2ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat3ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.HeadColorID = 24;
|
||||
GlobalVars.TorsoColorID = 23;
|
||||
GlobalVars.LeftArmColorID = 24;
|
||||
GlobalVars.RightArmColorID = 24;
|
||||
GlobalVars.LeftLegColorID = 119;
|
||||
GlobalVars.RightLegColorID = 119;
|
||||
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
|
||||
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
|
||||
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
|
||||
GlobalVars.PlayerLimit = 12;
|
||||
}
|
||||
|
||||
public static void ReadClientValues(string clientpath)
|
||||
{
|
||||
string line1;
|
||||
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6;
|
||||
|
||||
using(StreamReader reader = new StreamReader(clientpath))
|
||||
{
|
||||
line1 = reader.ReadLine();
|
||||
}
|
||||
|
||||
if (!SecurityFuncs.IsBase64String(line1))
|
||||
return;
|
||||
|
||||
string ConvertedLine = SecurityFuncs.Base64Decode(line1);
|
||||
string[] result = ConvertedLine.Split('|');
|
||||
Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
|
||||
Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
|
||||
Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
|
||||
Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
|
||||
Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
|
||||
Decryptline6 = SecurityFuncs.Base64Decode(result[5]);
|
||||
|
||||
bool bline1 = Convert.ToBoolean(Decryptline1);
|
||||
GlobalVars.UsesPlayerName = bline1;
|
||||
|
||||
bool bline2 = Convert.ToBoolean(Decryptline2);
|
||||
GlobalVars.UsesID = bline2;
|
||||
|
||||
bool bline3 = Convert.ToBoolean(Decryptline3);
|
||||
GlobalVars.LoadsAssetsOnline = bline3;
|
||||
|
||||
bool bline4 = Convert.ToBoolean(Decryptline4);
|
||||
GlobalVars.LegacyMode = bline4;
|
||||
|
||||
GlobalVars.SelectedClientMD5 = Decryptline5;
|
||||
|
||||
GlobalVars.SelectedClientDesc = Decryptline6;
|
||||
|
||||
GlobalVars.MD5 = GlobalVars.SelectedClientMD5;
|
||||
}
|
||||
|
||||
public static void GeneratePlayerID()
|
||||
{
|
||||
CryptoRandom random = new CryptoRandom();
|
||||
int randomID = 0;
|
||||
int randIDmode = random.Next(0,7);
|
||||
if (randIDmode == 0)
|
||||
{
|
||||
randomID = random.Next(0, 99);
|
||||
}
|
||||
else if (randIDmode == 1)
|
||||
{
|
||||
randomID = random.Next(0, 999);
|
||||
}
|
||||
else if (randIDmode == 2)
|
||||
{
|
||||
randomID = random.Next(0, 9999);
|
||||
}
|
||||
else if (randIDmode == 3)
|
||||
{
|
||||
randomID = random.Next(0, 99999);
|
||||
}
|
||||
else if (randIDmode == 4)
|
||||
{
|
||||
randomID = random.Next(0, 999999);
|
||||
}
|
||||
else if (randIDmode == 5)
|
||||
{
|
||||
randomID = random.Next(0, 9999999);
|
||||
}
|
||||
else if (randIDmode == 6)
|
||||
{
|
||||
randomID = random.Next(0, 99999999);
|
||||
}
|
||||
else if (randIDmode == 7)
|
||||
{
|
||||
randomID = random.Next();
|
||||
}
|
||||
//2147483647 is max id.
|
||||
GlobalVars.UserID = randomID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/13/2017
|
||||
* Time: 11:45 AM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
partial class LoaderForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoaderForm));
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
|
||||
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(260, 59);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(12, 98);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(260, 23);
|
||||
this.progressBar1.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(12, 74);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(260, 21);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Initializing...";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// LoaderForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.ClientSize = new System.Drawing.Size(284, 135);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "LoaderForm";
|
||||
this.Load += new System.EventHandler(this.LoaderFormLoad);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/13/2017
|
||||
* Time: 11:45 AM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of LoaderForm.
|
||||
/// </summary>
|
||||
public partial class LoaderForm : Form
|
||||
{
|
||||
public LoaderForm()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
|
||||
void LoaderFormLoad(object sender, EventArgs e)
|
||||
{
|
||||
QuickConfigure main = new QuickConfigure();
|
||||
main.ShowDialog();
|
||||
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
|
||||
}
|
||||
|
||||
void StartGame()
|
||||
{
|
||||
string ExtractedArg = GlobalVars.SharedArgs.Replace("rbxlegacy://", "").Replace("rbxlegacy", "").Replace(":", "").Replace("/", "").Replace("?", "");
|
||||
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
|
||||
string[] SplitArg = ConvertedArg.Split('|');
|
||||
string ip = SecurityFuncs.Base64Decode(SplitArg[0]);
|
||||
string port = SecurityFuncs.Base64Decode(SplitArg[1]);
|
||||
string client = SecurityFuncs.Base64Decode(SplitArg[2]);
|
||||
ReadClientValues(client);
|
||||
string luafile = "rbxasset://scripts\\\\CSMPFunctions.lua";
|
||||
string rbxexe = "";
|
||||
if (GlobalVars.LegacyMode == true)
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + @"\\RobloxApp.exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + @"\\RobloxApp_client.exe";
|
||||
}
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
string HatIDOffline1 = GlobalVars.Custom_Hat1ID_Offline;
|
||||
string HatIDOffline2 = GlobalVars.Custom_Hat2ID_Offline;
|
||||
string HatIDOffline3 = GlobalVars.Custom_Hat3ID_Offline;
|
||||
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + ip + "'," + port + ",'" + GlobalVars.PlayerName + "','" + HatIDOffline1 + "','" + HatIDOffline2 + "','" + HatIDOffline3 + "'," + GlobalVars.HeadColorID + "," + GlobalVars.TorsoColorID + "," + GlobalVars.LeftArmColorID + "," + GlobalVars.RightArmColorID + "," + GlobalVars.LeftLegColorID + "," + GlobalVars.RightLegColorID + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + ip + "'," + port + ",'Player','" + HatIDOffline1 + "','" + HatIDOffline2 + "','" + HatIDOffline3 + "'," + GlobalVars.HeadColorID + "," + GlobalVars.TorsoColorID + "," + GlobalVars.LeftArmColorID + "," + GlobalVars.RightArmColorID + "," + GlobalVars.LeftLegColorID + "," + GlobalVars.RightLegColorID + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + ip + "'," + port + ",'" + GlobalVars.PlayerName + "','" + HatIDOffline1 + "','" + HatIDOffline2 + "','" + HatIDOffline3 + "'," + GlobalVars.HeadColorID + "," + GlobalVars.TorsoColorID + "," + GlobalVars.LeftArmColorID + "," + GlobalVars.RightArmColorID + "," + GlobalVars.LeftLegColorID + "," + GlobalVars.RightLegColorID + ");" + quote;
|
||||
}
|
||||
else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
|
||||
{
|
||||
args = "-script " + quote + "dofile('" + luafile + "'); _G.CSConnect(0,'" + ip + "'," + port + ",'Player','" + HatIDOffline1 + "','" + HatIDOffline2 + "','" + HatIDOffline3 + "'," + GlobalVars.HeadColorID + "," + GlobalVars.TorsoColorID + "," + GlobalVars.LeftArmColorID + "," + GlobalVars.RightArmColorID + "," + GlobalVars.LeftLegColorID + "," + GlobalVars.RightLegColorID + ");" + quote;
|
||||
}
|
||||
try
|
||||
{
|
||||
if (SecurityFuncs.checkClientMD5(client) == true)
|
||||
{
|
||||
Process.Start(rbxexe, args);
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
label1.Text = "The client has been detected as modified.";
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
label1.Text = "The client has been detected as modified.";
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckIfFinished(object state)
|
||||
{
|
||||
if (GlobalVars.ReadyToLaunch == false)
|
||||
{
|
||||
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
label1.Text = "Launching Game...";
|
||||
StartGame();
|
||||
}
|
||||
}
|
||||
|
||||
void ReadConfigValues()
|
||||
{
|
||||
LauncherFuncs.ReadConfigValues(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\config.txt");
|
||||
}
|
||||
|
||||
void ReadClientValues(string ClientName)
|
||||
{
|
||||
string clientpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + ClientName + "\\clientinfo.txt";
|
||||
|
||||
if (!File.Exists(clientpath))
|
||||
{
|
||||
MessageBox.Show("No clientinfo.txt detected with the client you chose. The client either cannot be loaded, or it is not available.","RBXLegacy Launcher - Error while loading client", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
GlobalVars.SelectedClient = "2008";
|
||||
}
|
||||
|
||||
LauncherFuncs.ReadClientValues(clientpath);
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -123,6 +123,9 @@ namespace RBXLegacyLauncher
|
|||
this.label28 = new System.Windows.Forms.Label();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.textBox5 = new System.Windows.Forms.TextBox();
|
||||
this.label43 = new System.Windows.Forms.Label();
|
||||
this.label44 = new System.Windows.Forms.Label();
|
||||
this.button21 = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
|
|
@ -615,6 +618,9 @@ namespace RBXLegacyLauncher
|
|||
//
|
||||
// tabPage5
|
||||
//
|
||||
this.tabPage5.Controls.Add(this.button21);
|
||||
this.tabPage5.Controls.Add(this.label44);
|
||||
this.tabPage5.Controls.Add(this.label43);
|
||||
this.tabPage5.Controls.Add(this.textBox3);
|
||||
this.tabPage5.Controls.Add(this.label29);
|
||||
this.tabPage5.Controls.Add(this.button11);
|
||||
|
|
@ -666,9 +672,9 @@ namespace RBXLegacyLauncher
|
|||
//
|
||||
// button9
|
||||
//
|
||||
this.button9.Location = new System.Drawing.Point(209, 236);
|
||||
this.button9.Location = new System.Drawing.Point(54, 212);
|
||||
this.button9.Name = "button9";
|
||||
this.button9.Size = new System.Drawing.Size(81, 42);
|
||||
this.button9.Size = new System.Drawing.Size(100, 33);
|
||||
this.button9.TabIndex = 37;
|
||||
this.button9.Text = "Reset Config";
|
||||
this.button9.UseVisualStyleBackColor = true;
|
||||
|
|
@ -687,9 +693,9 @@ namespace RBXLegacyLauncher
|
|||
// button7
|
||||
//
|
||||
this.button7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button7.Location = new System.Drawing.Point(114, 236);
|
||||
this.button7.Location = new System.Drawing.Point(54, 248);
|
||||
this.button7.Name = "button7";
|
||||
this.button7.Size = new System.Drawing.Size(81, 42);
|
||||
this.button7.Size = new System.Drawing.Size(100, 33);
|
||||
this.button7.TabIndex = 34;
|
||||
this.button7.Text = "Save Config";
|
||||
this.button7.UseVisualStyleBackColor = true;
|
||||
|
|
@ -732,7 +738,7 @@ namespace RBXLegacyLauncher
|
|||
//
|
||||
// label33
|
||||
//
|
||||
this.label33.Location = new System.Drawing.Point(162, 199);
|
||||
this.label33.Location = new System.Drawing.Point(293, 196);
|
||||
this.label33.Name = "label33";
|
||||
this.label33.Size = new System.Drawing.Size(79, 13);
|
||||
this.label33.TabIndex = 29;
|
||||
|
|
@ -756,7 +762,7 @@ namespace RBXLegacyLauncher
|
|||
//
|
||||
// checkBox3
|
||||
//
|
||||
this.checkBox3.Location = new System.Drawing.Point(150, 214);
|
||||
this.checkBox3.Location = new System.Drawing.Point(282, 212);
|
||||
this.checkBox3.Name = "checkBox3";
|
||||
this.checkBox3.Size = new System.Drawing.Size(108, 18);
|
||||
this.checkBox3.TabIndex = 22;
|
||||
|
|
@ -1042,6 +1048,32 @@ namespace RBXLegacyLauncher
|
|||
this.textBox5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.textBox5.TextChanged += new System.EventHandler(this.TextBox5TextChanged);
|
||||
//
|
||||
// label43
|
||||
//
|
||||
this.label43.Location = new System.Drawing.Point(54, 196);
|
||||
this.label43.Name = "label43";
|
||||
this.label43.Size = new System.Drawing.Size(100, 13);
|
||||
this.label43.TabIndex = 42;
|
||||
this.label43.Text = "CONFIG OPTIONS";
|
||||
//
|
||||
// label44
|
||||
//
|
||||
this.label44.Location = new System.Drawing.Point(183, 196);
|
||||
this.label44.Name = "label44";
|
||||
this.label44.Size = new System.Drawing.Size(77, 13);
|
||||
this.label44.TabIndex = 43;
|
||||
this.label44.Text = "URI OPTIONS";
|
||||
//
|
||||
// button21
|
||||
//
|
||||
this.button21.Location = new System.Drawing.Point(183, 224);
|
||||
this.button21.Name = "button21";
|
||||
this.button21.Size = new System.Drawing.Size(75, 39);
|
||||
this.button21.TabIndex = 44;
|
||||
this.button21.Text = "Install URI";
|
||||
this.button21.UseVisualStyleBackColor = true;
|
||||
this.button21.Click += new System.EventHandler(this.Button21Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -1090,6 +1122,9 @@ namespace RBXLegacyLauncher
|
|||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
private System.Windows.Forms.Label label43;
|
||||
private System.Windows.Forms.Label label44;
|
||||
private System.Windows.Forms.Button button21;
|
||||
private System.Windows.Forms.Label label41;
|
||||
private System.Windows.Forms.Label label40;
|
||||
private System.Windows.Forms.Label label42;
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@ using System.Windows.Forms;
|
|||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
|
|
@ -172,132 +170,7 @@ namespace RBXLegacyLauncher
|
|||
|
||||
void ReadConfigValues()
|
||||
{
|
||||
string line1, line2, line3, line4, line5, line6, line7, line8, line9, line10, line11, line12, line13, line14, line15, line16, line17, line18, line19, line20, line21, line22;
|
||||
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline8, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15, Decryptline16, Decryptline17, Decryptline18, Decryptline19, Decryptline20, Decryptline21, Decryptline22;
|
||||
|
||||
using(StreamReader reader = new StreamReader("config.txt"))
|
||||
{
|
||||
line1 = reader.ReadLine();
|
||||
line2 = reader.ReadLine();
|
||||
line3 = reader.ReadLine();
|
||||
line4 = reader.ReadLine();
|
||||
line5 = reader.ReadLine();
|
||||
line6 = reader.ReadLine();
|
||||
line7 = reader.ReadLine();
|
||||
line8 = reader.ReadLine();
|
||||
line9 = reader.ReadLine();
|
||||
line10 = reader.ReadLine();
|
||||
line11 = reader.ReadLine();
|
||||
line12 = reader.ReadLine();
|
||||
line13 = reader.ReadLine();
|
||||
line14 = reader.ReadLine();
|
||||
line15 = reader.ReadLine();
|
||||
line16 = reader.ReadLine();
|
||||
line17 = reader.ReadLine();
|
||||
line18 = reader.ReadLine();
|
||||
line19 = reader.ReadLine();
|
||||
line20 = reader.ReadLine();
|
||||
line21 = reader.ReadLine();
|
||||
line22 = reader.ReadLine();
|
||||
}
|
||||
|
||||
if (IsBase64String(line1))
|
||||
{
|
||||
Decryptline1 = Base64Decode(line1);
|
||||
Decryptline2 = Base64Decode(line2);
|
||||
Decryptline3 = Base64Decode(line3);
|
||||
Decryptline4 = Base64Decode(line4);
|
||||
Decryptline5 = Base64Decode(line5);
|
||||
Decryptline6 = Base64Decode(line6);
|
||||
Decryptline7 = Base64Decode(line7);
|
||||
Decryptline8 = Base64Decode(line8);
|
||||
Decryptline9 = Base64Decode(line9);
|
||||
Decryptline10 = Base64Decode(line10);
|
||||
Decryptline11 = Base64Decode(line11);
|
||||
Decryptline12 = Base64Decode(line12);
|
||||
Decryptline13 = Base64Decode(line13);
|
||||
Decryptline14 = Base64Decode(line14);
|
||||
Decryptline15 = Base64Decode(line15);
|
||||
Decryptline16 = Base64Decode(line16);
|
||||
Decryptline17 = Base64Decode(line17);
|
||||
Decryptline18 = Base64Decode(line18);
|
||||
Decryptline19 = Base64Decode(line19);
|
||||
Decryptline20 = Base64Decode(line20);
|
||||
Decryptline21 = Base64Decode(line21);
|
||||
Decryptline22 = Base64Decode(line22);
|
||||
}
|
||||
else
|
||||
{
|
||||
Decryptline1 = line1;
|
||||
Decryptline2 = line2;
|
||||
Decryptline3 = line3;
|
||||
Decryptline4 = line4;
|
||||
Decryptline5 = line5;
|
||||
Decryptline6 = line6;
|
||||
Decryptline7 = line7;
|
||||
Decryptline8 = line8;
|
||||
Decryptline9 = line9;
|
||||
Decryptline10 = line10;
|
||||
Decryptline11 = line11;
|
||||
Decryptline12 = line12;
|
||||
Decryptline13 = line13;
|
||||
Decryptline14 = line14;
|
||||
Decryptline15 = line15;
|
||||
Decryptline16 = line16;
|
||||
Decryptline17 = line17;
|
||||
Decryptline18 = line18;
|
||||
Decryptline19 = line19;
|
||||
Decryptline20 = line20;
|
||||
Decryptline21 = line21;
|
||||
Decryptline22 = line22;
|
||||
}
|
||||
|
||||
bool bline1 = Convert.ToBoolean(Decryptline1);
|
||||
GlobalVars.CloseOnLaunch = bline1;
|
||||
|
||||
int iline2 = Convert.ToInt32(Decryptline2);
|
||||
GlobalVars.UserID = iline2;
|
||||
|
||||
GlobalVars.PlayerName = Decryptline3;
|
||||
|
||||
GlobalVars.SelectedClient = Decryptline4;
|
||||
|
||||
GlobalVars.Map = Decryptline5;
|
||||
|
||||
int iline6 = Convert.ToInt32(Decryptline6);
|
||||
GlobalVars.RobloxPort = iline6;
|
||||
|
||||
GlobalVars.Custom_Hat1ID_Offline = Decryptline7;
|
||||
GlobalVars.Custom_Hat2ID_Offline = Decryptline8;
|
||||
GlobalVars.Custom_Hat3ID_Offline = Decryptline9;
|
||||
|
||||
int iline10 = Convert.ToInt32(Decryptline10);
|
||||
GlobalVars.HeadColorID = iline10;
|
||||
|
||||
int iline11 = Convert.ToInt32(Decryptline11);
|
||||
GlobalVars.TorsoColorID = iline11;
|
||||
|
||||
int iline12 = Convert.ToInt32(Decryptline12);
|
||||
GlobalVars.LeftArmColorID = iline12;
|
||||
|
||||
int iline13 = Convert.ToInt32(Decryptline13);
|
||||
GlobalVars.RightArmColorID = iline13;
|
||||
|
||||
int iline14 = Convert.ToInt32(Decryptline14);
|
||||
GlobalVars.LeftLegColorID = iline14;
|
||||
|
||||
int iline15 = Convert.ToInt32(Decryptline15);
|
||||
GlobalVars.RightLegColorID = iline15;
|
||||
|
||||
GlobalVars.ColorMenu_HeadColor = Decryptline16;
|
||||
GlobalVars.ColorMenu_TorsoColor = Decryptline17;
|
||||
GlobalVars.ColorMenu_LeftArmColor = Decryptline18;
|
||||
GlobalVars.ColorMenu_RightArmColor = Decryptline19;
|
||||
GlobalVars.ColorMenu_LeftLegColor = Decryptline20;
|
||||
GlobalVars.ColorMenu_RightLegColor = Decryptline21;
|
||||
|
||||
int iline22 = Convert.ToInt32(Decryptline22);
|
||||
GlobalVars.PlayerLimit = iline22;
|
||||
LauncherFuncs.ReadConfigValues("config.txt");
|
||||
|
||||
if (GlobalVars.CloseOnLaunch == true)
|
||||
{
|
||||
|
|
@ -342,63 +215,10 @@ namespace RBXLegacyLauncher
|
|||
|
||||
void WriteConfigValues()
|
||||
{
|
||||
string[] lines = {
|
||||
Base64Encode(GlobalVars.CloseOnLaunch.ToString()),
|
||||
Base64Encode(GlobalVars.UserID.ToString()),
|
||||
Base64Encode(GlobalVars.PlayerName.ToString()),
|
||||
Base64Encode(GlobalVars.SelectedClient.ToString()),
|
||||
Base64Encode(GlobalVars.Map.ToString()),
|
||||
Base64Encode(GlobalVars.RobloxPort.ToString()),
|
||||
Base64Encode(GlobalVars.Custom_Hat1ID_Offline.ToString()),
|
||||
Base64Encode(GlobalVars.Custom_Hat2ID_Offline.ToString()),
|
||||
Base64Encode(GlobalVars.Custom_Hat3ID_Offline.ToString()),
|
||||
Base64Encode(GlobalVars.HeadColorID.ToString()),
|
||||
Base64Encode(GlobalVars.TorsoColorID.ToString()),
|
||||
Base64Encode(GlobalVars.LeftArmColorID.ToString()),
|
||||
Base64Encode(GlobalVars.RightArmColorID.ToString()),
|
||||
Base64Encode(GlobalVars.LeftLegColorID.ToString()),
|
||||
Base64Encode(GlobalVars.RightLegColorID.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_HeadColor.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_TorsoColor.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_LeftArmColor.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_RightArmColor.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_LeftLegColor.ToString()),
|
||||
Base64Encode(GlobalVars.ColorMenu_RightLegColor.ToString()),
|
||||
Base64Encode(GlobalVars.PlayerLimit.ToString())
|
||||
};
|
||||
File.WriteAllLines("config.txt", lines);
|
||||
LauncherFuncs.WriteConfigValues("config.txt");
|
||||
ConsolePrint("Config Saved.", 3);
|
||||
}
|
||||
|
||||
void ResetConfigValues()
|
||||
{
|
||||
GlobalVars.CloseOnLaunch = false;
|
||||
GlobalVars.UserID = 0;
|
||||
GlobalVars.PlayerName = "Player";
|
||||
GlobalVars.SelectedClient = "Mid-2008";
|
||||
GlobalVars.Map = "Baseplate.rbxl";
|
||||
GlobalVars.RobloxPort = 53640;
|
||||
GlobalVars.Custom_Hat1ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat2ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.Custom_Hat3ID_Offline = "NoHat.rbxm";
|
||||
GlobalVars.HeadColorID = 24;
|
||||
GlobalVars.TorsoColorID = 23;
|
||||
GlobalVars.LeftArmColorID = 24;
|
||||
GlobalVars.RightArmColorID = 24;
|
||||
GlobalVars.LeftLegColorID = 119;
|
||||
GlobalVars.RightLegColorID = 119;
|
||||
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
|
||||
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
|
||||
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
|
||||
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
|
||||
GlobalVars.PlayerLimit = 12;
|
||||
ConsolePrint("All config settings reset. Reloading config.", 4);
|
||||
WriteConfigValues();
|
||||
ReadConfigValues();
|
||||
}
|
||||
|
||||
void ReadClientValues(string ClientName)
|
||||
{
|
||||
string clientpath = GlobalVars.ClientDir + @"\\" + ClientName + @"\\clientinfo.txt";
|
||||
|
|
@ -410,26 +230,7 @@ namespace RBXLegacyLauncher
|
|||
GlobalVars.SelectedClient = "2008";
|
||||
}
|
||||
|
||||
string line1, line2, line3, line4;
|
||||
|
||||
using(StreamReader reader = new StreamReader(clientpath))
|
||||
{
|
||||
line1 = reader.ReadLine();
|
||||
line2 = reader.ReadLine();
|
||||
line3 = reader.ReadLine();
|
||||
line4 = reader.ReadLine();
|
||||
}
|
||||
|
||||
bool bline1 = Convert.ToBoolean(line1);
|
||||
GlobalVars.UsesPlayerName = bline1;
|
||||
|
||||
bool bline2 = Convert.ToBoolean(line2);
|
||||
GlobalVars.UsesID = bline2;
|
||||
|
||||
bool bline3 = Convert.ToBoolean(line3);
|
||||
GlobalVars.LoadsAssetsOnline = bline3;
|
||||
|
||||
GlobalVars.SelectedClientDesc = line4;
|
||||
LauncherFuncs.ReadClientValues(clientpath);
|
||||
|
||||
if (GlobalVars.UsesPlayerName == true)
|
||||
{
|
||||
|
|
@ -473,43 +274,7 @@ namespace RBXLegacyLauncher
|
|||
|
||||
void GeneratePlayerID()
|
||||
{
|
||||
CryptoRandom random = new CryptoRandom();
|
||||
int randomID = 0;
|
||||
int randIDmode = random.Next(0,7);
|
||||
if (randIDmode == 0)
|
||||
{
|
||||
randomID = random.Next(0, 99);
|
||||
}
|
||||
else if (randIDmode == 1)
|
||||
{
|
||||
randomID = random.Next(0, 999);
|
||||
}
|
||||
else if (randIDmode == 2)
|
||||
{
|
||||
randomID = random.Next(0, 9999);
|
||||
}
|
||||
else if (randIDmode == 3)
|
||||
{
|
||||
randomID = random.Next(0, 99999);
|
||||
}
|
||||
else if (randIDmode == 4)
|
||||
{
|
||||
randomID = random.Next(0, 999999);
|
||||
}
|
||||
else if (randIDmode == 5)
|
||||
{
|
||||
randomID = random.Next(0, 9999999);
|
||||
}
|
||||
else if (randIDmode == 6)
|
||||
{
|
||||
randomID = random.Next(0, 99999999);
|
||||
}
|
||||
else if (randIDmode == 7)
|
||||
{
|
||||
randomID = random.Next();
|
||||
}
|
||||
//2147483647 is max id.
|
||||
GlobalVars.UserID = randomID;
|
||||
LauncherFuncs.GeneratePlayerID();
|
||||
textBox5.Text = Convert.ToString(GlobalVars.UserID);
|
||||
}
|
||||
|
||||
|
|
@ -780,10 +545,73 @@ namespace RBXLegacyLauncher
|
|||
}
|
||||
}
|
||||
|
||||
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 ResetConfigValues()
|
||||
{
|
||||
LauncherFuncs.ResetConfigValues();
|
||||
WriteConfigValues();
|
||||
ReadConfigValues();
|
||||
}
|
||||
|
||||
void ConsolePrint(string text, int type)
|
||||
{
|
||||
richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.White);
|
||||
richTextBox1.AppendText(" - ", Color.White);
|
||||
if (type == 1)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.White);
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Red);
|
||||
}
|
||||
else if (type == 3)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Lime);
|
||||
}
|
||||
else if (type == 4)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Aqua);
|
||||
}
|
||||
else if (type == 5)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Yellow);
|
||||
}
|
||||
|
||||
richTextBox1.AppendText(Environment.NewLine);
|
||||
}
|
||||
|
||||
void StartClient()
|
||||
{
|
||||
string luafile = "rbxasset://scripts\\\\CSMPFunctions.lua";
|
||||
string rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
|
||||
string rbxexe = "";
|
||||
if (GlobalVars.LegacyMode == true)
|
||||
{
|
||||
rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp_client.exe";
|
||||
}
|
||||
string quote = "\"";
|
||||
string args = "";
|
||||
string HatIDOffline1 = GlobalVars.Custom_Hat1ID_Offline;
|
||||
|
|
@ -808,7 +636,10 @@ namespace RBXLegacyLauncher
|
|||
try
|
||||
{
|
||||
ConsolePrint("Client Loaded.", 4);
|
||||
Process.Start(rbxexe, args);
|
||||
if (SecurityFuncs.checkClientMD5(GlobalVars.SelectedClient) == true)
|
||||
{
|
||||
Process.Start(rbxexe, args);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -915,37 +746,9 @@ namespace RBXLegacyLauncher
|
|||
}
|
||||
}
|
||||
|
||||
void ConsolePrint(string text, int type)
|
||||
{
|
||||
richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.White);
|
||||
richTextBox1.AppendText(" - ", Color.White);
|
||||
if (type == 1)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.White);
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Red);
|
||||
}
|
||||
else if (type == 3)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Lime);
|
||||
}
|
||||
else if (type == 4)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Aqua);
|
||||
}
|
||||
else if (type == 5)
|
||||
{
|
||||
richTextBox1.AppendText(text, Color.Yellow);
|
||||
}
|
||||
|
||||
richTextBox1.AppendText(Environment.NewLine);
|
||||
}
|
||||
|
||||
void ConsoleProcessCommands(string command)
|
||||
{
|
||||
string important = Base64Decode("cmJ4bGVnYWN5IGthbnJpc2hh");
|
||||
string important = SecurityFuncs.Base64Decode("cmJ4bGVnYWN5IGthbnJpc2hh");
|
||||
if (command.Equals("rbxlegacy server"))
|
||||
{
|
||||
StartServer();
|
||||
|
|
@ -1045,48 +848,26 @@ namespace RBXLegacyLauncher
|
|||
}
|
||||
}
|
||||
|
||||
public static string Base64Decode(string base64EncodedData)
|
||||
{
|
||||
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
||||
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
||||
}
|
||||
|
||||
public static string Base64Encode(string plainText)
|
||||
{
|
||||
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
||||
return System.Convert.ToBase64String(plainTextBytes);
|
||||
}
|
||||
|
||||
public static bool IsBase64String(string s)
|
||||
{
|
||||
s = s.Trim();
|
||||
return (s.Length % 4 == 0) && Regex.IsMatch(s, @"^[a-zA-Z0-9\+/]*={0,3}$", RegexOptions.None);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosing(FormClosingEventArgs e)
|
||||
{
|
||||
base.OnFormClosing(e);
|
||||
WriteConfigValues();
|
||||
}
|
||||
|
||||
void Button21Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
string loadstring = Environment.CurrentDirectory + Path.DirectorySeparatorChar + System.AppDomain.CurrentDomain.FriendlyName;
|
||||
SecurityFuncs.RegisterURLProtocol("RBXLegacy", loadstring, "RBXLegacy URI");
|
||||
ConsolePrint("URI Successfully Installed!", 3);
|
||||
DialogResult result1 = MessageBox.Show("URI Successfully Installed!","RBXLegacy Launcher - Install URI", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ConsolePrint("ERROR 5 - Failed to install URI. (" + ex.Message + ")", 2);
|
||||
DialogResult result2 = MessageBox.Show("Failed to install URI. (Error: " + ex.Message + ")","RBXLegacy Launcher - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@ namespace RBXLegacyLauncher
|
|||
/// </summary>
|
||||
internal sealed class Program
|
||||
{
|
||||
static string ProcessInput(string s)
|
||||
{
|
||||
return s;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Program entry point.
|
||||
/// </summary>
|
||||
|
|
@ -24,7 +29,18 @@ namespace RBXLegacyLauncher
|
|||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new MainForm());
|
||||
if (args.Length == 0)
|
||||
{
|
||||
Application.Run(new MainForm());
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (string s in args)
|
||||
{
|
||||
GlobalVars.SharedArgs = ProcessInput(s);
|
||||
}
|
||||
Application.Run(new LoaderForm());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/13/2017
|
||||
* Time: 4:16 PM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
partial class QuickConfigure
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuickConfigure));
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(55, 12);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(217, 20);
|
||||
this.textBox1.TabIndex = 0;
|
||||
this.textBox1.Text = "Player";
|
||||
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(55, 38);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(217, 20);
|
||||
this.textBox2.TabIndex = 1;
|
||||
this.textBox2.Text = "0";
|
||||
this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(12, 15);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(37, 17);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Name:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(12, 38);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(20, 16);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "ID";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 64);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(124, 23);
|
||||
this.button1.TabIndex = 4;
|
||||
this.button1.Text = "Customize Character";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.Button1Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(97, 93);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(87, 23);
|
||||
this.button2.TabIndex = 5;
|
||||
this.button2.Text = "Launch";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.Button2Click);
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Location = new System.Drawing.Point(148, 64);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(124, 23);
|
||||
this.button3.TabIndex = 6;
|
||||
this.button3.Text = "Regenerate Player ID";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.Button3Click);
|
||||
//
|
||||
// QuickConfigure
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.ClientSize = new System.Drawing.Size(284, 124);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "QuickConfigure";
|
||||
this.Load += new System.EventHandler(this.QuickConfigureLoad);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/13/2017
|
||||
* Time: 4:16 PM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.IO;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of QuickConfigure.
|
||||
/// </summary>
|
||||
public partial class QuickConfigure : Form
|
||||
{
|
||||
public QuickConfigure()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
|
||||
void QuickConfigureLoad(object sender, EventArgs e)
|
||||
{
|
||||
string cfgpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\config.txt";
|
||||
if (!File.Exists(cfgpath))
|
||||
{
|
||||
LauncherFuncs.WriteConfigValues(cfgpath);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReadConfigValues(cfgpath);
|
||||
}
|
||||
}
|
||||
|
||||
void Button3Click(object sender, EventArgs e)
|
||||
{
|
||||
GeneratePlayerID();
|
||||
}
|
||||
|
||||
void ReadConfigValues(string cfgpath)
|
||||
{
|
||||
LauncherFuncs.ReadConfigValues(cfgpath);
|
||||
|
||||
if (GlobalVars.UserID == 0)
|
||||
{
|
||||
GeneratePlayerID();
|
||||
LauncherFuncs.WriteConfigValues(cfgpath);
|
||||
}
|
||||
else
|
||||
{
|
||||
textBox2.Text = GlobalVars.UserID.ToString();
|
||||
}
|
||||
|
||||
textBox1.Text = GlobalVars.PlayerName;
|
||||
}
|
||||
|
||||
void GeneratePlayerID()
|
||||
{
|
||||
LauncherFuncs.GeneratePlayerID();
|
||||
textBox2.Text = GlobalVars.UserID.ToString();
|
||||
}
|
||||
|
||||
void TextBox1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
GlobalVars.PlayerName = textBox2.Text;
|
||||
}
|
||||
|
||||
void TextBox2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
int parsedValue;
|
||||
if (int.TryParse(textBox2.Text, out parsedValue))
|
||||
{
|
||||
if (textBox2.Text.Equals(""))
|
||||
{
|
||||
GlobalVars.UserID = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalVars.UserID = Convert.ToInt32(textBox2.Text);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalVars.UserID = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Button1Click(object sender, EventArgs e)
|
||||
{
|
||||
CharacterCustomization ccustom = new CharacterCustomization();
|
||||
ccustom.Show();
|
||||
}
|
||||
|
||||
void Button2Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
protected override void OnFormClosing(FormClosingEventArgs e)
|
||||
{
|
||||
string cfgpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\config.txt";
|
||||
base.OnFormClosing(e);
|
||||
LauncherFuncs.WriteConfigValues(cfgpath);
|
||||
GlobalVars.ReadyToLaunch = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -68,7 +68,17 @@
|
|||
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CryptoRandom.cs" />
|
||||
<Compile Include="LauncherFuncs.cs" />
|
||||
<Compile Include="LoaderForm.cs" />
|
||||
<Compile Include="LoaderForm.Designer.cs">
|
||||
<DependentUpon>LoaderForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="QuickConfigure.cs" />
|
||||
<Compile Include="QuickConfigure.Designer.cs">
|
||||
<DependentUpon>QuickConfigure.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RichTextBoxExtensions.cs" />
|
||||
<Compile Include="SecurityFuncs.cs" />
|
||||
<Compile Include="ServerInfo.cs" />
|
||||
<Compile Include="ServerInfo.Designer.cs">
|
||||
<DependentUpon>ServerInfo.cs</DependentUpon>
|
||||
|
|
@ -95,9 +105,15 @@
|
|||
<EmbeddedResource Include="ClientinfoCreator.resx">
|
||||
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="LoaderForm.resx">
|
||||
<DependentUpon>LoaderForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainForm.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="QuickConfigure.resx">
|
||||
<DependentUpon>QuickConfigure.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ServerInfo.resx">
|
||||
<DependentUpon>ServerInfo.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: BITL
|
||||
* Date: 6/12/2017
|
||||
* Time: 5:10 PM
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace RBXLegacyLauncher
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of SecurityFuncs.
|
||||
/// </summary>
|
||||
public class SecurityFuncs
|
||||
{
|
||||
public SecurityFuncs()
|
||||
{
|
||||
}
|
||||
|
||||
public static string Base64Decode(string base64EncodedData)
|
||||
{
|
||||
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
||||
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
||||
}
|
||||
|
||||
public static string Base64Encode(string plainText)
|
||||
{
|
||||
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
||||
return System.Convert.ToBase64String(plainTextBytes);
|
||||
}
|
||||
|
||||
public static bool IsBase64String(string s)
|
||||
{
|
||||
s = s.Trim();
|
||||
return (s.Length % 4 == 0) && Regex.IsMatch(s, @"^[a-zA-Z0-9\+/]*={0,3}$", RegexOptions.None);
|
||||
}
|
||||
|
||||
public static void RegisterURLProtocol(string protocolName, string applicationPath, string description)
|
||||
{
|
||||
RegistryKey subKey = Registry.ClassesRoot.CreateSubKey(protocolName);
|
||||
subKey.SetValue((string) null, (object) description);
|
||||
subKey.SetValue("URL Protocol", (object) string.Empty);
|
||||
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell");
|
||||
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell\\open");
|
||||
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell\\open\\command").SetValue((string) null, (object) ("\"" + applicationPath + "\" \"%1\""));
|
||||
}
|
||||
|
||||
public static bool checkClientMD5(string client)
|
||||
{
|
||||
string rbxexe = "";
|
||||
if (GlobalVars.LegacyMode == true)
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + "\\RobloxApp.exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
rbxexe = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\clients\\" + client + "\\RobloxApp_client.exe";
|
||||
}
|
||||
using (var md5 = MD5.Create())
|
||||
{
|
||||
using (var stream = File.OpenRead(rbxexe))
|
||||
{
|
||||
byte[] hash = md5.ComputeHash(stream);
|
||||
string clientMD5 = BitConverter.ToString(hash).Replace("-", "");
|
||||
if (clientMD5.Equals(GlobalVars.MD5))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -46,11 +46,12 @@ namespace RBXLegacyLauncher
|
|||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.textBox1.Location = new System.Drawing.Point(13, 13);
|
||||
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textBox1.Location = new System.Drawing.Point(2, 3);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ReadOnly = true;
|
||||
this.textBox1.Size = new System.Drawing.Size(479, 237);
|
||||
this.textBox1.Size = new System.Drawing.Size(501, 256);
|
||||
this.textBox1.TabIndex = 0;
|
||||
//
|
||||
// ServerInfo
|
||||
|
|
@ -58,6 +59,7 @@ namespace RBXLegacyLauncher
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoScroll = true;
|
||||
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.ClientSize = new System.Drawing.Size(504, 262);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
|
|
|
|||
|
|
@ -32,16 +32,55 @@ namespace RBXLegacyLauncher
|
|||
|
||||
void ServerInfoLoad(object sender, EventArgs e)
|
||||
{
|
||||
string sent = textBox1.Text;
|
||||
textBox1.AppendText("Client: " + GlobalVars.SelectedClient);
|
||||
textBox1.AppendText(Environment.NewLine);
|
||||
textBox1.AppendText("IP: " + GetExternalIPAddress());
|
||||
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("Version: RBXLegacy " + GlobalVars.Version);
|
||||
textBox1.AppendText(Environment.NewLine);
|
||||
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(Environment.NewLine);
|
||||
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(Environment.NewLine);
|
||||
textBox1.AppendText(URI2);
|
||||
}
|
||||
|
||||
string GetExternalIPAddress()
|
||||
{
|
||||
string ipAddress;
|
||||
using (WebClient wc = new WebClient())
|
||||
{
|
||||
try
|
||||
{
|
||||
ipAddress = wc.DownloadString("http://icanhazip.com/");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
ipAddress = "localhost" + Environment.NewLine;
|
||||
}
|
||||
}
|
||||
|
||||
return ipAddress;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAYAEBAAAAAAIABoBAAAZgAAACAgAAAAACAAqBAAAM4EAAAwMAAAAAAgAKglAAB2FQAAQEAAAAAA
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
; Script generated by the Inno Script Studio Wizard.
|
||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||
|
||||
#define AppVer "1.15.2"
|
||||
#define AppVer "1.16"
|
||||
|
||||
[Setup]
|
||||
; NOTE: The value of AppId uniquely identifies this application.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,146 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal 'Comic Sans MS' , Verdana, sans-serif;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
border-top: solid 1px #000;
|
||||
color: White;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #6e99c9;
|
||||
border-bottom: solid 1px #000;
|
||||
border-left: solid 1px #000;
|
||||
border-right: solid 1px #000;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
clear: both;
|
||||
background-color: #6e99c9;
|
||||
border-bottom: solid 1px #000;
|
||||
border-left: solid 1px #000;
|
||||
border-right: solid 1px #000;
|
||||
color: #fff;
|
||||
font-family: 'Comic Sans MS' , Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px Gray;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #F5CD2F;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Comic Sans MS;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #eee;
|
||||
border: solid 1px #000;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #ddd;
|
||||
border: solid 1px #000;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal 'Comic Sans MS' , Verdana, sans-serif;
|
||||
color: White;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
background-color: #1a1a1a;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
border-top: solid 1px #000;
|
||||
color: White;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #6e99c9;
|
||||
border-bottom: solid 1px #000;
|
||||
border-left: solid 1px #000;
|
||||
border-right: solid 1px #000;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
clear: both;
|
||||
background-color: #6e99c9;
|
||||
border-bottom: solid 1px #000;
|
||||
border-left: solid 1px #000;
|
||||
border-right: solid 1px #000;
|
||||
color: #fff;
|
||||
font-family: 'Comic Sans MS' , Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px #353535;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #B3B2AF;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Comic Sans MS;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #989898;
|
||||
border: solid 1px #000;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #7D7D7D;
|
||||
border: solid 1px #000;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal Verdana, sans-serif;
|
||||
color: White;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
background-color: #1a1a1a;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
color: White;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #C15956;
|
||||
border-left: solid 2px #7B3937;
|
||||
border-right: solid 2px #7B3937;
|
||||
border-top: solid 2px #7B3937;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
background-color: #C15956;
|
||||
border-left: solid 2px #7B3937;
|
||||
border-right: solid 2px #7B3937;
|
||||
border-bottom: solid 2px #7B3937;
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px #353535;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #B3B2AF;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Verdana;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #989898;
|
||||
border: solid 2px #B6B6B6;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #7D7D7D;
|
||||
border: solid 2px #868686;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal Verdana, sans-serif;
|
||||
color: White;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
background-color: #1a1a1a;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
color: White;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #989898;
|
||||
border-left: solid 2px #B6B6B6;
|
||||
border-right: solid 2px #B6B6B6;
|
||||
border-top: solid 2px #B6B6B6;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
background-color: #989898;
|
||||
border-left: solid 2px #B6B6B6;
|
||||
border-right: solid 2px #B6B6B6;
|
||||
border-bottom: solid 2px #B6B6B6;
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px #353535;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #B3B2AF;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Verdana;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #989898;
|
||||
border: solid 2px #B6B6B6;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #7D7D7D;
|
||||
border: solid 2px #868686;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal Verdana, sans-serif;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
color: White;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #C15956;
|
||||
border-left: solid 2px #7B3937;
|
||||
border-right: solid 2px #7B3937;
|
||||
border-top: solid 2px #7B3937;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
background-color: #C15956;
|
||||
border-left: solid 2px #7B3937;
|
||||
border-right: solid 2px #7B3937;
|
||||
border-bottom: solid 2px #7B3937;
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px Gray;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #e0dfdb;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Verdana;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #eee;
|
||||
border: solid 2px #d1d1d1;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #ddd;
|
||||
border: solid 2px #ccc;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
body
|
||||
{
|
||||
font: normal 8pt/normal Verdana, sans-serif;
|
||||
margin-top: 0;
|
||||
text-transform: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Container
|
||||
{
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Header
|
||||
{
|
||||
margin: 0 auto;
|
||||
color: Black;
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Header a, #Header a:visited, #Header a:active
|
||||
{
|
||||
color: Black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Header a:hover
|
||||
{
|
||||
color: Black;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#Banner
|
||||
{
|
||||
background-color: #eee;
|
||||
border-left: solid 2px #d1d1d1;
|
||||
border-right: solid 2px #d1d1d1;
|
||||
border-top: solid 2px #d1d1d1;
|
||||
height: 72px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#Banner #Logo
|
||||
{
|
||||
float: center;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
width: 293px;
|
||||
}
|
||||
|
||||
#Header .Navigation
|
||||
{
|
||||
background-color: #eee;
|
||||
border-left: solid 2px #d1d1d1;
|
||||
border-right: solid 2px #d1d1d1;
|
||||
border-bottom: solid 2px #d1d1d1;
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: normal;
|
||||
line-height: 2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#Body
|
||||
{
|
||||
margin: 10px 0;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
#Footer
|
||||
{
|
||||
font: normal 12px/normal Verdana, sans-serif;
|
||||
margin-top: 10px;
|
||||
width: 900px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="text"]
|
||||
{
|
||||
border: dashed 2px Gray;
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 1.2em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"]
|
||||
{
|
||||
background-color: #e0dfdb;
|
||||
color: #000;
|
||||
height: 1.5em;
|
||||
font-family: Verdana;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#SplashContainer
|
||||
{
|
||||
}
|
||||
|
||||
#SplashContainer h2
|
||||
{
|
||||
font-size: x-large;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer h3
|
||||
{
|
||||
letter-spacing: normal;
|
||||
margin: 0px 0 5px 0;
|
||||
}
|
||||
|
||||
#SplashContainer #MainPanel
|
||||
{
|
||||
background-color: #eee;
|
||||
border: solid 2px #d1d1d1;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 877px;
|
||||
}
|
||||
|
||||
#SplashContainer #ElementInsert
|
||||
{
|
||||
background-color: #ddd;
|
||||
border: solid 2px #ccc;
|
||||
float: right;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
width: 856px;
|
||||
}
|
||||
|
||||
#SplashContainer #genlink {
|
||||
color: red;
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
|
||||
<head>
|
||||
<title>RBXLegacy</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normal.css" title="normal"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_dark.css" title="dark">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normalOrigins06.css" title="normalorigins06"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_darkOrigins06.css" title="darkorigins06">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classic.css" title="classic">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classicdark.css" title="classicdark">
|
||||
<link rel="Shortcut Icon" type="image/ico" href="images/rbxlegacyicon.ico"/>
|
||||
<script type="text/javascript" src="js/js_funcs.js"></script>
|
||||
</head>
|
||||
<body onload="set_style_from_cookie()">
|
||||
<div id="Container">
|
||||
<div id="Header">
|
||||
<div id="Banner">
|
||||
<center><div id="Logo"><a id="logo" title="RBXLegacy" href="index.php" style="display:inline-block;cursor:pointer;"><img src="images/Logo.png" border="0" id="img" alt="Origins06"/></a></div></center>
|
||||
</div>
|
||||
<div class="Navigation">
|
||||
<span><a id="Games" class="MenuItem" href="games.php">Games</a></span>
|
||||
<span class="Separator"> | </span>
|
||||
<span><a id="HostServer" class="MenuItem" href="hostserver.php">Host Server</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Body">
|
||||
<div id="SplashContainer">
|
||||
<div id="MainPanel">
|
||||
<center>
|
||||
<h2>Games</h2>
|
||||
<?php
|
||||
function noHTML($input, $encoding = 'UTF-8')
|
||||
{
|
||||
return htmlentities($input, ENT_QUOTES | ENT_HTML5, $encoding);
|
||||
}
|
||||
|
||||
$con = new mysqli("localhost", "root", "", "rbxlegacy_games");
|
||||
|
||||
if (mysqli_connect_errno())
|
||||
{
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
}
|
||||
|
||||
$sql="SELECT * FROM games";
|
||||
|
||||
$result=$con->query($sql);
|
||||
if (!$result)
|
||||
{
|
||||
printf("Error: %s\n", $con->error);
|
||||
}
|
||||
|
||||
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
|
||||
{
|
||||
echo "<div id='ElementInsert'>";
|
||||
echo "<center>";
|
||||
echo "<h3><b>".noHTML($row['name'])."</b></h3>";
|
||||
echo "<h3><b>Map: ".noHTML($row['map'])."</b></h3>";
|
||||
echo "<h3><b>Client: ".noHTML(base64_decode($row['client']))."</b></h3>";
|
||||
echo "<h3><b>Player Limit: ".noHTML($row['playerlimit'])."</b></h3>";
|
||||
date_default_timezone_set('America/Phoenix');
|
||||
$date = date('m/d/Y h:i:s a', time());
|
||||
echo "<h3><b> Creation Time: ".$date."</b></h3>";
|
||||
$stringbuild = $row['ip']."|".$row['port']."|".$row['client'];
|
||||
$encryptstring = base64_encode($stringbuild);
|
||||
$url = "RBXLegacy://".$encryptstring;
|
||||
echo "<form action='".$url."'>";
|
||||
echo "<div id='JoinButton'><input type='submit' value='Join'/></div>";
|
||||
echo "</form>";
|
||||
$ip = base64_decode($row['ip']);
|
||||
if($_SERVER['REMOTE_ADDR'] == $ip)
|
||||
{
|
||||
echo "<form action='removeserver.php'>";
|
||||
echo "<div id='DeleteButton'><input type='submit' value='Delete'/></div>";
|
||||
echo "</form>";
|
||||
}
|
||||
echo "</center>";
|
||||
echo "</div>";
|
||||
echo " ";
|
||||
}
|
||||
|
||||
$con->close();
|
||||
?>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Footer">
|
||||
RBXLegacy does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
|
||||
<head>
|
||||
<title>RBXLegacy</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normal.css" title="normal"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_dark.css" title="dark">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normalOrigins06.css" title="normalorigins06"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_darkOrigins06.css" title="darkorigins06">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classic.css" title="classic">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classicdark.css" title="classicdark">
|
||||
<link rel="Shortcut Icon" type="image/ico" href="images/rbxlegacyicon.ico"/>
|
||||
<script type="text/javascript" src="js/js_funcs.js"></script>
|
||||
</head>
|
||||
<body onload="set_style_from_cookie()">
|
||||
<?php
|
||||
$con = new mysqli("localhost", "root", "", "rbxlegacy_games");
|
||||
|
||||
if (mysqli_connect_errno())
|
||||
{
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
}
|
||||
|
||||
$namefixed = mysqli_real_escape_string($con,$_POST['name']);
|
||||
$ipcrypt = base64_encode($_POST['ip']);
|
||||
$clientcrypt = base64_encode($_POST['client']);
|
||||
$portcrypt = base64_encode($_POST['port']);
|
||||
|
||||
$sql="INSERT INTO games (name, map, ip, port, client, playerlimit)
|
||||
|
||||
VALUES
|
||||
|
||||
('$namefixed','$_POST[map]','$ipcrypt','$portcrypt','$clientcrypt','$_POST[playerlimit]')";
|
||||
|
||||
if (!$con->query($sql))
|
||||
{
|
||||
printf("Error: %s\n", $con->error);
|
||||
}
|
||||
|
||||
$con->close();
|
||||
|
||||
$port=$_POST['port'];
|
||||
$playerlimit=$_POST['playerlimit'];
|
||||
?>
|
||||
<div id="Container">
|
||||
<div id="Header">
|
||||
<div id="Banner">
|
||||
<center><div id="Logo"><a id="logo" title="RBXLegacy" href="index.php" style="display:inline-block;cursor:pointer;"><img src="images/Logo.png" border="0" id="img" alt="Origins06"/></a></div></center>
|
||||
</div>
|
||||
<div class="Navigation">
|
||||
<span><a id="Games" class="MenuItem" href="games.php">Games</a></span>
|
||||
<span class="Separator"> | </span>
|
||||
<span><a id="HostServer" class="MenuItem" href="hostserver.php">Host Server</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Body">
|
||||
|
||||
<div id="SplashContainer">
|
||||
<div id="MainPanel">
|
||||
<center>
|
||||
<h2>Host Server</h2>
|
||||
<div id="ElementInsert">
|
||||
<center>
|
||||
<h3>Start up your server by using the RBXLegacy Launcher and launching Studio with your intended map, then paste this into the command bar.</h3>
|
||||
<h3>You can also configure your Launcher to the same settings as the server.</h3>
|
||||
<div id="genlink"><b>dofile('rbxasset://scripts/CSMPFunctions.lua'); _G.CSServer(<?php echo $port ?>,<?php echo $playerlimit ?>);</b></div>
|
||||
</center>
|
||||
</div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Footer">
|
||||
RBXLegacy does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
|
||||
<head>
|
||||
<title>RBXLegacy</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normal.css" title="normal"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_dark.css" title="dark">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normalOrigins06.css" title="normalorigins06"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_darkOrigins06.css" title="darkorigins06">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classic.css" title="classic">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classicdark.css" title="classicdark">
|
||||
<link rel="Shortcut Icon" type="image/ico" href="images/rbxlegacyicon.ico"/>
|
||||
<script type="text/javascript" src="js/js_funcs.js"></script>
|
||||
</head>
|
||||
<body onload="set_style_from_cookie()">
|
||||
<div id="Container">
|
||||
<div id="Header">
|
||||
<div id="Banner">
|
||||
<center><div id="Logo"><a id="logo" title="RBXLegacy" href="index.php" style="display:inline-block;cursor:pointer;"><img src="images/Logo.png" border="0" id="img" alt="Origins06"/></a></div></center>
|
||||
</div>
|
||||
<div class="Navigation">
|
||||
<span><a id="Games" class="MenuItem" href="games.php">Games</a></span>
|
||||
<span class="Separator"> | </span>
|
||||
<span><a id="HostServer" class="MenuItem" href="hostserver.php">Host Server</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Body">
|
||||
|
||||
<div id="SplashContainer">
|
||||
<div id="MainPanel">
|
||||
<center>
|
||||
<h2>Host Server</h2>
|
||||
<b>* = Required</b>
|
||||
<div id="ElementInsert">
|
||||
<form action="getservercode.php" method="post">
|
||||
<center>
|
||||
<h3>Server Name: *</h3>
|
||||
<input type="text" name="name" /><br><br>
|
||||
<h3>Map Name: *</h3>
|
||||
<input type="text" name="map" /><br><br>
|
||||
<h3>IP Address: *</h3>
|
||||
<input type="text" name="ip" value=<?php print $_SERVER['REMOTE_ADDR']; ?> /><br><br>
|
||||
<h3>Client: *</h3>
|
||||
<input type="text" name="client" value="2008" /><br><br>
|
||||
<h3>Port: *</h3>
|
||||
<input type="text" name="port" value="53640"/><br><br>
|
||||
<h3>Player Limit: *</h3>
|
||||
<input type="text" name="playerlimit" value="12"/><br><br>
|
||||
<input type="submit" value="Get server code"/>
|
||||
</center>
|
||||
</form>
|
||||
</div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Footer">
|
||||
RBXLegacy does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 361 KiB |
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
|
||||
<head>
|
||||
<title>RBXLegacy</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normal.css" title="normal"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_dark.css" title="dark">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normalOrigins06.css" title="normalorigins06"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_darkOrigins06.css" title="darkorigins06">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classic.css" title="classic">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classicdark.css" title="classicdark">
|
||||
<link rel="Shortcut Icon" type="image/ico" href="images/rbxlegacyicon.ico"/>
|
||||
<script type="text/javascript" src="js/js_funcs.js"></script>
|
||||
</head>
|
||||
<body onload="set_style_from_cookie()">
|
||||
<div id="Container">
|
||||
<div id="Header">
|
||||
<div id="Banner">
|
||||
<center><div id="Logo"><a id="logo" title="RBXLegacy" href="index.php" style="display:inline-block;cursor:pointer;"><img src="images/Logo.png" border="0" id="img" alt="Origins06"/></a></div></center>
|
||||
</div>
|
||||
<div class="Navigation">
|
||||
<span><a id="Games" class="MenuItem" href="games.php">Games</a></span>
|
||||
<span class="Separator"> | </span>
|
||||
<span><a id="HostServer" class="MenuItem" href="hostserver.php">Host Server</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Body">
|
||||
|
||||
<div id="SplashContainer">
|
||||
<div id="MainPanel">
|
||||
<center>
|
||||
<h2>Welcome to RBXLegacy!</h2>
|
||||
<iframe src="https://discordapp.com/widget?id=310102851839983627&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0"></iframe>
|
||||
<form>
|
||||
<input type="submit" onclick="switch_style('normal'); return false;" name="theme" value="Light" id="normal">
|
||||
<input type="submit" onclick="switch_style('dark'); return false;" name="theme" value="Dark" id="dark">
|
||||
<input type="submit" onclick="switch_style('normalorigins06'); return false;" name="theme" value="Light (Origins06)" id="normalorigins06">
|
||||
<input type="submit" onclick="switch_style('darkorigins06'); return false;" name="theme" value="Dark (Origins06)" id="darkorigins06">
|
||||
<input type="submit" onclick="switch_style('classic'); return false;" name="theme" value="Classic Light" id="classic">
|
||||
<input type="submit" onclick="switch_style('classicdark'); return false;" name="theme" value="Classic Dark" id="classicdark">
|
||||
</form>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Footer">
|
||||
RBXLegacy does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
// *** TO BE CUSTOMISED ***
|
||||
|
||||
var style_cookie_name = "style" ;
|
||||
var style_cookie_duration = 30 ;
|
||||
var style_domain = "localhost" ;
|
||||
|
||||
// *** END OF CUSTOMISABLE SECTION ***
|
||||
// You do not need to customise anything below this line
|
||||
|
||||
function switch_style ( css_title )
|
||||
{
|
||||
// You may use this script on your site free of charge provided
|
||||
// you do not remove this notice or the URL below. Script from
|
||||
// https://www.thesitewizard.com/javascripts/change-style-sheets.shtml
|
||||
var i, link_tag ;
|
||||
for (i = 0, link_tag = document.getElementsByTagName("link") ;
|
||||
i < link_tag.length ; i++ ) {
|
||||
if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1) &&
|
||||
link_tag[i].title) {
|
||||
link_tag[i].disabled = true ;
|
||||
if (link_tag[i].title == css_title) {
|
||||
link_tag[i].disabled = false ;
|
||||
}
|
||||
}
|
||||
set_cookie( style_cookie_name, css_title,
|
||||
style_cookie_duration, style_domain );
|
||||
}
|
||||
}
|
||||
function set_style_from_cookie()
|
||||
{
|
||||
var css_title = get_cookie( style_cookie_name );
|
||||
if (css_title.length) {
|
||||
switch_style( css_title );
|
||||
}
|
||||
}
|
||||
function set_cookie ( cookie_name, cookie_value,
|
||||
lifespan_in_days, valid_domain )
|
||||
{
|
||||
// https://www.thesitewizard.com/javascripts/cookies.shtml
|
||||
var domain_string = valid_domain ?
|
||||
("; domain=" + valid_domain) : '' ;
|
||||
document.cookie = cookie_name +
|
||||
"=" + encodeURIComponent( cookie_value ) +
|
||||
"; max-age=" + 60 * 60 *
|
||||
24 * lifespan_in_days +
|
||||
"; path=/" + domain_string ;
|
||||
}
|
||||
function get_cookie ( cookie_name )
|
||||
{
|
||||
// https://www.thesitewizard.com/javascripts/cookies.shtml
|
||||
var cookie_string = document.cookie ;
|
||||
if (cookie_string.length != 0) {
|
||||
var cookie_value = cookie_string.match (
|
||||
'(^|;)[\s]*' +
|
||||
cookie_name +
|
||||
'=([^;]*)' );
|
||||
return decodeURIComponent ( cookie_value[2] ) ;
|
||||
}
|
||||
return '' ;
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
-- phpMyAdmin SQL Dump
|
||||
-- version 4.6.4
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: 127.0.0.1
|
||||
-- Generation Time: Jun 13, 2017 at 10:16 PM
|
||||
-- Server version: 5.6.21
|
||||
-- PHP Version: 5.6.25
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `rbxlegacy_games`
|
||||
--
|
||||
CREATE DATABASE IF NOT EXISTS `rbxlegacy_games` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
|
||||
USE `rbxlegacy_games`;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `games`
|
||||
--
|
||||
|
||||
CREATE TABLE `games` (
|
||||
`id` int(11) NOT NULL,
|
||||
`name` text,
|
||||
`map` text,
|
||||
`ip` text,
|
||||
`port` text,
|
||||
`client` text,
|
||||
`playerlimit` int(11) NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `games`
|
||||
--
|
||||
ALTER TABLE `games`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `games`
|
||||
--
|
||||
ALTER TABLE `games`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
|
||||
<head>
|
||||
<title>RBXLegacy</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normal.css" title="normal"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_dark.css" title="dark">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_normalOrigins06.css" title="normalorigins06"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_darkOrigins06.css" title="darkorigins06">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classic.css" title="classic">
|
||||
<link rel="stylesheet" type="text/css" href="css/RBXLegacy_classicdark.css" title="classicdark">
|
||||
<link rel="Shortcut Icon" type="image/ico" href="images/rbxlegacyicon.ico"/>
|
||||
<script type="text/javascript" src="js/js_funcs.js"></script>
|
||||
</head>
|
||||
<body onload="set_style_from_cookie()">
|
||||
<?php
|
||||
$con = new mysqli("localhost", "root", "", "rbxlegacy_games");
|
||||
|
||||
if (mysqli_connect_errno())
|
||||
{
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
}
|
||||
|
||||
$sql="SELECT * FROM games";
|
||||
|
||||
$result=$con->query($sql);
|
||||
if (!$result)
|
||||
{
|
||||
printf("Error: %s\n", $con->error);
|
||||
}
|
||||
|
||||
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
|
||||
{
|
||||
$ip = base64_decode($row['ip']);
|
||||
if($_SERVER['REMOTE_ADDR'] == $ip)
|
||||
{
|
||||
$delsql="DELETE FROM games
|
||||
WHERE id = $row[id]";
|
||||
|
||||
$resultdel=$con->query($delsql);
|
||||
if (!$resultdel)
|
||||
{
|
||||
printf("Error: %s\n", $con->error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$con->close();
|
||||
?>
|
||||
<div id="Container">
|
||||
<div id="Header">
|
||||
<div id="Banner">
|
||||
<center><div id="Logo"><a id="logo" title="RBXLegacy" href="index.php" style="display:inline-block;cursor:pointer;"><img src="images/Logo.png" border="0" id="img" alt="Origins06"/></a></div></center>
|
||||
</div>
|
||||
<div class="Navigation">
|
||||
<span><a id="Games" class="MenuItem" href="games.php">Games</a></span>
|
||||
<span class="Separator"> | </span>
|
||||
<span><a id="HostServer" class="MenuItem" href="hostserver.php">Host Server</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Body">
|
||||
<div id="SplashContainer">
|
||||
<div id="MainPanel">
|
||||
<center>
|
||||
<h2>Games</h2>
|
||||
<div id="ElementInsert">
|
||||
<center>
|
||||
<h3>Server has been deleted.</h3>
|
||||
</center>
|
||||
</div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Footer">
|
||||
RBXLegacy does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue