50 Commits

Author SHA1 Message Date
recroom2016
cb7414eb8d Update avataritems2.txt 2022-04-03 22:34:33 -04:00
recroom2016
5aff58844a Create avataritems.txt 2022-04-02 23:32:04 -04:00
recroom2016
21553584c1 Rename avataritems.txt to avataritems2.txt 2022-04-02 23:31:46 -04:00
recroom2016
41c603233e Update avataritems.txt 2022-04-02 23:30:34 -04:00
recroom2016
7d4c449151 Update avataritems.txt 2022-04-02 23:18:51 -04:00
recroom2016
ebd28aef74 Create motd.txt 2022-04-02 22:10:46 -04:00
recroom2016
8057427772 Update version.txt 2022-03-29 22:51:44 -04:00
recroom2016
0e0da58f81 Update changelog.txt 2022-03-29 22:51:34 -04:00
recroom2016
467230ef1b Update dormslideshow.txt 2022-03-28 23:03:05 -04:00
recroom2016
907fd6c472 Update hotrooms.txt 2022-03-28 22:59:32 -04:00
recroom2016
dfb0bf7a66 Update hotrooms.txt 2022-03-28 22:43:25 -04:00
recroom2016tutorial
540f18f19b new openrec change dropped guys 2022-03-27 22:40:02 -04:00
recroom2016tutorial
30f6657c74 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-03-27 22:12:20 -04:00
recroom2016tutorial
76c86ca4f6 new openrec change dropped guys 2022-03-27 22:12:15 -04:00
recroom2016
0297845357 Update hotrooms.txt 2022-03-27 02:40:55 -04:00
recroom2016
73202952da Update hotrooms.txt 2022-03-27 02:25:48 -04:00
recroom2016
8be5b35339 Create hotrooms.txt 2022-03-27 01:42:56 -04:00
recroom2016
8e6207c335 Update banned.txt 2022-03-26 22:15:15 -04:00
recroom2016tutorial
3fc8f954c1 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-03-24 00:42:47 -04:00
recroom2016tutorial
2344b111d5 september 27th 2018 support 2022-03-24 00:42:44 -04:00
recroom2016
3d26270a55 Create baserooms.txt 2022-03-24 00:27:09 -04:00
recroom2016
9d5fb0432f Update banned.txt 2022-03-24 00:17:21 -04:00
recroom2016
81249c9efe Create banned.txt 2022-03-24 00:16:59 -04:00
recroom2016
e8ffebaf2f Create dormslideshow.txt 2022-03-24 00:16:20 -04:00
recroom2016
83ca99fbcb Rename storefront2 to storefront2.txt 2022-03-23 00:07:58 -04:00
recroom2016
38c33ff4a2 Create storefront2 2022-03-23 00:07:49 -04:00
recroom2016
7b7eb4326b Update banned.txt 2022-03-22 17:25:21 -04:00
recroom2016
10cfabf1d0 Update banned.txt 2022-03-22 13:18:43 -04:00
recroom2016
203a3e0002 Update gameconfigs.txt 2022-03-21 22:44:55 -04:00
recroom2016
a8f6aaf90d Update banned.txt 2022-03-19 18:04:55 -04:00
recroom2016
bc3701e9e4 Update banned.txt 2022-03-19 14:48:38 -04:00
recroom2016
c4f1e97a51 Update changelog.txt 2022-03-19 14:43:18 -04:00
recroom2016
07c12f2cb7 Update version.txt 2022-03-19 14:33:59 -04:00
recroom2016
cf81be7329 Update banned.txt 2022-03-17 21:35:35 -04:00
recroom2016tutorial
f702725b9b Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-03-17 00:30:00 -04:00
recroom2016tutorial
3bd0fa5ba3 bruh 2022-03-17 00:29:54 -04:00
recroom2016
59330ea345 Update banned.txt 2022-03-16 23:48:47 -04:00
recroom2016
57a2ff3462 Create banned.txt 2022-03-16 23:48:15 -04:00
recroom2016tutorial
aab1932199 test 2022-03-05 22:24:43 -05:00
recroom2016tutorial
857a1768ba openrec update omg!! 2022-03-02 23:28:21 -05:00
recroom2016tutorial
2d54a04613 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-02-28 23:13:47 -05:00
recroom2016
3f81862763 Update version.txt 2022-02-27 03:18:48 -05:00
recroom2016
9c18f042b9 openrec patch v0.4.2 2022-02-27 02:53:43 -05:00
recroom2016
dc949325a1 Update changelog.txt 2022-02-27 02:45:34 -05:00
recroom2016
88b37a9bbc Update changelog.txt 2022-02-27 02:06:09 -05:00
recroom2016
3a8c07098d Update changelog.txt 2022-02-25 20:55:19 -05:00
recroom2016
ada0777275 patch v0.4.1 2022-02-25 20:54:56 -05:00
recroom2016
21706a82fb Update version.txt 2022-02-25 20:53:01 -05:00
recroom2016
8024724946 Update changelog.txt 2022-02-25 20:05:53 -05:00
recroom2016
009a5d48e2 Update version.txt 2022-02-25 20:05:27 -05:00
39 changed files with 5551 additions and 2223 deletions

View File

@@ -7,6 +7,8 @@ using api;
using api2018;
using api2017;
using Newtonsoft.Json;
using vaultgamesesh;
using System.Collections.Generic;
namespace server
{
@@ -28,9 +30,9 @@ namespace server
{
try
{
//3 different servers for 3 different stages of the game, the apis change so much idk anymore
//2 different servers for 2 different stages of the game, the apis change so much idk anymore
this.listener.Prefixes.Add("http://localhost:" + start.Program.version + "/");
if (start.Program.version == "2017")
if (start.Program.version == "2016")
{
for (; ; )
{
@@ -57,7 +59,7 @@ namespace server
}
else
{
Console.WriteLine("API Requested: " + rawUrl);
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
}
Console.WriteLine("API Data: " + text);
if (Url.StartsWith("versioncheck"))
@@ -68,29 +70,26 @@ namespace server
{
s = Config2.GetDebugConfig();
}
if (Url == "platformlogin/v1/profiles")
if (Url == "notification/v2")
{
s = getorcreate.GetOrCreateArray((ulong.Parse(text.Remove(0, 32))));
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
}
if (Url == "platformlogin/v6")
{
s = PlatformLogin.v4(CachedPlayerID);
s = "[]";
}
if (Url == "PlayerReporting/v1/moderationBlockDetails")
{
s = ModerationBlockDetails;
if (start.Program.bannedflag == true)
{
s = Banned;
}
}
if (Url == "config/v1/amplitude")
{
s = Amplitude.amplitude();
}
if (Url.StartsWith("players/v1/"))
{
{
s = getorcreate.GetOrCreate(CachedPlayerID);
}
}
if (Url == "avatar/v2")
{
s = File.ReadAllText("SaveData\\avatar.txt");
@@ -141,13 +140,169 @@ namespace server
{
s = PlayerEventsResponse;
}
if (Url == "activities/charades/v1/words")
{
s = Activities.Charades.words();
}
if (Url == "gamesessions/v2/joinrandom")
{
s = gamesessions2018.GameSessions.JoinRandom(text);
s = gamesesh.GameSessions.JoinRandom(text);
}
if (Url == "gamesessions/v2/create")
{
s = gamesessions2018.GameSessions.Create(text);
s = gamesesh.GameSessions.Create(text);
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = JsonConvert.SerializeObject(Sanitize.GetSanitize());
}
Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(200);
outputStream.Close();
this.listener.Stop();
}
}
if (start.Program.version == "2017")
{
for (; ; )
{
this.listener.Start();
Console.WriteLine("APIServer.cs is listening.");
HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl;
string Url = "";
if (rawUrl.StartsWith("/api/"))
{
Url = rawUrl.Remove(0, 5);
}
string text;
string s = "";
using (StreamReader streamReader = new StreamReader(request.InputStream, request.ContentEncoding))
{
text = streamReader.ReadToEnd();
}
if (!(Url == ""))
{
Console.WriteLine("API Requested: " + Url);
}
else
{
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
}
Console.WriteLine("API Data: " + text);
if (Url.StartsWith("versioncheck"))
{
s = VersionCheckResponse;
}
if (Url == ("config/v2"))
{
s = Config2.GetDebugConfig();
}
if (Url == "platformlogin/v1/profiles")
{
s = getorcreate.GetOrCreateArray((ulong.Parse(text.Remove(0, 32))));
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
if (Url == "platformlogin/v6")
{
s = PlatformLogin.v4(CachedPlayerID);
}
if (Url == "PlayerReporting/v1/moderationBlockDetails")
{
s = ModerationBlockDetails;
if (start.Program.bannedflag == true)
{
s = Banned;
}
}
if (Url == "config/v1/amplitude")
{
s = Amplitude.amplitude();
}
if (Url.StartsWith("players/v1/"))
{
s = getorcreate.GetOrCreate(CachedPlayerID);
}
if (Url == "avatar/v2")
{
s = File.ReadAllText("SaveData\\avatar.txt");
}
if (Url == "avatar/v2/set")
{
//for later 2018 builds compatibility
if (!(text.Contains("FaceFeatures")))
{
string postdatacache = text;
text = postdatacache.Remove(postdatacache.Length - 1, 1) + File.ReadAllText("SaveData\\App\\facefeaturesadd.txt");
}
File.WriteAllText("SaveData\\avatar.txt", text);
}
if (Url == "messages/v2/get")
{
s = BracketResponse;
}
if (Url == "relationships/v2/get")
{
s = BracketResponse;
}
if (Url == "settings/v2/")
{
s = File.ReadAllText("SaveData\\settings.txt");
}
if (Url == "settings/v2/set")
{
Settings.SetPlayerSettings(text);
}
if (Url == "avatar/v3/items")
{
s = File.ReadAllText("SaveData\\avataritems.txt");
}
if (Url == "equipment/v1/getUnlocked")
{
s = File.ReadAllText("SaveData\\equipment.txt");
}
if (Url == "avatar/v2/gifts")
{
s = BracketResponse;
}
if (Url == "events/v3/list")
{
s = Events.list();
}
if (Url == "playerevents/v1/all")
{
s = PlayerEventsResponse;
}
if (Url == "activities/charades/v1/words")
{
s = Activities.Charades.words();
}
if (Url == "gamesessions/v2/joinrandom")
{
s = gamesesh.GameSessions.JoinRandom(text);
}
if (Url == "gamesessions/v2/create")
{
s = gamesesh.GameSessions.Create(text);
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = JsonConvert.SerializeObject(Sanitize.GetSanitize());
}
Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s);
@@ -168,9 +323,11 @@ namespace server
HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
List<byte> list = new List<byte>();
string rawUrl = request.RawUrl;
string Url = "";
byte[] bytes = null;
string signature = request.Headers.Get("X-RNSIG");
if (rawUrl.StartsWith("/api/"))
{
Url = rawUrl.Remove(0, 5);
@@ -181,7 +338,7 @@ namespace server
}
else
{
Console.WriteLine("API Requested: " + rawUrl);
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
}
string text;
string s = "";
@@ -193,13 +350,13 @@ namespace server
if (Url.StartsWith("versioncheck"))
{
if (Url.Contains("201809"))
{
{
CachedVersionMonth = 09;
}
}
else
{
{
CachedVersionMonth = 05;
}
}
s = VersionCheckResponse;
}
if (Url == ("config/v2"))
@@ -212,11 +369,18 @@ namespace server
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
if (Url == "platformlogin/v1/loginaccount")
{
{
s = logincached.loginCache(CachedPlayerID, CachedPlatformID);
}
}
if (Url == "platformlogin/v1/createaccount")
{
s = logincached.loginCache(CachedPlayerID, CachedPlatformID);
@@ -230,57 +394,65 @@ namespace server
s = BlankResponse;
}
if (Url == "players/v1/list")
{
{
s = BracketResponse;
}
}
if (Url == "config/v1/amplitude")
{
s = Amplitude.amplitude();
}
if (Url == "images/v2/named")
{
{
s = ImagesV2Named;
}
}
if (Url == "PlayerReporting/v1/moderationBlockDetails")
{
{
s = ModerationBlockDetails;
}
if (start.Program.bannedflag == true)
{
s = Banned;
}
}
if (Url == "//api/chat/v2/myChats?mode=0&count=50")
{
{
s = BracketResponse;
}
if (Url == "messages/v2/get")
{
s = BracketResponse;
}
}
if (Url == "messages/v2/get")
{
s = BracketResponse;
}
if (Url == "relationships/v2/get")
{
s = BracketResponse;
}
if (Url == "gameconfigs/v1/all")
{
{
s = File.ReadAllText("SaveData\\gameconfigs.txt");
}
if (Url.StartsWith("storefronts"))
{
}
if (Url.StartsWith("storefronts/v3/giftdropstore"))
{
if (CachedVersionMonth == 09)
{
{
s = File.ReadAllText("SaveData\\storefronts2.txt");
}
else
{
{
s = BracketResponse;
}
}
}
}
if (Url.StartsWith("storefronts/v3/balance/"))
{
s = BracketResponse;
}
if (Url == "avatar/v2")
{
{
s = File.ReadAllText("SaveData\\avatar.txt");
}
}
if (Url == "avatar/v2/set")
{
//for later 2018 builds compatibility
if (!(text.Contains("FaceFeatures")))
{
{
string postdatacache = text;
text = postdatacache.Remove(postdatacache.Length - 1, 1) + File.ReadAllText("SaveData\\App\\facefeaturesadd.txt");
}
@@ -294,26 +466,26 @@ namespace server
{
Settings.SetPlayerSettings(text);
}
if (rawUrl == "//api/chat/v2/myChats?mode=0&count=50")
{
s = BracketResponse;
}
if (Url == "playersubscriptions/v1/my")
{
s = BracketResponse;
}
if (Url == "avatar/v3/items")
{
if (CachedVersionMonth == 09)
{
s = BracketResponse;
}
else
{
s = File.ReadAllText("SaveData\\avataritems.txt");
}
{
s = File.ReadAllText("SaveData\\avataritems.txt");
}
if (Url == "equipment/v1/getUnlocked")
{
s = File.ReadAllText("SaveData\\equipment.txt");
}
if (Url == "avatar/v1/saved")
{
{
s = BracketResponse;
}
}
if (Url == "consumables/v1/getUnlocked")
{
if (CachedVersionMonth == 09)
@@ -326,25 +498,33 @@ namespace server
}
}
if (Url == "avatar/v2/gifts")
{
s = BracketResponse;
}
if (Url == "storefronts/v2/2")
{
s = BlankResponse;
}
if (Url == "storefronts/v1/allGiftDrops/2")
{
s = BracketResponse;
}
if (Url == "storefronts/v2/2")
{
s = BlankResponse;
}
if (Url == "objectives/v1/myprogress")
{
{
s = JsonConvert.SerializeObject(new Objective2018());
}
if (Url == "rooms/v1/myrooms")
{
{
s = File.ReadAllText("SaveData\\myrooms.txt");
}
}
if (Url == "rooms/v2/myrooms")
{
{
s = BracketResponse;
}
}
if (Url == "rooms/v2/baserooms")
{
s = File.ReadAllText("SaveData\\baserooms.txt");
}
if (Url == "rooms/v1/mybookmarkedrooms")
{
s = BracketResponse;
@@ -361,23 +541,25 @@ namespace server
{
s = PlayerEventsResponse;
}
if (Url == "gamesessions/v2/joinrandom")
if (Url == "activities/charades/v1/words")
{
s = gamesessions2018.GameSessions.JoinRandom(text);
s = Activities.Charades.words();
}
if (Url == "gamesessions/v2/joinrandom")
{
s = gamesesh.GameSessions.JoinRandom(text);
}
if (Url == "gamesessions/v2/create")
{
s = gamesessions2018.GameSessions.Create(text);
s = gamesesh.GameSessions.Create(text);
}
if (Url == "gamesessions/v3/joinroom")
{
bytes = Encoding.UTF8.GetBytes((JsonConvert.SerializeObject(gamesessions2018.GameSessions2.JoinRoom(text))));
}
if (rawUrl.Contains("//api/images/v4/uploadtransient?gameSessionId=2018"))
{
File.WriteAllBytes("SaveData\\Images\\image" + Convert.ToString(int.Parse(File.ReadAllText("SaveData\\Images\\count.txt") + 1)) + ".png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(text.Length - 48, 48)));
int imagecount = int.Parse(File.ReadAllText("SaveData\\Images\\count.txt"));
File.WriteAllText("SaveData\\Images\\count.txt", Convert.ToString(imagecount + 1));
{
s = JsonConvert.SerializeObject(c000041.m000030(text));
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = "{\"IsPure\":true}";
}
if (Url == "avatar/v3/saved")
{
@@ -385,44 +567,237 @@ namespace server
}
if (Url == "checklist/v1/current")
{
s = BracketResponse;
s = ChecklistV1Current;
}
if (Url == "presence/v1/setplayertype")
{
{
s = BracketResponse;
}
Console.WriteLine("API Response: " + s);
if (!(Url == "gamesessions/v3/joinroom"))
{
bytes = Encoding.UTF8.GetBytes(s);
}
if (Url == "challenge/v1/getCurrent")
{
s = ChallengesV1GetCurrent;
}
if (Url == "rooms/v1/featuredRoomGroup")
{
s = BracketResponse;
}
if (Url == "rooms/v1/clone")
{
s = BracketResponse; //JsonConvert.SerializeObject(c000099.m00000a(text));
}
if (Url.StartsWith("rooms/v2/saveData"))
{
string text26 = "5GDNL91ZY43PXN2YJENTBL";
string path = c000004.m000007() + c000041.f000043.Room.Name;
File.WriteAllBytes(string.Concat(new string[]
{
c000004.m000007(),
c000041.f000043.Room.Name,
"\\room\\",
text26,
".room"
}), m00005d(list.ToArray(), "data.dat"));
c000041.f000043.Scenes[0].DataBlobName = text26 + ".room";
c000041.f000043.Scenes[0].DataModifiedAt = DateTime.Now;
File.WriteAllText(c000004.m000007() + c000041.f000043.Room.Name + "\\RoomDetails.json", JsonConvert.SerializeObject(c000041.f000043));
s = JsonConvert.SerializeObject(c00005d.m000035());
}
if (Url == "presence/v3/heartbeat")
{
s = JsonConvert.SerializeObject(Notification2018.Reponse.createResponse(4, c000020.m000027()));
}
if (Url == "rooms/v1/featuredRoomGroup")
{
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/dormslideshow.txt");
}
if (Url.StartsWith("rooms/v1/hot"))
{
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/hotrooms.txt");
}
if (Url.StartsWith("rooms/v4/details/29"))
{
s = File.ReadAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json");
}
Console.WriteLine("API Response: " + s);
bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(200);
Thread.Sleep(100);
outputStream.Close();
this.listener.Stop();
}
}
}
catch (Exception ex4)
{
{
Console.WriteLine(ex4);
File.WriteAllText("crashdump.txt", Convert.ToString(ex4));
}
}
public static ulong CachedPlayerID = 1;
}
}
public static ulong CachedPlayerID = 1;
public static ulong CachedPlatformID = 10000;
public static int CachedVersionMonth = 01;
public static string BlankResponse = "";
public static string BracketResponse = "[]";
public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}";
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}";
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}";
public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"OpenRec\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2043-12-27T21:27:38.1880399-08:00\"}";
private HttpListener listener = new HttpListener();
public static string ChallengesV1GetCurrent = "{\"Success\":true,\"Message\":\"OpenRec\"}";
public static string ChecklistV1Current = "[{\"Order\":0,\"Objective\":3000,\"Count\":3,\"CreditAmount\":100},{\"Order\":1,\"Objective\":3001,\"Count\":3,\"CreditAmount\":100},{\"Order\":2,\"Objective\":3002,\"Count\":3,\"CreditAmount\":100}]";
public static string Banned = "{\"ReportCategory\":1,\"Duration\":10000000000000000,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}";
private HttpListener listener = new HttpListener();
private static byte[] m00005d(byte[] p0, string p1)
{
BinaryReader binaryReader = new BinaryReader(new MemoryStream(p0));
try
{
while (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
bool flag = true;
bool flag2 = false;
APIServer.c0000a7 c0000a = new APIServer.c0000a7();
while (flag)
{
List<byte> list = new List<byte>();
bool flag3 = true;
while (flag3)
{
byte b = binaryReader.ReadByte();
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
if (b == 13)
{
binaryReader.ReadByte();
flag3 = false;
}
else
{
list.Add(b);
}
}
else
{
flag3 = false;
}
}
string @string = Encoding.ASCII.GetString(list.ToArray());
Console.WriteLine(@string);
if (@string.StartsWith("Content-Length: "))
{
string s = @string.Remove(0, 16);
c0000a.m000017(int.Parse(s));
}
if (@string.Contains(p1))
{
Console.WriteLine("Has file");
flag2 = true;
}
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
if (binaryReader.ReadByte() == 13)
{
flag = false;
binaryReader.ReadByte();
}
else
{
binaryReader.BaseStream.Position -= 1L;
}
}
else
{
flag = false;
}
}
if (flag2)
{
List<byte> list2 = new List<byte>();
for (; ; )
{
if (binaryReader.ReadByte() == 13)
{
if (binaryReader.ReadByte() == 10)
{
if (binaryReader.ReadByte() == 45)
{
break;
}
binaryReader.BaseStream.Position -= 3L;
}
else
{
binaryReader.BaseStream.Position -= 2L;
}
}
else
{
binaryReader.BaseStream.Position -= 1L;
}
byte item = binaryReader.ReadByte();
list2.Add(item);
}
return list2.ToArray();
}
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
binaryReader.ReadBytes(c0000a.m000016());
}
}
}
finally
{
((IDisposable)binaryReader).Dispose();
}
return null;
}
public sealed class c0000a7
{
public string m000001()
{
return this.f00000a;
}
public void m000034(string p0)
{
this.f00000a = p0;
}
public string m000005()
{
return this.f000002;
}
public void m00003f(string p0)
{
this.f000002 = p0;
}
public int m000016()
{
return this.f000020;
}
public void m000017(int p0)
{
this.f000020 = p0;
}
public byte[] m000061()
{
return this.f000084;
}
public void m000062(byte[] p0)
{
this.f000084 = p0;
}
private string f00000a;
private string f000002;
private int f000020;
private byte[] f000084;
}
}
}

