This commit is contained in:
Bitl 2017-06-14 12:58:15 -07:00
parent 6e745c08e5
commit e568cfd8ef
36 changed files with 15191 additions and 352 deletions

View File

@ -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()

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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();
}
}
}

View File

@ -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";

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -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

View File

@ -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;

View File

@ -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);
}
}
}
}

View File

@ -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());
}
}
}

View File

@ -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;
}
}

View File

@ -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

View File

@ -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>

View File

@ -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;
}
}
}
}
}
}

View File

@ -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")));

View File

@ -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;
}
}
}

View File

@ -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

View File

@ -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.

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

93
RBXLegacy_site/games.php Normal file
View File

@ -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>

View File

@ -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>

View File

@ -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

51
RBXLegacy_site/index.php Normal file
View File

@ -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>

View File

@ -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 '' ;
}

View File

@ -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 */;

View File

@ -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>