197
Activities.cs Normal file
View File

@@ -0,0 +1,197 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace api
{
// Token: 0x0200000B RID: 11
internal class Activities
{
// Token: 0x0200000C RID: 12
public class Charades
{
// Token: 0x0600001D RID: 29 RVA: 0x0000410C File Offset: 0x0000230C
public static string words()
{
List<Activities.Charades.word> value = new List<Activities.Charades.word>
{
new Activities.Charades.word
{
EN_US = "talking ben",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "lemon",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "grape",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "roblox",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "tree",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "cloud",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "iphone",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "your house",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "spaghetti",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "lean",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "bitcoin",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "nft",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "grass",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "recroom2016",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "joker",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "fortnite",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "woman",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "spiderman",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "vr",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "among us",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "coach",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "coach with a gun",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "funny fish",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "skinwalker",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "christmas tree",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "ur mom",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "stick of ram",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "big mac",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "ninetndo switch",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "crescendo",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "boxing",
Difficulty = 0
},
new Activities.Charades.word
{
EN_US = "angry birds",
Difficulty = 0
}
};
return JsonConvert.SerializeObject(value);
}
// Token: 0x0200000D RID: 13
public class word
{
// Token: 0x17000004 RID: 4
// (get) Token: 0x0600001F RID: 31 RVA: 0x000020DC File Offset: 0x000002DC
// (set) Token: 0x06000020 RID: 32 RVA: 0x000020E4 File Offset: 0x000002E4
public string EN_US { get; set; }
// Token: 0x17000005 RID: 5
// (get) Token: 0x06000021 RID: 33 RVA: 0x000020ED File Offset: 0x000002ED
// (set) Token: 0x06000022 RID: 34 RVA: 0x000020F5 File Offset: 0x000002F5
public int Difficulty { get; set; }
}
}
}
}

294
Config.cs
View File

@@ -8,155 +8,155 @@ namespace api
{
class Config
{
public static void setup()
public static void setup()
{
Console.WriteLine("Setting up...");
Directory.CreateDirectory("SaveData\\Profile\\");
if (!(File.Exists("SaveData\\avatar.txt")))
Console.WriteLine("Setting up...");
Directory.CreateDirectory("SaveData\\Profile\\");
if (!(File.Exists("SaveData\\avatar.txt")))
{
File.Create("SaveData\\avatar.txt");
File.Create("SaveData\\avatar.txt");
}
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
File.WriteAllText("SaveData\\Profile\\username.txt", "DefaultUsername");
}
if (!(File.Exists("SaveData\\profileimage.png")))
{
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
}
Console.WriteLine("Done!");
Console.Clear();
}
public static gamesessions2018.GameSessions.SessionInstance localGameSession;
public static Objective[][] dailyObjectives = new Objective[][]
{
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
}
};
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
File.WriteAllText("SaveData\\Profile\\username.txt", "DefaultUsername");
}
if (!(File.Exists("SaveData\\profileimage.png")))
{
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
}
Console.WriteLine("Done!");
Console.Clear();
}
public static gamesesh.GameSessions.SessionInstance localGameSession;
public static Objective[][] dailyObjectives = new Objective[][]
{
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
}
};
}
}
}

146
CustomRooms.cs Normal file
View File

@@ -0,0 +1,146 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using Newtonsoft.Json;
using vaultgamesesh;
using System.IO;
using server;
namespace api
{
class CustomRooms
{
public static void RoomDecode(string roomname, string roomsceneid, string imagename, string datablob)
{
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomname.txt", roomname);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\datablob.txt", datablob);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt", roomsceneid);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\imagename.txt", imagename);
ulong rand = Convert.ToUInt64(new Random().Next(0, 99));
room = new Room
{
RoomId = rand,
Name = roomname,
Description = "OpenRec Downloaded Room",
ImageName = imagename,
CreatorPlayerId = APIServer.CachedPlayerID,
State = 0,
Accessibility = 1,
SupportsLevelVoting = false,
IsAGRoom = false,
CloningAllowed = false,
SupportsScreens = true,
SupportsWalkVR = true,
SupportsTeleportVR = true,
ReplicationId = null,
ReleaseStatus = 0
};
scene = new List<Scene>
{
new Scene()
{
RoomSceneId = 1,
RoomId = rand,
RoomSceneLocationId = "a75f7547-79eb-47c6-8986-6767abcb4f92",
Name = "Home",
IsSandbox = true,
DataBlobName = datablob,
MaxPlayers = 20,
CanMatchmakeInto = true,
DataModifiedAt = DateTime.Now,
ReplicationId = null,
UseLevelBasedMatchmaking = false,
UseAgeBasedMatchmaking = false,
UseRecRoyaleMatchmaking = false,
ReleaseStatus = 0,
SupportsJoinInProgress = true
}
};
root = new Root
{
Room = room,
Scenes = scene,
CoOwners = new List<ulong>(),
InvitedCoOwners = new List<ulong>(),
Hosts = new List<ulong>(),
InvitedHosts = new List<ulong>(),
CheerCount = 999,
FavoriteCount = 999,
VisitCount = 999,
Tags = new List<aTag>
{
new aTag()
{
Tag = "rro",
Type = 2
}
}
};
File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root));
}
public static Room room { get; set; }
public static List<Scene> scene { get; set; }
public static Root root { get; set; }
//2018 rooms
public class Room
{
public ulong RoomId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ulong CreatorPlayerId { get; set; }
public string ImageName { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsAGRoom { get; set; }
public bool CloningAllowed { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public object ReplicationId { get; set; }
public int ReleaseStatus { get; set; }
}
public class Scene
{
public int RoomSceneId { get; set; }
public ulong RoomId { get; set; }
public string RoomSceneLocationId { get; set; }
public string Name { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public int MaxPlayers { get; set; }
public bool CanMatchmakeInto { get; set; }
public DateTime DataModifiedAt { get; set; }
public object ReplicationId { get; set; }
public bool UseLevelBasedMatchmaking { get; set; }
public bool UseAgeBasedMatchmaking { get; set; }
public bool UseRecRoyaleMatchmaking { get; set; }
public int ReleaseStatus { get; set; }
public bool SupportsJoinInProgress { get; set; }
}
public class Root
{
public Room Room { get; set; }
public List<Scene> Scenes { get; set; }
public List<ulong> CoOwners { get; set; }
public List<ulong> InvitedCoOwners { get; set; }
public List<ulong> Hosts { get; set; }
public List<ulong> InvitedHosts { get; set; }
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitCount { get; set; }
public List<aTag> Tags { get; set; }
}
public class aTag
{
public string Tag { get; set; }
public int Type { get; set; }
}
}
}

File diff suppressed because one or more lines are too long

1
Download/banned.txt Normal file
View File

@@ -0,0 +1 @@
[487454, 4701796]

1
Download/baserooms.txt Normal file
View File

@@ -0,0 +1 @@
[{"RoomId":24,"Name":"MakerRoom","Description":"This room is a blank canvas. Make it into whatever you like!","CreatorPlayerId":1,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":25,"Name":"Park","Description":"A sprawling park with amphitheater, play fields, and a cave.","CreatorPlayerId":114785367,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":22,"Name":"Lounge","Description":"A low-key lounge to chill with your friends. Great for private parties!","CreatorPlayerId":114785367,"ImageName":"ActivityLounge.png","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":23,"Name":"PerformanceHall","Description":"A theater for plays, music, comedy and other performances.","CreatorPlayerId":1,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":18,"Name":"Hangar","Description":"Teams battle each other and waves of robots.","CreatorPlayerId":114785367,"ImageName":"ActivityLaserTag.png","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true}]

View File

@@ -1,8 +1,20 @@
Second release of OpenRec, with still only support for May 30th, 2018.
Fifth public release of OpenRec, and the new biggest update to date.
-Added profile image changing function
-Slightly improved UI
-Added settings saving function
-Added level changing feature
Supports:
-December 25th 2016
-October 19th 2017
-May 30th 2018
-September 27th 2018
by recroom2016
-Added 2016 Support
-Added September 27th Support
-Added Image Server (September 2018 only)
-Added Custom Room Downloader (September 2018 only)
-Slight UI Improvements
-Tons of new APIs added in
-Improved banning system
Credits:
@LucasOnDiscord#0210 - Adding potions
@GabeTheFirst#7335 - Tester when my game was broken
@andry6702#9812 - Discovered custom rooms for 2018

File diff suppressed because one or more lines are too long

1
Download/storefront2.txt Normal file
View File

@@ -0,0 +1 @@
{"StorefrontType":2,"NextUpdate":"2024-02-16T11:04:54.4129449-07:00","StoreItems":[{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":30000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"HAHA I can communicate via raw data","Tooltip":"your balls are mine now, raw data geek","AvatarItemDesc":"274cb9b2-2f59-47ea-9a8d-a5b656d148c6,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":1,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":35000}],"GiftDrops":[{"GiftDropId":1,"FriendlyName":"anal sex","Tooltip":"with the cum","AvatarItemDesc":"2c679f89-c76e-4cfb-94e9-448c8fd44d55,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":2,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":10000}],"GiftDrops":[{"GiftDropId":2,"FriendlyName":"I'm laughing so hard, some may say","Tooltip":"Bawling (at Two FootWear Coridors, now in September 2018's Play Menu!)","AvatarItemDesc":"50c9c6f8-2963-4ef3-95d5-e999a898269f,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":15000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Bishop Hair","Tooltip":"","AvatarItemDesc":"b861e5f3-fc6d-43b3-9861-c1b45cb493a8,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":4,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":4,"FriendlyName":"Bishop Shirt","Tooltip":"","AvatarItemDesc":"6930ce13-4be4-4ab9-9817-667bd261ffc3,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":5,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":5,"FriendlyName":"Bishop Gloves","Tooltip":"","AvatarItemDesc":"abc25091-ed5f-4c72-9364-fffeef1bc239,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":30000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Saija Helmet","Tooltip":"","AvatarItemDesc":"274cb9b2-2f59-47ea-9a8d-a5b656d148c6,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":1,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":35000}],"GiftDrops":[{"GiftDropId":1,"FriendlyName":"Saija Shirt","Tooltip":"","AvatarItemDesc":"2c679f89-c76e-4cfb-94e9-448c8fd44d55,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":2,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":10000}],"GiftDrops":[{"GiftDropId":2,"FriendlyName":"Saija Gloves","Tooltip":"","AvatarItemDesc":"50c9c6f8-2963-4ef3-95d5-e999a898269f,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":15000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Bishop Hair","Tooltip":"","AvatarItemDesc":"b861e5f3-fc6d-43b3-9861-c1b45cb493a8,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":4,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":4,"FriendlyName":"Bishop Shirt","Tooltip":"","AvatarItemDesc":"6930ce13-4be4-4ab9-9817-667bd261ffc3,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":5,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":5,"FriendlyName":"Bishop Gloves","Tooltip":"","AvatarItemDesc":"abc25091-ed5f-4c72-9364-fffeef1bc239,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]}]}

View File

@@ -1 +1 @@
0.3
0.6.0

View File

@@ -3,7 +3,8 @@ using Newtonsoft.Json;
using api;
using server;
using System.IO;
namespace gamesessions2018
namespace gamesesh
{
// Token: 0x02000020 RID: 32
public class GameSessions
@@ -11,33 +12,41 @@ namespace gamesessions2018
// Token: 0x060000BE RID: 190 RVA: 0x00004C08 File Offset: 0x00002E08
public static string JoinRandom(string jsonData)
{
long gamesessionid = 2018L;
long? creatorid = 1243409L;
long gamesessionid = long.Parse(start.Program.version + "1");
Console.WriteLine("OpenRec GameSession Room");
GameSessions.JoinRandomRequest joinRandomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRandomRequest>(jsonData);
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
{
gamesessionid = new Random().Next(0, 100);
gamesessionid = new Random().Next(0, 99);
}
if (start.Program.version == "2017")
{
creatorid = (long?)APIServer.CachedPlayerID;
}
if (start.Program.bannedflag == true)
{
Config.localGameSession = new GameSessions.SessionInstance
{
GameSessionId = gamesessionid,
RegionId = "us",
RoomId = joinRandomRequest.ActivityLevelIds[0],
RecRoomId = null,
EventId = null,
CreatorPlayerId = 1243409L,
Name = "OpenRec Room",
ActivityLevelId = joinRandomRequest.ActivityLevelIds[0],
Private = false,
Sandbox = false,
SupportsScreens = true,
SupportsVR = true,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
gamesessionid = 100L;
}
Config.localGameSession = new GameSessions.SessionInstance
{
GameSessionId = gamesessionid,
RegionId = "us",
RoomId = joinRandomRequest.ActivityLevelIds[0],
RecRoomId = null,
EventId = null,
CreatorPlayerId = creatorid,
Name = "OpenRec Room",
ActivityLevelId = joinRandomRequest.ActivityLevelIds[0],
Private = false,
Sandbox = false,
SupportsScreens = true,
SupportsVR = true,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
return JsonConvert.SerializeObject(new GameSessions.JoinResult
{
Result = 0,
@@ -60,11 +69,15 @@ namespace gamesessions2018
// Token: 0x060000C0 RID: 192 RVA: 0x00004D24 File Offset: 0x00002F24
public static string Create(string jsonData)
{
long gamesessionid = 2016L;
long gamesessionid = 20161L;
Console.WriteLine("OpenRec GameSession Custom Room");
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
{
gamesessionid = new Random().Next(0, 100);
gamesessionid = new Random().Next(0, 99);
}
if (start.Program.bannedflag == true)
{
gamesessionid = 100L;
}
GameSessions.CreateRequest createRequest = JsonConvert.DeserializeObject<GameSessions.CreateRequest>(jsonData);
Config.localGameSession = new GameSessions.SessionInstance
@@ -74,8 +87,8 @@ namespace gamesessions2018
RoomId = createRequest.ActivityLevelId,
RecRoomId = null,
EventId = null,
CreatorPlayerId = 1243409L,
Name = "Custom Room",
CreatorPlayerId = (long?)APIServer.CachedPlayerID,
Name = "OpenRec Custom Room",
ActivityLevelId = createRequest.ActivityLevelId,
Private = false,
Sandbox = true,

View File

@@ -1,231 +0,0 @@
using System;
using System.Linq;
using Newtonsoft.Json;
using rooms2018;
using System.IO;
namespace gamesessions2018
{
// Token: 0x0200000F RID: 15
internal class GameSessions2
{
// Token: 0x06000033 RID: 51 RVA: 0x000048F0 File Offset: 0x00002AF0
public static GameSessions2.JoinResult JoinRoom(string postData)
{
GameSessions.JoinRoomRequest2 joinRoomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRoomRequest2>(postData);
bool flag = Rooms.RecRoomOriginalRooms.ContainsKey(joinRoomRequest.RoomName);
if (flag)
{
GameSessions2.currentRoom = Rooms.RecRoomOriginalRooms[joinRoomRequest.RoomName];
}
else
{
GameSessions2.currentRoom = Rooms.RecRoomOriginalRooms["DormRoom"];
}
int num = 0;
for (int i = 0; i < GameSessions2.currentRoom.Scenes.Count<Rooms.Scene>(); i++)
{
bool flag2 = GameSessions2.currentRoom.Scenes[i].Name == joinRoomRequest.SceneName;
if (flag2)
{
num = i;
}
}
long gamesessionid = 2018L;
bool sandboxmode = false;
if (File.ReadAllText("SaveData\\App\\sandbox.txt") == "Enabled")
{
sandboxmode = true;
}
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
{
gamesessionid = new Random().Next(0, 100);
}
GameSessions2.currentSession = new GameSessions2.SessionData
{
GameSessionId = gamesessionid,
PhotonRegionId = "us",
PhotonRoomId = GameSessions2.currentRoom.Room.RoomId.ToString(),
Name = GameSessions2.currentRoom.Room.Name,
RoomId = GameSessions2.currentRoom.Room.RoomId,
RoomSceneId = (long)(num + 1),
RoomSceneLocationId = GameSessions2.currentRoom.Scenes[num].RoomSceneLocationId,
IsSandbox = sandboxmode,
DataBlobName = "",
PlayerEventId = null,
Private = false,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
return new GameSessions2.JoinResult
{
Result = 0,
GameSession = GameSessions2.currentSession,
RoomDetails = GameSessions2.currentRoom
};
}
// Token: 0x04000019 RID: 25
public static Rooms.RoomDetail currentRoom;
// Token: 0x0400001A RID: 26
public static GameSessions2.SessionData placeholderSession = new GameSessions2.SessionData
{
GameSessionId = 1L,
PhotonRegionId = "us",
PhotonRoomId = "1",
Name = "Dorm Room",
RoomId = 1L,
RoomSceneId = 1L,
RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163",
IsSandbox = false,
DataBlobName = "",
PlayerEventId = null,
Private = false,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
// Token: 0x0400001B RID: 27
public static GameSessions2.SessionData currentSession;
// Token: 0x02000010 RID: 16
public class JoinResult
{
// Token: 0x1700000F RID: 15
// (get) Token: 0x06000036 RID: 54 RVA: 0x00002202 File Offset: 0x00000402
// (set) Token: 0x06000037 RID: 55 RVA: 0x0000220A File Offset: 0x0000040A
public int Result { get; set; }
// Token: 0x17000010 RID: 16
// (get) Token: 0x06000038 RID: 56 RVA: 0x00002213 File Offset: 0x00000413
// (set) Token: 0x06000039 RID: 57 RVA: 0x0000221B File Offset: 0x0000041B
public GameSessions2.SessionData GameSession { get; set; }
// Token: 0x17000011 RID: 17
// (get) Token: 0x0600003A RID: 58 RVA: 0x00002224 File Offset: 0x00000424
// (set) Token: 0x0600003B RID: 59 RVA: 0x0000222C File Offset: 0x0000042C
public Rooms.RoomDetail RoomDetails { get; set; }
}
// Token: 0x02000011 RID: 17
public class SessionData
{
// Token: 0x17000012 RID: 18
// (get) Token: 0x0600003D RID: 61 RVA: 0x00002235 File Offset: 0x00000435
// (set) Token: 0x0600003E RID: 62 RVA: 0x0000223D File Offset: 0x0000043D
public long GameSessionId { get; set; }
// Token: 0x17000013 RID: 19
// (get) Token: 0x0600003F RID: 63 RVA: 0x00002246 File Offset: 0x00000446
// (set) Token: 0x06000040 RID: 64 RVA: 0x0000224E File Offset: 0x0000044E
public string PhotonRegionId { get; set; }
// Token: 0x17000014 RID: 20
// (get) Token: 0x06000041 RID: 65 RVA: 0x00002257 File Offset: 0x00000457
// (set) Token: 0x06000042 RID: 66 RVA: 0x0000225F File Offset: 0x0000045F
public string PhotonRoomId { get; set; }
// Token: 0x17000015 RID: 21
// (get) Token: 0x06000043 RID: 67 RVA: 0x00002268 File Offset: 0x00000468
// (set) Token: 0x06000044 RID: 68 RVA: 0x00002270 File Offset: 0x00000470
public string Name { get; set; }
// Token: 0x17000016 RID: 22
// (get) Token: 0x06000045 RID: 69 RVA: 0x00002279 File Offset: 0x00000479
// (set) Token: 0x06000046 RID: 70 RVA: 0x00002281 File Offset: 0x00000481
public long RoomId { get; set; }
// Token: 0x17000017 RID: 23
// (get) Token: 0x06000047 RID: 71 RVA: 0x0000228A File Offset: 0x0000048A
// (set) Token: 0x06000048 RID: 72 RVA: 0x00002292 File Offset: 0x00000492
public long RoomSceneId { get; set; }
// Token: 0x17000018 RID: 24
// (get) Token: 0x06000049 RID: 73 RVA: 0x0000229B File Offset: 0x0000049B
// (set) Token: 0x0600004A RID: 74 RVA: 0x000022A3 File Offset: 0x000004A3
public string RoomSceneLocationId { get; set; }
// Token: 0x17000019 RID: 25
// (get) Token: 0x0600004B RID: 75 RVA: 0x000022AC File Offset: 0x000004AC
// (set) Token: 0x0600004C RID: 76 RVA: 0x000022B4 File Offset: 0x000004B4
public bool IsSandbox { get; set; }
// Token: 0x1700001A RID: 26
// (get) Token: 0x0600004D RID: 77 RVA: 0x000022BD File Offset: 0x000004BD
// (set) Token: 0x0600004E RID: 78 RVA: 0x000022C5 File Offset: 0x000004C5
public string DataBlobName { get; set; }
// Token: 0x1700001B RID: 27
// (get) Token: 0x0600004F RID: 79 RVA: 0x000022CE File Offset: 0x000004CE
// (set) Token: 0x06000050 RID: 80 RVA: 0x000022D6 File Offset: 0x000004D6
public long? PlayerEventId { get; set; }
// Token: 0x1700001C RID: 28
// (get) Token: 0x06000051 RID: 81 RVA: 0x000022DF File Offset: 0x000004DF
// (set) Token: 0x06000052 RID: 82 RVA: 0x000022E7 File Offset: 0x000004E7
public bool Private { get; set; }
// Token: 0x1700001D RID: 29
// (get) Token: 0x06000053 RID: 83 RVA: 0x000022F0 File Offset: 0x000004F0
// (set) Token: 0x06000054 RID: 84 RVA: 0x000022F8 File Offset: 0x000004F8
public bool GameInProgress { get; set; }
// Token: 0x1700001E RID: 30
// (get) Token: 0x06000055 RID: 85 RVA: 0x00002301 File Offset: 0x00000501
// (set) Token: 0x06000056 RID: 86 RVA: 0x00002309 File Offset: 0x00000509
public int MaxCapacity { get; set; }
// Token: 0x1700001F RID: 31
// (get) Token: 0x06000057 RID: 87 RVA: 0x00002312 File Offset: 0x00000512
// (set) Token: 0x06000058 RID: 88 RVA: 0x0000231A File Offset: 0x0000051A
public bool IsFull { get; set; }
}
// Token: 0x02000012 RID: 18
public enum JoinResultIDs
{
// Token: 0x0400002E RID: 46
Success,
// Token: 0x0400002F RID: 47
NoSuchGame,
// Token: 0x04000030 RID: 48
PlayerNotOnline,
// Token: 0x04000031 RID: 49
InsufficientSpace,
// Token: 0x04000032 RID: 50
EventNotStarted,
// Token: 0x04000033 RID: 51
EventAlreadyFinished,
// Token: 0x04000034 RID: 52
EventCreatorNotReady,
// Token: 0x04000035 RID: 53
BlockedFromRoom,
// Token: 0x04000036 RID: 54
ProfileLocked,
// Token: 0x04000037 RID: 55
NoBirthday,
// Token: 0x04000038 RID: 56
MarkedForDelete,
// Token: 0x04000039 RID: 57
JuniorNotAllowed,
// Token: 0x0400003A RID: 58
Banned,
// Token: 0x0400003B RID: 59
NoSuchRoom = 20,
// Token: 0x0400003C RID: 60
RoomCreatorNotReady,
// Token: 0x0400003D RID: 61
RoomIsNotActive,
// Token: 0x0400003E RID: 62
RoomBlockedByCreator,
// Token: 0x0400003F RID: 63
RoomBlockingCreator,
// Token: 0x04000040 RID: 64
RoomIsPrivate
}
}
}

View File

@@ -43,6 +43,10 @@ namespace server
{
text = streamReader.ReadToEnd();
}
if (rawUrl.StartsWith("//room/"))
{
i = new WebClient().DownloadData("https://cdn.rec.net/" + rawUrl.Remove(0, 2));
}
Console.WriteLine("Image Requested: " + rawUrl);
Console.WriteLine("Image Data: " + text);
Console.WriteLine("Image Response: ");
@@ -55,14 +59,9 @@ namespace server
this.listener.Stop();
}
}
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string BlankResponse = "";
// Token: 0x04000192 RID: 402
private HttpListener listener = new HttpListener();
}
}

102
NewGameSessions.cs Normal file
View File

@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;
using vaultgamesesh;
namespace gamesesh2
{
class NewGameSessions
{
public static string JoinRoom(string text)
{
c00006b.c00006c apidata = JsonConvert.DeserializeObject<c00006b.c00006c>(text);
return string.Empty;
}
public class GameSession
{
public int GameSessionId { get; set; }
public string PhotonRegionId { get; set; }
public string PhotonRoomId { get; set; }
public string Name { get; set; }
public int RoomId { get; set; }
public int RoomSceneId { get; set; }
public string RoomSceneLocationId { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public object PlayerEventId { get; set; }
public bool Private { get; set; }
public bool GameInProgress { get; set; }
public int MaxCapacity { get; set; }
public bool IsFull { get; set; }
}
public class Room
{
public int RoomId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int CreatorPlayerId { get; set; }
public string ImageName { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsAGRoom { get; set; }
public bool CloningAllowed { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public string ReplicationId { get; set; }
public int ReleaseStatus { get; set; }
}
public class Scene
{
public int RoomSceneId { get; set; }
public int RoomId { get; set; }
public string RoomSceneLocationId { get; set; }
public string Name { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public int MaxPlayers { get; set; }
public bool CanMatchmakeInto { get; set; }
public DateTime DataModifiedAt { get; set; }
public string ReplicationId { get; set; }
public bool UseLevelBasedMatchmaking { get; set; }
public bool UseAgeBasedMatchmaking { get; set; }
public bool UseRecRoyaleMatchmaking { get; set; }
public int ReleaseStatus { get; set; }
public bool SupportsJoinInProgress { get; set; }
}
public class aTag
{
public string Tag { get; set; }
public int Type { get; set; }
}
public class RoomDetails
{
public Room Room { get; set; }
public List<Scene> Scenes { get; set; }
public List<object> CoOwners { get; set; }
public List<object> InvitedCoOwners { get; set; }
public List<object> Hosts { get; set; }
public List<object> InvitedHosts { get; set; }
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitCount { get; set; }
public List<aTag> Tags { get; set; }
}
public class Root
{
public int Result { get; set; }
public GameSession GameSession { get; set; }
public RoomDetails RoomDetails { get; set; }
}
}
}

View File

@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using gamesessions2018;
using gamesesh;
namespace ws
{
@@ -21,16 +21,16 @@ namespace ws
{
if (text2 == "playerSubscriptions/v1/update")
{
Console.WriteLine("WebSocket.cs game client sent presence update.");
Console.WriteLine("[WSS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, GameSessions.StatusSessionInstance()));
}
if (text2 == "heartbeat2")
{
Console.WriteLine("WebSocket.cs heartbeat 2 sent by game client.");
Console.WriteLine("[WSS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, GameSessions.StatusSessionInstance()));
}
}
Console.WriteLine("WebSocket.cs unknown API call: " + text);
Console.WriteLine("[WSS] Unknown API call: " + text);
result = "";
}
else
@@ -43,39 +43,39 @@ namespace ws
// Token: 0x0200002B RID: 43
public enum ResponseResult
{
// Token: 0x04000092 RID: 146
// Token: 0x04000090 RID: 144
RelationshipChanged = 1,
// Token: 0x04000093 RID: 147
// Token: 0x04000091 RID: 145
MessageReceived,
// Token: 0x04000094 RID: 148
// Token: 0x04000092 RID: 146
MessageDeleted,
// Token: 0x04000095 RID: 149
// Token: 0x04000093 RID: 147
PresenceHeartbeatResponse,
// Token: 0x04000096 RID: 150
// Token: 0x04000094 RID: 148
SubscriptionListUpdated = 9,
// Token: 0x04000097 RID: 151
// Token: 0x04000095 RID: 149
SubscriptionUpdateProfile = 11,
// Token: 0x04000098 RID: 152
// Token: 0x04000096 RID: 150
SubscriptionUpdatePresence,
// Token: 0x04000099 RID: 153
// Token: 0x04000097 RID: 151
SubscriptionUpdateGameSession,
// Token: 0x0400009A RID: 154
// Token: 0x04000098 RID: 152
SubscriptionUpdateRoom,
// Token: 0x0400009B RID: 155
// Token: 0x04000099 RID: 153
ModerationQuitGame = 20,
// Token: 0x0400009C RID: 156
// Token: 0x0400009A RID: 154
ModerationUpdateRequired,
// Token: 0x0400009D RID: 157
// Token: 0x0400009B RID: 155
ModerationKick,
// Token: 0x0400009E RID: 158
// Token: 0x0400009C RID: 156
ModerationKickAttemptFailed,
// Token: 0x0400009F RID: 159
// Token: 0x0400009D RID: 157
GiftPackageReceived = 30,
// Token: 0x040000A0 RID: 160
// Token: 0x0400009E RID: 158
ProfileJuniorStatusUpdate = 40,
// Token: 0x040000A1 RID: 161
// Token: 0x0400009F RID: 159
RelationshipsInvalid = 50,
// Token: 0x040000A2 RID: 162
// Token: 0x040000A0 RID: 160
StorefrontBalanceAdd = 60
}

View File

@@ -1,106 +0,0 @@
using System;
using System.Net;
using System.IO;
using System.Threading;
namespace start
{
public class OpenRecNet
{
public OpenRecNet()
{
}
//ignore this its a beta feature
public static void RecNet()
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.Clear();
if ((File.ReadAllText("SaveData\\App\\showopenrecinfo.txt")) == "Enabled")
{
goto ChatStart;
}
else
{
goto SkipStart;
}
ChatStart:
Console.WriteLine("Welcome to OpenRecChat (Beta)!");
Console.WriteLine("You are logged in as " + File.ReadAllText("SaveData\\Profile\\username.txt" + "."));
Console.WriteLine("Your UserID is " + File.ReadAllText("SaveData\\Profile\\userid.txt" + "."));
Console.WriteLine("In the future, show this message?");
Console.WriteLine("1) Yes" + Environment.NewLine + "2) No");
string readline = Console.ReadLine();
if (readline == "1")
{
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Enabled");
justjoined = false;
goto SkipStart;
}
if (readline == "2")
{
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Disabled");
justjoined = false;
goto SkipStart;
}
SkipStart:
for (; ; )
{
Console.Clear();
string refresh = new WebClient
{
Headers =
{
{
"username",
File.ReadAllText("SaveData\\Profile\\username.txt")
},
{
"justjoined",
Convert.ToString(justjoined)
}
}
}.DownloadString("https://openrecchat.loca.lt/refresh");
Console.WriteLine(refresh);
Console.WriteLine(Environment.NewLine + "Commands: /r -Refresh /e -Exit");
Console.WriteLine("Type your message below: ");
justjoined = false;
goto Send;
}
Send:
string send = Console.ReadLine();
if (send == "/r")
{
goto SkipStart;
}
else if (send == "/e")
{
Environment.Exit(0);
}
else if (send == "")
{
goto SkipStart;
}
new WebClient
{
Headers =
{
{
"userid",
File.ReadAllText("SaveData\\Profile\\userid.txt")
},
{
"username",
File.ReadAllText("SaveData\\Profile\\username.txt")
}
}
}.UploadString("https://openrecchat.loca.lt/sendmessage", send);
goto SkipStart;
}
public static bool justjoined = false;
}
}

View File

@@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.31321.278
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenRec_", "OpenRec_.csproj", "{C3C433FC-52FB-4472-81F7-B271A2CDABFE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3B5E3DA5-F8EC-4767-9BC3-AE95E72631D0}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C754033C-FE82-4FF2-9189-A7EE0E2E5974}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@@ -5,6 +5,7 @@ using ws;
using api;
using System.Net;
using System.Diagnostics;
using vaultgamesesh;
namespace start
{
@@ -13,23 +14,36 @@ namespace start
static void Main()
{
//startup for openrec
Setup.setup();
goto Start;
Start:
Console.Title = "OpenRec Startup Menu";
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("OpenRec - Open source RecNet server software. (Version: " + version + ")");
Console.WriteLine("OpenRec - Open source RecNet server software. (Version: " + appversion + ")");
Console.WriteLine("Made and provided by RecRoom 2016.");
Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec");
Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine);
if (!(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt").Contains(version)))
if (!(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt").Contains(appversion)))
{
Console.WriteLine("This version of OpenRec is outdated. We recommend you install the latest version, OpenRec " + new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt"));
}
Console.WriteLine("1) Changelog" + Environment.NewLine +"2) Change Settings" + Environment.NewLine + "3) Modify Profile" + Environment.NewLine + "4) Start Server");
if (File.Exists("SaveData\\Profile\\userid.txt"))
{
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
bannedflag = true;
}
}
Console.WriteLine("1) Changelog" + Environment.NewLine +"2) Change Settings" + Environment.NewLine + "3) Modify Profile" + Environment.NewLine + "4) Custom Room Downloader" + Environment.NewLine + "5) Start Server");
string readline = Console.ReadLine();
if (readline == "1")
{
Console.Title = "OpenRec Changelog";
Console.Clear();
Console.WriteLine(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/changelog.txt"));
Console.WriteLine("Press any key to continue:");
@@ -43,6 +57,7 @@ namespace start
goto Settings;
Settings:
Console.Title = "OpenRec Settings Menu";
Console.WriteLine("1) Private Rooms: " + File.ReadAllText("SaveData\\App\\privaterooms.txt") + Environment.NewLine + "2) OpenRecNet Info Tab: " + File.ReadAllText("SaveData\\App\\showopenrecinfo.txt") + Environment.NewLine + "3) Reset SaveData" + Environment.NewLine + "4) Go Back");
string readline4 = Console.ReadLine();
if (readline4 == "1")
@@ -106,6 +121,7 @@ namespace start
goto Profile;
Profile:
Console.Title = "OpenRec Profile Menu";
Console.WriteLine("1) Change Username" + Environment.NewLine + "2) Change Profile Image" + Environment.NewLine + "3) Change Level" + Environment.NewLine + "4) Go Back");
string readline3 = Console.ReadLine();
if (readline3 == "1")
@@ -116,7 +132,7 @@ namespace start
File.WriteAllText("SaveData\\Profile\\username.txt", newusername);
Console.Clear();
Console.WriteLine("Success!");
goto Start;
goto Profile;
}
else if (readline3 == "2")
{
@@ -139,7 +155,7 @@ namespace start
}
Console.Clear();
Console.WriteLine("Success!");
goto Start;
goto Profile;
}
else if (readline4 == "2")
{
@@ -159,7 +175,7 @@ namespace start
}
Console.Clear();
Console.WriteLine("Success!");
goto Start;
goto Profile;
}
else if (readline4 == "3")
{
@@ -175,7 +191,7 @@ namespace start
File.WriteAllText("SaveData\\Profile\\level.txt", newlevel);
Console.Clear();
Console.WriteLine("Success!");
goto Start;
goto Profile;
}
else if (readline3 == "4")
{
@@ -183,65 +199,81 @@ namespace start
goto Start;
}
}
if (readline == "4")
{
Console.WriteLine("Please select the version of RecRoom the server should host: (2017, 2018)");
Console.Title = "OpenRec Custom Room Downloader";
Console.Clear();
Console.WriteLine("Please type in the name of the room you would like to download: (Case sensitive)");
string roomname = Console.ReadLine();
Console.WriteLine("Now, please go to the link below and help us gather info about your room for you.");
Console.WriteLine("https://rooms.rec.net/rooms?name=" + roomname + "&include=297");
Console.WriteLine("Please find the string called ImageName and paste it below:");
string imagename = Console.ReadLine();
Console.WriteLine("Please find the string called UnitySceneId and paste it below:");
string roomsceneid = Console.ReadLine();
Console.WriteLine("Please find the string called DataBlob and paste it below:");
string datablob = Console.ReadLine();
CustomRooms.RoomDecode(roomname, roomsceneid, imagename, datablob);
goto Start;
}
if (readline == "5")
{
Console.Title = "OpenRec Version Select";
Console.WriteLine("Please select the version of RecRoom the server should host: (2016, 2017, 2018)");
Console.WriteLine("fuck you all");
//imagine if yall actually look in the code one day and just find a random note signed tucker at the bottom of it and then i go missing for a very long time otherwise known as forever
string readline2 = Console.ReadLine();
if (readline2 == "2016")
{
Console.Title = "OpenRec December 25th, 2016";
version = "2016";
Console.Clear();
Console.WriteLine("Version Selected: " + start.Program.version);
Console.WriteLine("Version Selected: December 25th, 2016.");
new APIServer();
new WebSocket();
}
else if (readline2 == "2017")
{
Console.Title = "OpenRec October 19th 2017";
version = "2017";
Console.Clear();
Console.WriteLine("Version Selected: " + start.Program.version);
Console.WriteLine("Version Selected: October 19th, 2017.");
new APIServer();
new WebSocket();
}
else if (readline2 == "2018")
{
version = "2018";
Console.Clear();
Console.WriteLine("Version Selected: " + start.Program.version);
new NameServer();
new ImageServer();
new APIServer();
new WebSocket();
Console.WriteLine("May or September (Beta) 2018: (M, S)");
string readline3 = Console.ReadLine();
if ((readline3 == "M") || (readline3 == "m"))
{
Console.Title = "OpenRec May 30th 2018";
version = "2018";
Console.Clear();
Console.WriteLine("Version Selected: May 30th, 2018.");
new NameServer();
new ImageServer();
new APIServer();
new WebSocket();
}
if ((readline3 == "S") || (readline3 == "s"))
{
Console.Title = "OpenRec September 27th 2018";
version = "2018";
Console.Clear();
Console.WriteLine("Version Selected: September 27th, 2018.");
new NameServer();
new ImageServer();
new APIServer();
new Late2018WebSock();
}
}
}
if (readline == "5")
{
Console.Clear();
goto ChatStart;
ChatStart:
Console.WriteLine("Pinging the chat servers...");
try
{
string ping = new WebClient().DownloadString("https://openrecchat.loca.lt/ping");
}
catch (Exception ex4)
{
Console.WriteLine("Chat servers currently offline...");
Console.WriteLine("Press any key to continue:");
Console.ReadKey();
goto Start;
}
Console.WriteLine("Success!");
Console.WriteLine("Press any key to continue:");
Console.ReadKey();
OpenRecNet.RecNet();
}
}
public static string version = "0.4.0";
public static string version = "";
public static string appversion = "0.6.0";
public static bool bannedflag = false;
}
}

View File

@@ -1,63 +0,0 @@
using System;
using System.Collections.Generic;
namespace rooms2018
{
// Token: 0x0200002B RID: 43
internal class RoomsList
{
// Token: 0x17000062 RID: 98
// (get) Token: 0x060000F8 RID: 248 RVA: 0x000053F8 File Offset: 0x000035F8
public static RoomsList.FeaturedRoomData getFeaturedRooms
{
get
{
List<Rooms.RoomPlayPage> list = new List<Rooms.RoomPlayPage>();
foreach (KeyValuePair<string, Rooms.RoomDetail> keyValuePair in Rooms.RecRoomOriginalRooms)
{
Rooms.RoomPlayPage item = new Rooms.RoomPlayPage
{
RoomName = keyValuePair.Value.Room.Name,
RoomId = keyValuePair.Value.Room.RoomId,
ImageName = "93a53ced93a04f658795a87f4a4aab85"
};
list.Add(item);
}
return new RoomsList.FeaturedRoomData
{
Name = "Rec Room Originals",
FeaturedRooms = list
};
}
}
// Token: 0x17000063 RID: 99
// (get) Token: 0x060000F9 RID: 249 RVA: 0x000054BC File Offset: 0x000036BC
public static List<Rooms.cRoom> HotRooms
{
get
{
List<Rooms.cRoom> list = new List<Rooms.cRoom>();
foreach (KeyValuePair<string, Rooms.RoomDetail> keyValuePair in Rooms.RecRoomOriginalRooms)
{
list.Add(keyValuePair.Value.Room);
}
return list;
}
}
// Token: 0x0200002C RID: 44
public class FeaturedRoomData
{
// Token: 0x17000064 RID: 100
// (get) Token: 0x060000FB RID: 251 RVA: 0x00002762 File Offset: 0x00000962
// (set) Token: 0x060000FC RID: 252 RVA: 0x0000276A File Offset: 0x0000096A
public string Name { get; set; }
// Token: 0x17000065 RID: 101
// (get) Token: 0x060000FD RID: 253 RVA: 0x00002773 File Offset: 0x00000973
// (set) Token: 0x060000FE RID: 254 RVA: 0x0000277B File Offset: 0x0000097B
public List<Rooms.RoomPlayPage> FeaturedRooms { get; set; }
}
}
}

File diff suppressed because it is too large Load Diff

23
Sanitize.cs Normal file
View File

@@ -0,0 +1,23 @@
using System;
using Newtonsoft.Json;
namespace api
{
// Token: 0x02000081 RID: 129
public class Sanitize
{
public static Sanitize.m001 GetSanitize()
{
return new m001
{
IsPure = true
};
}
public sealed class m001
{
public bool IsPure { get; set; }
}
}
}

View File

@@ -106,7 +106,7 @@ namespace api
new Setting
{
Key = "VoiceChat",
Value = 0f.ToString()
Value = 1f.ToString()
},
new Setting
{

View File

@@ -15,6 +15,8 @@ namespace start
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\App\\");
Directory.CreateDirectory("SaveData\\Profile\\");
Directory.CreateDirectory("SaveData\\Rooms\\");
Directory.CreateDirectory("SaveData\\Rooms\\Downloaded\\");
if (!(File.Exists("SaveData\\avatar.txt")))
{
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
@@ -41,7 +43,11 @@ namespace start
}
if (!(File.Exists("SaveData\\storefronts2.txt")))
{
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/vaultButItsNewer/main/StoreFront2.json"));
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/storefront2.txt"));
}
if (!(File.Exists("SaveData\\baserooms.txt")))
{
File.WriteAllText("SaveData\\baserooms.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/baserooms.txt"));
}
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
@@ -53,7 +59,7 @@ namespace start
}
if (!(File.Exists("SaveData\\Profile\\userid.txt")))
{
File.WriteAllText("SaveData\\Profile\\userid.txt", "2");
File.WriteAllText("SaveData\\Profile\\userid.txt", "10000000");
}
if (!(File.Exists("SaveData\\myrooms.txt")))
{

1
Update/banned.txt Normal file
View File

@@ -0,0 +1 @@
[487454, 4701796, 1623123]

1
Update/dormslideshow.txt Normal file
View File

@@ -0,0 +1 @@
{"Name":"Check Out All The Rooms Today!","FeaturedRooms":[{"RoomName":"Home","RoomId":1,"ImageName":"DefaultRoomImage.jpg"},{"RoomName":"RecCenter","RoomId":2,"ImageName":"22eefa3219f046fd9e2090814650ede3"},{"RoomName":"3DCharades","RoomId":3,"ImageName":"a446d5808ed14401a27f53e631c31b93.png"},{"RoomName":"DiscGolfLake","RoomId":4,"ImageName":"52cf6c3271894ecd95fb0c9b2d2209a7"},{"RoomName":"DiscGolfPropulsion","RoomId":5,"ImageName":"fc9a1acc47514b64a30d199d5ccdeca9"},{"RoomName":"Dodgeball","RoomId":6,"ImageName":"6d5c494668784816bbc41d9b870e5003"},{"RoomName":"Paddleball","RoomId":7,"ImageName":"ffdca6ed8bd94631ac15e3e894acb6c6"},{"RoomName":"Paintball","RoomId":8,"ImageName":"93a53ced93a04f658795a87f4a4aab85"},{"RoomName":"GoldenTrophy","RoomId":13,"ImageName":"38e9d0d4eff94556a0b106508249dcf9"},{"RoomName":"TheRiseofJumbotron","RoomId":14,"ImageName":"51296f28105b48178708e389b6daf057"},{"RoomName":"CrimsonCauldron","RoomId":15,"ImageName":"3ab82779dff94d11920ebf38df249395"},{"RoomName":"IsleOfLostSkulls","RoomId":16,"ImageName":"45ad53aa002646d0ab3eb509b9f260ef"},{"RoomName":"Soccer","RoomId":17,"ImageName":"51c6f5ac5e6f4777b573e7e43f8a85ea"},{"RoomName":"LaserTag","RoomId":18,"ImageName":"c5a72193d6904811b2d0195a6deb3125"},{"RoomName":"RecRoyaleSquads","RoomId":20,"ImageName":"69fc525056014e39a435c4d2fdf2b887"},{"RoomName":"RecRoyaleSolos","RoomId":21,"ImageName":"f9e112bb67fb430d979e5ad6c2c116d4"},{"RoomName":"Lounge","RoomId":22,"ImageName":"3e8c2458f1e542ab8aa275e4083ee47a"},{"RoomName":"Park","RoomId":25,"ImageName":"79ee7af2532247f397867e48daa9d264.png"},{"RoomName":"QuestForDracula","RoomId":27,"ImageName":"d0df003353914adfaecdd23f428208b6"}]}

317
Update/hotrooms.txt Normal file
View File

@@ -0,0 +1,317 @@
[
{
"RoomId": 29,
"Name": "Custom Room",
"Description": "Custom Room",
"CreatorPlayerId": 1,
"ImageName": "CustomRoom.png",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 3,
"Name": "3DCharades",
"Description": "Take turns drawing, acting, and guessing funny phrases with your friends!",
"CreatorPlayerId": 72963398,
"ImageName": "a446d5808ed14401a27f53e631c31b93.png",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 4,
"Name": "DiscGolfLake",
"Description": "Throw your disc into the goal. Sounds easy, right?",
"CreatorPlayerId": 72963398,
"ImageName": "52cf6c3271894ecd95fb0c9b2d2209a7",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 5,
"Name": "DiscGolfPropulsion",
"Description": "Throw your disc into the goal. Sounds easy, right?",
"CreatorPlayerId": 72963398,
"ImageName": "fc9a1acc47514b64a30d199d5ccdeca9",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 6,
"Name": "Dodgeball",
"Description": "Throw dodgeballs to knock out your friends in this gym classic!",
"CreatorPlayerId": 72963398,
"ImageName": "6d5c494668784816bbc41d9b870e5003",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 7,
"Name": "Paddleball",
"Description": "A simple rally game between two players in a plexiglass tube with a zero-g ball.",
"CreatorPlayerId": 72963398,
"ImageName": "ffdca6ed8bd94631ac15e3e894acb6c6",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 8,
"Name": "Paintball",
"Description": "Red and Blue teams splat each other in capture the flag and team battle.",
"CreatorPlayerId": 72963398,
"ImageName": "93a53ced93a04f658795a87f4a4aab85",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": true,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 13,
"Name": "GoldenTrophy",
"Description": "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!",
"CreatorPlayerId": 72963398,
"ImageName": "38e9d0d4eff94556a0b106508249dcf9",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 14,
"Name": "TheRiseofJumbotron",
"Description": "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!",
"CreatorPlayerId": 72963398,
"ImageName": "51296f28105b48178708e389b6daf057",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 15,
"Name": "CrimsonCauldron",
"Description": "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?",
"CreatorPlayerId": 72963398,
"ImageName": "3ab82779dff94d11920ebf38df249395",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 16,
"Name": "IsleOfLostSkulls",
"Description": "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?",
"CreatorPlayerId": 72963398,
"ImageName": "45ad53aa002646d0ab3eb509b9f260ef",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 17,
"Name": "Soccer",
"Description": "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!",
"CreatorPlayerId": 72963398,
"ImageName": "51c6f5ac5e6f4777b573e7e43f8a85ea",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 18,
"Name": "LaserTag",
"Description": "Teams battle each other and waves of robots.",
"CreatorPlayerId": 72963398,
"ImageName": "c5a72193d6904811b2d0195a6deb3125",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 20,
"Name": "RecRoyaleSquads",
"Description": "Squads of three battle it out on Frontier Island. Last squad standing wins!",
"CreatorPlayerId": 72963398,
"ImageName": "69fc525056014e39a435c4d2fdf2b887",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 21,
"Name": "RecRoyaleSolos",
"Description": "Battle it out on Frontier Island. Last person standing wins!",
"CreatorPlayerId": 72963398,
"ImageName": "f9e112bb67fb430d979e5ad6c2c116d4",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 22,
"Name": "Lounge",
"Description": "A low-key lounge to chill with your friends. Great for private parties!",
"CreatorPlayerId": 72963398,
"ImageName": "3e8c2458f1e542ab8aa275e4083ee47a",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 25,
"Name": "Park",
"Description": "A sprawling park with amphitheater, play fields, and a cave.",
"CreatorPlayerId": 72963398,
"ImageName": "79ee7af2532247f397867e48daa9d264.png",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 27,
"Name": "QuestForDraucula",
"Description": "Gather your vampire hunting crew, conquer a legendary castle, and restore peace to Rec Room!",
"CreatorPlayerId": 72963398,
"ImageName": "d0df003353914adfaecdd23f428208b6",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 1,
"Name": "DormRoom",
"Description": "Your private room",
"CreatorPlayerId": 72963398,
"ImageName": "DefaultRoomImage.jpg",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 2,
"Name": "RecCenter",
"Description": "A social hub to meet and mingle with friends new and old.",
"CreatorPlayerId": 72963398,
"ImageName": "22eefa3219f046fd9e2090814650ede3",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{
"RoomId": 28,
"Name": "Bowling",
"Description": "Hang out with friends, bowl a few games, eat snacks!",
"CreatorPlayerId": 72963398,
"ImageName": "4d143a3359e8483e8d48116ab6cacecb",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
}
]

1
Update/motd.txt Normal file
View File

@@ -0,0 +1 @@
Welcome to OpenRec!

298
Vault2018CustomRooms.cs Normal file
View File

@@ -0,0 +1,298 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using Newtonsoft.Json;
using vaultgamesesh;
namespace vaultgamesesh
{
internal sealed class c000099
{
// Token: 0x06000358 RID: 856 RVA: 0x0000B134 File Offset: 0x00009334
public static c000099.c00009c m00002f()
{
List<c00005d.c000062> list = new List<c00005d.c000062>();
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000050)
{
c00005d.c000062 item = new c00005d.c000062
{
RoomName = keyValuePair.Value.Room.Name,
RoomId = (long)((int)keyValuePair.Value.Room.RoomId),
ImageName = keyValuePair.Value.Room.ImageName
};
list.Add(item);
}
return new c000099.c00009c
{
Name = "Check Out All The Rooms Today!",
FeaturedRooms = list
};
}
// Token: 0x06000359 RID: 857 RVA: 0x0000B204 File Offset: 0x00009404
public static List<c00005d.c000061> m000009()
{
List<c00005d.c000061> list = new List<c00005d.c000061>();
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003b())
{
list.Add(keyValuePair.Value.Room);
}
return list;
}
// Token: 0x0600035A RID: 858 RVA: 0x0000B268 File Offset: 0x00009468
public static List<c00005d.c000061> m000035()
{
List<c00005d.c000061> list = new List<c00005d.c000061>();
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000024)
{
list.Add(keyValuePair.Value.Room);
}
return list;
}
// Token: 0x0600035B RID: 859 RVA: 0x0000B2CC File Offset: 0x000094CC
public static List<c00005d.c000061> m000055()
{
List<c00005d.c000061> list = new List<c00005d.c000061>();
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003a())
{
list.Add(keyValuePair.Value.Room);
}
return list;
}
// Token: 0x0600035C RID: 860 RVA: 0x0000B330 File Offset: 0x00009530
public static List<c00005d.c000061> m000056(string p0)
{
string[] array = p0.Split(new char[]
{
' '
});
List<c00005d.c000061> list = new List<c00005d.c000061>();
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003b())
{
c00005d.c000060 value = keyValuePair.Value;
bool flag = true;
foreach (string text in array)
{
if (flag)
{
if (text.StartsWith("#"))
{
bool flag2 = false;
foreach (c00005d.c000063 c in value.Tags)
{
if ("#" + c.Tag.ToLower() == text.ToLower())
{
flag2 = true;
}
}
if (!flag2)
{
flag = false;
}
}
else if (!value.Room.Name.ToLower().Contains(text.ToLower()))
{
flag = false;
}
}
}
if (flag)
{
list.Add(value.Room);
}
}
return list;
}
// Token: 0x0600035D RID: 861 RVA: 0x0000B488 File Offset: 0x00009688
public static c00005d.c000060 m000057(ulong p0)
{
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000024)
{
if (keyValuePair.Value.Room.RoomId == p0)
{
return keyValuePair.Value;
}
}
return null;
}
// Token: 0x0600035E RID: 862 RVA: 0x0000B4F8 File Offset: 0x000096F8
public static c000099.c00009b m00000a(string p0)
{
c000099.c00009b c00009b = new c000099.c00009b();
c000099.c00009a c00009a = JsonConvert.DeserializeObject<c000099.c00009a>(p0);
c00005d.c000060 c = c000099.m000057(c00009a.RoomId);
if (c == null)
{
c00009b.Result = (c000099.enum09d)2;
c00009b.RoomDetails = new c00005d.c000060();
}
else
{
c00009b.Result = (c000099.enum09d)0;
c00009b.RoomDetails = c;
c00009b.RoomDetails.Room.Name = c00009a.Name;
ulong roomId = (ulong)((long)new Random().Next(100, 9999999));
c00009b.RoomDetails.Room.RoomId = roomId;
c00009b.RoomDetails.Room.IsAGRoom = false;
c00009b.RoomDetails.Scenes[0].IsSandbox = true;
c00009b.RoomDetails.Scenes[0].RoomId = roomId;
c00009b.RoomDetails.Scenes[0].DataBlobName = string.Empty;
c00009b.RoomDetails.Scenes[0].DataModifiedAt = DateTime.Now;
c00009b.RoomDetails.Room.CreatorPlayerId = server.APIServer.CachedPlayerID;
}
c00005d.m00003a().Add(c00009a.Name, c);
string text = c000004.m000007() + c00009b.RoomDetails.Room.Name;
if (!Directory.Exists(text))
{
Directory.CreateDirectory(text);
}
File.WriteAllText(text + "\\RoomDetails.json", JsonConvert.SerializeObject(c00009b.RoomDetails));
return c00009b;
}
// Token: 0x0200009A RID: 154
public sealed class c00009a
{
// Token: 0x17000105 RID: 261
// (get) Token: 0x06000360 RID: 864 RVA: 0x0000373A File Offset: 0x0000193A
// (set) Token: 0x06000361 RID: 865 RVA: 0x00003742 File Offset: 0x00001942
public string Name
{
[CompilerGenerated]
get
{
return this.f00000a;
}
[CompilerGenerated]
set
{
this.f00000a = value;
}
}
// Token: 0x17000106 RID: 262
// (get) Token: 0x06000362 RID: 866 RVA: 0x0000374B File Offset: 0x0000194B
// (set) Token: 0x06000363 RID: 867 RVA: 0x00003753 File Offset: 0x00001953
public ulong RoomId
{
[CompilerGenerated]
get
{
return this.f000023;
}
[CompilerGenerated]
set
{
this.f000023 = value;
}
}
// Token: 0x040001DD RID: 477
private string f00000a;
// Token: 0x040001DE RID: 478
private ulong f000023;
}
// Token: 0x0200009B RID: 155
public sealed class c00009b
{
// Token: 0x17000107 RID: 263
// (get) Token: 0x06000365 RID: 869 RVA: 0x0000375C File Offset: 0x0000195C
// (set) Token: 0x06000366 RID: 870 RVA: 0x00003764 File Offset: 0x00001964
public c000099.enum09d Result
{
[CompilerGenerated]
get
{
return this.f000042;
}
[CompilerGenerated]
set
{
this.f000042 = value;
}
}
// Token: 0x17000108 RID: 264
// (get) Token: 0x06000367 RID: 871 RVA: 0x0000376D File Offset: 0x0000196D
// (set) Token: 0x06000368 RID: 872 RVA: 0x00003775 File Offset: 0x00001975
public c00005d.c000060 RoomDetails
{
[CompilerGenerated]
get
{
return this.f00004f;
}
[CompilerGenerated]
set
{
this.f00004f = value;
}
}
// Token: 0x040001DF RID: 479
private c000099.enum09d f000042;
// Token: 0x040001E0 RID: 480
private c00005d.c000060 f00004f;
}
// Token: 0x0200009C RID: 156
public sealed class c00009c
{
// Token: 0x17000109 RID: 265
// (get) Token: 0x0600036A RID: 874 RVA: 0x0000377E File Offset: 0x0000197E
// (set) Token: 0x0600036B RID: 875 RVA: 0x00003786 File Offset: 0x00001986
public string Name
{
[CompilerGenerated]
get
{
return this.f00000a;
}
[CompilerGenerated]
set
{
this.f00000a = value;
}
}
// Token: 0x1700010A RID: 266
// (get) Token: 0x0600036C RID: 876 RVA: 0x0000378F File Offset: 0x0000198F
// (set) Token: 0x0600036D RID: 877 RVA: 0x00003797 File Offset: 0x00001997
public List<c00005d.c000062> FeaturedRooms
{
[CompilerGenerated]
get
{
return this.f000031;
}
[CompilerGenerated]
set
{
this.f000031 = value;
}
}
// Token: 0x040001E1 RID: 481
private string f00000a;
// Token: 0x040001E2 RID: 482
private List<c00005d.c000062> f000031;
}
// Token: 0x0200009D RID: 157
public enum enum09d
{
}
}
}

453
Vault2018GameSessions.cs Normal file
View File

@@ -0,0 +1,453 @@
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using Newtonsoft.Json;
using System.IO;
namespace vaultgamesesh
{
// Token: 0x02000005 RID: 5
internal sealed class c000041
{
// Token: 0x0600000E RID: 14 RVA: 0x000022C0 File Offset: 0x000004C0
public static c000041.c000044 m00002f()
{
return new c000041.c000044
{
GameSessionId = 20181L,
PhotonRegionId = "us",
PhotonRoomId = "1",
Name = "DormRoom",
RoomId = 1L,
RoomSceneId = 1L,
RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163",
IsSandbox = false,
DataBlobName = string.Empty,
PlayerEventId = null,
Private = false,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
}
// Token: 0x0600000F RID: 15 RVA: 0x00002370 File Offset: 0x00000570
public static c000041.c000042 m000030(string p0)
{
c00006b.c00006c c00006c = JsonConvert.DeserializeObject<c00006b.c00006c>(p0);
Console.WriteLine("[BackEnd] Room Name: " + c00006c.RoomName);
Thread.Sleep(1);
Console.WriteLine("[BackEnd] Scene Name: " + c00006c.SceneName);
bool flag = c00005d.m00003b().ContainsKey(c00006c.RoomName);
if (flag)
{
c000041.f000043 = c00005d.m00003b()[c00006c.RoomName];
}
else
{
bool flag2 = c00005d.m00003a().ContainsKey(c00006c.RoomName);
if (flag2)
{
c000041.f000043 = c00005d.m00003a()[c00006c.RoomName];
}
else
{
c000041.f000043 = c00005d.f000050[File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt")];
}
}
int num = 0;
for (int i = 0; i < c000041.f000043.Scenes.Count<c00005d.c00005f>(); i++)
{
bool flag3 = c000041.f000043.Scenes[i].Name == c00006c.SceneName;
if (flag3)
{
num = i;
}
}
string text = string.Format("{0}", c000041.f000043.Scenes[num].RoomId);
bool flag4 = c000041.f000013 != null && text + c000004.f000003 == c000041.f000013.PhotonRoomId;
if (flag4)
{
text += "Instance2";
}
text += c000004.f000003;
bool @private = c00006c.Private;
if (@private)
{
text += string.Format("Pri{0}", server.APIServer.CachedPlayerID);
}
c000041.f000013 = new c000041.c000044
{
GameSessionId = 20181L,
PhotonRegionId = "us",
PhotonRoomId = text,
Name = c000041.f000043.Room.Name,
RoomId = (long)c000041.f000043.Room.RoomId,
RoomSceneId = (long)(num + 1),
RoomSceneLocationId = c000041.f000043.Scenes[num].RoomSceneLocationId,
IsSandbox = c000041.f000043.Scenes[num].IsSandbox,
DataBlobName = c000041.f000043.Scenes[num].DataBlobName,
PlayerEventId = null,
Private = c00006c.Private,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
c000041.c000042 c = new c000041.c000042();
c.Result = 0;
c.GameSession = c000041.f000013;
c.RoomDetails = c000041.f000043;
Console.WriteLine(JsonConvert.SerializeObject(c));
return c;
}
// Token: 0x0400000B RID: 11
public static c00005d.c000060 f000043;
// Token: 0x0400000C RID: 12
public static c000041.c000044 f000013;
// Token: 0x02000028 RID: 40
public sealed class c000042
{
// Token: 0x17000039 RID: 57
// (get) Token: 0x060000D7 RID: 215 RVA: 0x0000B290 File Offset: 0x00009490
// (set) Token: 0x060000D8 RID: 216 RVA: 0x0000B2A8 File Offset: 0x000094A8
public int Result
{
[CompilerGenerated]
get
{
return this.f00001f;
}
[CompilerGenerated]
set
{
this.f00001f = value;
}
}
// Token: 0x1700003A RID: 58
// (get) Token: 0x060000D9 RID: 217 RVA: 0x0000B2B4 File Offset: 0x000094B4
// (set) Token: 0x060000DA RID: 218 RVA: 0x0000B2CC File Offset: 0x000094CC
public c000041.c000044 GameSession
{
[CompilerGenerated]
get
{
return this.f000013;
}
[CompilerGenerated]
set
{
this.f000013 = value;
}
}
// Token: 0x1700003B RID: 59
// (get) Token: 0x060000DB RID: 219 RVA: 0x0000B2D8 File Offset: 0x000094D8
// (set) Token: 0x060000DC RID: 220 RVA: 0x0000B2F0 File Offset: 0x000094F0
public c00005d.c000060 RoomDetails
{
[CompilerGenerated]
get
{
return this.f000045;
}
[CompilerGenerated]
set
{
this.f000045 = value;
}
}
// Token: 0x04000075 RID: 117
private int f00001f;
// Token: 0x04000076 RID: 118
private c000041.c000044 f000013;
// Token: 0x04000077 RID: 119
private c00005d.c000060 f000045;
}
// Token: 0x02000029 RID: 41
public enum enum043
{
}
// Token: 0x0200002A RID: 42
public sealed class c000044
{
// Token: 0x1700003C RID: 60
// (get) Token: 0x060000DE RID: 222 RVA: 0x0000B304 File Offset: 0x00009504
// (set) Token: 0x060000DF RID: 223 RVA: 0x0000B31C File Offset: 0x0000951C
public long GameSessionId
{
get
{
return this.f00002c;
}
set
{
this.f00002c = value;
}
}
// Token: 0x1700003D RID: 61
// (get) Token: 0x060000E0 RID: 224 RVA: 0x0000B326 File Offset: 0x00009526
// (set) Token: 0x060000E1 RID: 225 RVA: 0x0000B32E File Offset: 0x0000952E
public string PhotonRegionId { get; set; }
// Token: 0x1700003E RID: 62
// (get) Token: 0x060000E2 RID: 226 RVA: 0x0000B338 File Offset: 0x00009538
// (set) Token: 0x060000E3 RID: 227 RVA: 0x0000B350 File Offset: 0x00009550
public string PhotonRoomId
{
get
{
return this.f000003;
}
set
{
this.f000003 = value;
}
}
// Token: 0x1700003F RID: 63
// (get) Token: 0x060000E4 RID: 228 RVA: 0x0000B35C File Offset: 0x0000955C
// (set) Token: 0x060000E5 RID: 229 RVA: 0x0000B374 File Offset: 0x00009574
public string Name
{
get
{
return this.f000035;
}
set
{
this.f000035 = value;
}
}
// Token: 0x17000040 RID: 64
// (get) Token: 0x060000E6 RID: 230 RVA: 0x0000B380 File Offset: 0x00009580
// (set) Token: 0x060000E7 RID: 231 RVA: 0x0000B398 File Offset: 0x00009598
public long RoomId
{
get
{
return this.f00000d;
}
set
{
this.f00000d = value;
}
}
// Token: 0x17000041 RID: 65
// (get) Token: 0x060000E8 RID: 232 RVA: 0x0000B3A4 File Offset: 0x000095A4
// (set) Token: 0x060000E9 RID: 233 RVA: 0x0000B3BC File Offset: 0x000095BC
public long RoomSceneId
{
get
{
return this.f000046;
}
set
{
this.f000046 = value;
}
}
// Token: 0x17000042 RID: 66
// (get) Token: 0x060000EA RID: 234 RVA: 0x0000B3C8 File Offset: 0x000095C8
// (set) Token: 0x060000EB RID: 235 RVA: 0x0000B3E0 File Offset: 0x000095E0
public string RoomSceneLocationId
{
get
{
return this.f00000f;
}
set
{
this.f00000f = value;
}
}
// Token: 0x17000043 RID: 67
// (get) Token: 0x060000EC RID: 236 RVA: 0x0000B3EC File Offset: 0x000095EC
// (set) Token: 0x060000ED RID: 237 RVA: 0x0000B404 File Offset: 0x00009604
public bool IsSandbox
{
get
{
return this.f000017;
}
set
{
this.f000017 = value;
}
}
// Token: 0x17000044 RID: 68
// (get) Token: 0x060000EE RID: 238 RVA: 0x0000B410 File Offset: 0x00009610
// (set) Token: 0x060000EF RID: 239 RVA: 0x0000B428 File Offset: 0x00009628
public string DataBlobName
{
get
{
return this.f000009;
}
set
{
this.f000009 = value;
}
}
// Token: 0x17000045 RID: 69
// (get) Token: 0x060000F0 RID: 240 RVA: 0x0000B434 File Offset: 0x00009634
// (set) Token: 0x060000F1 RID: 241 RVA: 0x0000B44C File Offset: 0x0000964C
public long? PlayerEventId
{
get
{
return this.f000047;
}
set
{
this.f000047 = value;
}
}
// Token: 0x17000046 RID: 70
// (get) Token: 0x060000F2 RID: 242 RVA: 0x0000B458 File Offset: 0x00009658
// (set) Token: 0x060000F3 RID: 243 RVA: 0x0000B470 File Offset: 0x00009670
public bool Private
{
get
{
return this.f000019;
}
set
{
this.f000019 = value;
}
}
// Token: 0x17000047 RID: 71
// (get) Token: 0x060000F4 RID: 244 RVA: 0x0000B47C File Offset: 0x0000967C
// (set) Token: 0x060000F5 RID: 245 RVA: 0x0000B494 File Offset: 0x00009694
public bool GameInProgress
{
get
{
return this.f00001a;
}
set
{
this.f00001a = value;
}
}
// Token: 0x17000048 RID: 72
// (get) Token: 0x060000F6 RID: 246 RVA: 0x0000B4A0 File Offset: 0x000096A0
// (set) Token: 0x060000F7 RID: 247 RVA: 0x0000B4B8 File Offset: 0x000096B8
public int MaxCapacity
{
get
{
return this.f000048;
}
set
{
this.f000048 = value;
}
}
// Token: 0x17000049 RID: 73
// (get) Token: 0x060000F8 RID: 248 RVA: 0x0000B4C4 File Offset: 0x000096C4
// (set) Token: 0x060000F9 RID: 249 RVA: 0x0000B4DC File Offset: 0x000096DC
public bool IsFull
{
get
{
return this.f00001c;
}
set
{
this.f00001c = value;
}
}
// Token: 0x0400007A RID: 122
private long f00002c;
// Token: 0x0400007B RID: 123
private string f000002;
// Token: 0x0400007C RID: 124
private string f000003;
// Token: 0x0400007D RID: 125
private string f000035;
// Token: 0x0400007E RID: 126
private long f00000d;
// Token: 0x0400007F RID: 127
private long f000046;
// Token: 0x04000080 RID: 128
private string f00000f;
// Token: 0x04000081 RID: 129
private bool f000017;
// Token: 0x04000082 RID: 130
private string f000009;
// Token: 0x04000083 RID: 131
private long? f000047;
// Token: 0x04000084 RID: 132
private bool f000019;
// Token: 0x04000085 RID: 133
private bool f00001a;
// Token: 0x04000086 RID: 134
private int f000048;
// Token: 0x04000087 RID: 135
private bool f00001c;
}
}
}

107
Vault2018Notif.cs Normal file
View File

@@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using ws;
namespace vaultgamesesh
{
// Token: 0x0200000B RID: 11
public class Notification2018
{
// Token: 0x06000025 RID: 37
public static string ProcessRequest(string jsonData)
{
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
string result;
if (dictionary.ContainsKey("api"))
{
string text = (string)dictionary["api"];
string text2 = text;
if (text2 != null)
{
if (text2 == "playerSubscriptions/v1/update")
{
Console.WriteLine("[18CWS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, c000020.m000027()));
}
if (text2 == "heartbeat2")
{
Console.WriteLine("[18CWS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027()));
}
}
Console.WriteLine("[18CWS] Unknown CWS call: " + text);
result = "";
}
else
{
result = jsonData;
}
return result;
}
// Token: 0x0200003B RID: 59
public enum ResponseResult
{
// Token: 0x040000DF RID: 223
RelationshipChanged = 1,
// Token: 0x040000E0 RID: 224
MessageReceived,
// Token: 0x040000E1 RID: 225
MessageDeleted,
// Token: 0x040000E2 RID: 226
PresenceHeartbeatResponse,
// Token: 0x040000E3 RID: 227
SubscriptionListUpdated = 9,
// Token: 0x040000E4 RID: 228
SubscriptionUpdateProfile = 11,
// Token: 0x040000E5 RID: 229
SubscriptionUpdatePresence,
// Token: 0x040000E6 RID: 230
SubscriptionUpdateGameSession,
// Token: 0x040000E7 RID: 231
SubscriptionUpdateRoom,
// Token: 0x040000E8 RID: 232
ModerationQuitGame = 20,
// Token: 0x040000E9 RID: 233
ModerationUpdateRequired,
// Token: 0x040000EA RID: 234
ModerationKick,
// Token: 0x040000EB RID: 235
ModerationKickAttemptFailed,
// Token: 0x040000EC RID: 236
GiftPackageReceived = 30,
// Token: 0x040000ED RID: 237
ProfileJuniorStatusUpdate = 40,
// Token: 0x040000EE RID: 238
RelationshipsInvalid = 50,
// Token: 0x040000EF RID: 239
StorefrontBalanceAdd = 60
}
// Token: 0x0200003C RID: 60
public class Reponse
{
// Token: 0x1700008A RID: 138
// (get) Token: 0x06000185 RID: 389
// (set) Token: 0x06000186 RID: 390
public int Id { get; set; }
// Token: 0x1700008B RID: 139
// (get) Token: 0x06000187 RID: 391
// (set) Token: 0x06000188 RID: 392
public object Msg { get; set; }
// Token: 0x06000189 RID: 393
public static Notification.Reponse createResponse(int id, object msg)
{
return new Notification.Reponse
{
Id = id,
Msg = msg
};
}
}
}
}

192
Vault2018Player.cs Normal file
View File

@@ -0,0 +1,192 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Runtime.CompilerServices;
using Newtonsoft.Json;
namespace vaultgamesesh
{
// Token: 0x02000008 RID: 8
public sealed class c000079
{
// Token: 0x06000017 RID: 23 RVA: 0x00004F14 File Offset: 0x00003114
public static List<c000079.c00007a> m000009()
{
return c000079.f000031;
}
// Token: 0x06000018 RID: 24 RVA: 0x00004F2B File Offset: 0x0000312B
public static void m000036(List<c000079.c00007a> p0)
{
c000079.f000031 = p0;
}
// Token: 0x04000010 RID: 16
private static List<c000079.c00007a> f000031;
// Token: 0x02000037 RID: 55
public sealed class c00007a
{
// Token: 0x17000080 RID: 128
// (get) Token: 0x0600016E RID: 366 RVA: 0x0000BC2C File Offset: 0x00009E2C
// (set) Token: 0x0600016F RID: 367 RVA: 0x0000BC44 File Offset: 0x00009E44
public ulong Id
{
[CompilerGenerated]
get
{
return this.f000001;
}
[CompilerGenerated]
set
{
this.f000001 = value;
}
}
// Token: 0x17000081 RID: 129
// (get) Token: 0x06000170 RID: 368 RVA: 0x0000BC50 File Offset: 0x00009E50
// (set) Token: 0x06000171 RID: 369 RVA: 0x0000BC68 File Offset: 0x00009E68
public string DisplayName
{
[CompilerGenerated]
get
{
return this.f000002;
}
[CompilerGenerated]
set
{
this.f000002 = value;
}
}
// Token: 0x17000082 RID: 130
// (get) Token: 0x06000172 RID: 370 RVA: 0x0000BC74 File Offset: 0x00009E74
// (set) Token: 0x06000173 RID: 371 RVA: 0x0000BC8C File Offset: 0x00009E8C
public string Username
{
[CompilerGenerated]
get
{
return this.f000003;
}
[CompilerGenerated]
set
{
this.f000003 = value;
}
}
// Token: 0x17000083 RID: 131
// (get) Token: 0x06000174 RID: 372 RVA: 0x0000BC98 File Offset: 0x00009E98
// (set) Token: 0x06000175 RID: 373 RVA: 0x0000BCB0 File Offset: 0x00009EB0
public int Level
{
[CompilerGenerated]
get
{
return this.f000004;
}
[CompilerGenerated]
set
{
this.f000004 = value;
}
}
// Token: 0x17000084 RID: 132
// (get) Token: 0x06000176 RID: 374 RVA: 0x0000BCBC File Offset: 0x00009EBC
// (set) Token: 0x06000177 RID: 375 RVA: 0x0000BCD4 File Offset: 0x00009ED4
public int XP
{
[CompilerGenerated]
get
{
return this.f000005;
}
[CompilerGenerated]
set
{
this.f000005 = value;
}
}
// Token: 0x17000085 RID: 133
// (get) Token: 0x06000178 RID: 376 RVA: 0x0000BCE0 File Offset: 0x00009EE0
// (set) Token: 0x06000179 RID: 377 RVA: 0x0000BCF8 File Offset: 0x00009EF8
public bool Developer
{
[CompilerGenerated]
get
{
return this.f000039;
}
[CompilerGenerated]
set
{
this.f000039 = value;
}
}
// Token: 0x17000086 RID: 134
// (get) Token: 0x0600017A RID: 378 RVA: 0x0000BD04 File Offset: 0x00009F04
// (set) Token: 0x0600017B RID: 379 RVA: 0x0000BD1C File Offset: 0x00009F1C
public bool IsBooster
{
[CompilerGenerated]
get
{
return this.f000016;
}
[CompilerGenerated]
set
{
this.f000016 = value;
}
}
// Token: 0x17000087 RID: 135
// (get) Token: 0x0600017C RID: 380 RVA: 0x0000BD28 File Offset: 0x00009F28
// (set) Token: 0x0600017D RID: 381 RVA: 0x0000BD40 File Offset: 0x00009F40
public int BootMultiplier
{
[CompilerGenerated]
get
{
return this.f000008;
}
[CompilerGenerated]
set
{
this.f000008 = value;
}
}
// Token: 0x040000C1 RID: 193
private ulong f000001;
// Token: 0x040000C2 RID: 194
private string f000002;
// Token: 0x040000C3 RID: 195
private string f000003;
// Token: 0x040000C4 RID: 196
private int f000004;
// Token: 0x040000C5 RID: 197
private int f000005;
// Token: 0x040000C6 RID: 198
private bool f000039;
// Token: 0x040000C7 RID: 199
private bool f000016;
// Token: 0x040000C8 RID: 200
private int f000008;
}
}
}

123
Vault2018Prescence.cs Normal file
View File

@@ -0,0 +1,123 @@
using System;
using System.Runtime.CompilerServices;
using server;
namespace vaultgamesesh
{
// Token: 0x02000004 RID: 4
internal sealed class c000020
{
// Token: 0x0600000C RID: 12 RVA: 0x0000225C File Offset: 0x0000045C
public static c000020.c000022 m000027()
{
bool flag = c000041.f000013 == null;
bool flag2 = flag;
c000041.c000044 gameSession;
if (flag2)
{
gameSession = c000041.m00002f();
}
else
{
gameSession = c000041.f000013;
}
return new c000020.c000022
{
PlayerId = APIServer.CachedPlayerID,
IsOnline = true,
PlayerType = 2,
GameSession = gameSession
};
}
// Token: 0x02000026 RID: 38
public enum enum021
{
}
// Token: 0x02000027 RID: 39
public sealed class c000022
{
// Token: 0x17000035 RID: 53
// (get) Token: 0x060000CE RID: 206 RVA: 0x0000B1F8 File Offset: 0x000093F8
// (set) Token: 0x060000CF RID: 207 RVA: 0x0000B210 File Offset: 0x00009410
public ulong PlayerId
{
[CompilerGenerated]
get
{
return this.f000001;
}
[CompilerGenerated]
set
{
this.f000001 = value;
}
}
// Token: 0x17000036 RID: 54
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000B21C File Offset: 0x0000941C
// (set) Token: 0x060000D1 RID: 209 RVA: 0x0000B234 File Offset: 0x00009434
public bool IsOnline
{
[CompilerGenerated]
get
{
return this.f000037;
}
[CompilerGenerated]
set
{
this.f000037 = value;
}
}
// Token: 0x17000037 RID: 55
// (get) Token: 0x060000D2 RID: 210 RVA: 0x0000B240 File Offset: 0x00009440
// (set) Token: 0x060000D3 RID: 211 RVA: 0x0000B258 File Offset: 0x00009458
public int PlayerType
{
[CompilerGenerated]
get
{
return this.f000020;
}
[CompilerGenerated]
set
{
this.f000020 = value;
}
}
// Token: 0x17000038 RID: 56
// (get) Token: 0x060000D4 RID: 212 RVA: 0x0000B264 File Offset: 0x00009464
// (set) Token: 0x060000D5 RID: 213 RVA: 0x0000B27C File Offset: 0x0000947C
public c000041.c000044 GameSession
{
[CompilerGenerated]
get
{
return this.f000038;
}
[CompilerGenerated]
set
{
this.f000038 = value;
}
}
// Token: 0x04000071 RID: 113
private ulong f000001;
// Token: 0x04000072 RID: 114
private bool f000037;
// Token: 0x04000073 RID: 115
private int f000020;
// Token: 0x04000074 RID: 116
private c000041.c000044 f000038;
}
}
}

2360
Vault2018Rooms.cs Normal file

File diff suppressed because it is too large Load Diff

97
Vault2018WS.cs Normal file
View File

@@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using WebSocketSharp;
using WebSocketSharp.Server;
using System.Net;
using System.IO;
namespace vaultgamesesh
{
// Token: 0x02000018 RID: 24
internal class Late2018WebSock
{
// Token: 0x06000094 RID: 148 RVA: 0x00006EB0 File Offset: 0x000050B0
public Late2018WebSock()
{
this.WebSock.AddWebSocketService<Late2018WebSock.NotificationWS>("/api/notification/v2");
this.WebSock.AddWebSocketService<Late2018WebSock.HubWS>("/hub/v1");
this.WebSock.Start();
Console.WriteLine("2018 WebSocket server started!");
}
// Token: 0x04000047 RID: 71
public WebSocketServer WebSock = new WebSocketServer("ws://localhost:20161/");
// Token: 0x0200004A RID: 74
public class HubWS : WebSocketBehavior
{
// Token: 0x060001EA RID: 490 RVA: 0x0000C215 File Offset: 0x0000A415
protected override void OnMessage(MessageEventArgs e)
{
Console.WriteLine("LateWebSocket.cs Hub Requested.");
base.Send(JsonConvert.SerializeObject(new Late2018WebSock.Hub()));
}
}
// Token: 0x0200004B RID: 75
public class Hub : WebSocketBehavior
{
// Token: 0x060001EC RID: 492 RVA: 0x0000C240 File Offset: 0x0000A440
public Hub()
{
this.accessToken = "AccessDeezNuts";
this.SupportedTransports = new List<string>();
this.negotiateVersion = 0;
this.url = new Uri(string.Format("http://localhost:{0}/", "2018"));
}
// Token: 0x170000B4 RID: 180
// (get) Token: 0x060001ED RID: 493 RVA: 0x0000C290 File Offset: 0x0000A490
// (set) Token: 0x060001EE RID: 494 RVA: 0x0000C298 File Offset: 0x0000A498
public Uri url { get; set; }
// Token: 0x170000B5 RID: 181
// (get) Token: 0x060001EF RID: 495 RVA: 0x0000C2A1 File Offset: 0x0000A4A1
// (set) Token: 0x060001F0 RID: 496 RVA: 0x0000C2A9 File Offset: 0x0000A4A9
public string accessToken { get; set; }
// Token: 0x170000B6 RID: 182
// (get) Token: 0x060001F1 RID: 497 RVA: 0x0000C2B2 File Offset: 0x0000A4B2
// (set) Token: 0x060001F2 RID: 498 RVA: 0x0000C2BA File Offset: 0x0000A4BA
public List<string> SupportedTransports { get; set; }
// Token: 0x170000B7 RID: 183
// (get) Token: 0x060001F3 RID: 499 RVA: 0x0000C2C3 File Offset: 0x0000A4C3
// (set) Token: 0x060001F4 RID: 500 RVA: 0x0000C2CB File Offset: 0x0000A4CB
public int negotiateVersion { get; set; }
}
// Token: 0x0200004C RID: 76
public class NotificationWS : WebSocketBehavior
{
// Token: 0x060001F5 RID: 501 RVA: 0x0000C2D4 File Offset: 0x0000A4D4
protected override void OnMessage(MessageEventArgs p0)
{
Console.WriteLine("LateWebSocket.csNotif Requested.");
bool flag = p0.Data == null;
bool flag2 = flag;
if (flag2)
{
base.Send(string.Empty);
}
else
{
base.Send(Notification2018.ProcessRequest(p0.Data));
}
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
}
}
}

30
VaultGameConfig.cs Normal file
View File

@@ -0,0 +1,30 @@
using System;
using System.IO;
namespace vaultgamesesh
{
// Token: 0x02000002 RID: 2
internal sealed class c000004
{
public static string m000007()
{
string text = "SaveData\\" + "Rooms\\";
bool flag = !Directory.Exists(text);
bool flag2 = flag;
if (flag2)
{
Directory.CreateDirectory(text);
}
return text;
}
// Token: 0x04000001 RID: 1
public static ulong f000001 = 0UL;
// Token: 0x04000002 RID: 2
public static string f000002 = "us";
// Token: 0x04000003 RID: 3
public static string f000003 = "OpenRec_v0.6.0";
}
}

197
VaultSceneInfo.cs Normal file
View File

@@ -0,0 +1,197 @@
using System;
using System.Runtime.CompilerServices;
namespace vaultgamesesh
{
// Token: 0x02000007 RID: 7
internal sealed class c00006b
{
// Token: 0x02000035 RID: 53
public sealed class c00006c
{
// Token: 0x17000077 RID: 119
// (get) Token: 0x0600015A RID: 346 RVA: 0x0000BAD8 File Offset: 0x00009CD8
// (set) Token: 0x0600015B RID: 347 RVA: 0x0000BAF0 File Offset: 0x00009CF0
public ulong[] ExpectedPlayerIds
{
[CompilerGenerated]
get
{
return this.f000001;
}
[CompilerGenerated]
set
{
this.f000001 = value;
}
}
// Token: 0x17000078 RID: 120
// (get) Token: 0x0600015C RID: 348 RVA: 0x0000BAFC File Offset: 0x00009CFC
// (set) Token: 0x0600015D RID: 349 RVA: 0x0000BB14 File Offset: 0x00009D14
public c00006b.c00006d[] RegionPings
{
[CompilerGenerated]
get
{
return this.f00004f;
}
[CompilerGenerated]
set
{
this.f00004f = value;
}
}
// Token: 0x17000079 RID: 121
// (get) Token: 0x0600015E RID: 350 RVA: 0x0000BB20 File Offset: 0x00009D20
// (set) Token: 0x0600015F RID: 351 RVA: 0x0000BB38 File Offset: 0x00009D38
public string[] RoomTags
{
[CompilerGenerated]
get
{
return this.f000003;
}
[CompilerGenerated]
set
{
this.f000003 = value;
}
}
// Token: 0x1700007A RID: 122
// (get) Token: 0x06000160 RID: 352 RVA: 0x0000BB44 File Offset: 0x00009D44
// (set) Token: 0x06000161 RID: 353 RVA: 0x0000BB5C File Offset: 0x00009D5C
public string RoomName
{
[CompilerGenerated]
get
{
return this.f000035;
}
[CompilerGenerated]
set
{
this.f000035 = value;
}
}
// Token: 0x1700007B RID: 123
// (get) Token: 0x06000162 RID: 354 RVA: 0x0000BB68 File Offset: 0x00009D68
// (set) Token: 0x06000163 RID: 355 RVA: 0x0000BB80 File Offset: 0x00009D80
public string SceneName
{
[CompilerGenerated]
get
{
return this.f000036;
}
[CompilerGenerated]
set
{
this.f000036 = value;
}
}
// Token: 0x1700007C RID: 124
// (get) Token: 0x06000164 RID: 356 RVA: 0x0000BB8C File Offset: 0x00009D8C
// (set) Token: 0x06000165 RID: 357 RVA: 0x0000BBA4 File Offset: 0x00009DA4
public int AdditionalPlayerJoinMode
{
[CompilerGenerated]
get
{
return this.f000006;
}
[CompilerGenerated]
set
{
this.f000006 = value;
}
}
// Token: 0x1700007D RID: 125
// (get) Token: 0x06000166 RID: 358 RVA: 0x0000BBB0 File Offset: 0x00009DB0
// (set) Token: 0x06000167 RID: 359 RVA: 0x0000BBC8 File Offset: 0x00009DC8
public bool Private
{
[CompilerGenerated]
get
{
return this.f000016;
}
[CompilerGenerated]
set
{
this.f000016 = value;
}
}
// Token: 0x040000B8 RID: 184
private ulong[] f000001;
// Token: 0x040000B9 RID: 185
private c00006b.c00006d[] f00004f;
// Token: 0x040000BA RID: 186
private string[] f000003;
// Token: 0x040000BB RID: 187
private string f000035;
// Token: 0x040000BC RID: 188
private string f000036;
// Token: 0x040000BD RID: 189
private int f000006;
// Token: 0x040000BE RID: 190
private bool f000016;
}
// Token: 0x02000036 RID: 54
public sealed class c00006d
{
// Token: 0x1700007E RID: 126
// (get) Token: 0x06000169 RID: 361 RVA: 0x0000BBDC File Offset: 0x00009DDC
// (set) Token: 0x0600016A RID: 362 RVA: 0x0000BBF4 File Offset: 0x00009DF4
public string Region
{
[CompilerGenerated]
get
{
return this.f00000a;
}
[CompilerGenerated]
set
{
this.f00000a = value;
}
}
// Token: 0x1700007F RID: 127
// (get) Token: 0x0600016B RID: 363 RVA: 0x0000BC00 File Offset: 0x00009E00
// (set) Token: 0x0600016C RID: 364 RVA: 0x0000BC18 File Offset: 0x00009E18
public int Ping
{
[CompilerGenerated]
get
{
return this.f00000b;
}
[CompilerGenerated]
set
{
this.f00000b = value;
}
}
// Token: 0x040000BF RID: 191
private string f00000a;
// Token: 0x040000C0 RID: 192
private int f00000b;
}
}
}

View File

@@ -1,6 +1,12 @@
using System;
using System.Collections.Generic;
using WebSocketSharp;
using WebSocketSharp.Server;
using Newtonsoft.Json;
using server;
using start;
using System.Net;
using System.IO;
namespace ws
{
@@ -18,7 +24,6 @@ namespace ws
Console.WriteLine("WebSocket.cs is listening.");
}
// Token: 0x02000009 RID: 9
public class NotificationV2 : WebSocketBehavior
{
// Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D
@@ -26,6 +31,13 @@ namespace ws
{
Console.WriteLine("WebSocket.cs called for.");
base.Send(Notification.ProcessRequest(e.Data));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
}
}

BIN
websocket-sharp.dll Normal file

Binary file not shown.