From 2344b111d54b68549623e2d166374354ddbfa63f Mon Sep 17 00:00:00 2001 From: recroom2016tutorial Date: Thu, 24 Mar 2022 00:42:44 -0400 Subject: [PATCH] september 27th 2018 support --- .cs | 10 + APIServer.cs | 84 +- Class1.cs | 72 -- Config.cs | 294 ++--- GameSessions.cs | 4 +- GameSessions2.cs | 231 ---- NameServer.cs | 2 +- Notification.cs | 42 +- OpenRecNet.cs | 106 -- OpenRec_.sln | 2 - Program.cs | 32 +- Rooms.cs | 63 -- RoomsList.cs | 1474 ------------------------ Sanitize.cs | 23 + Setup.cs | 7 +- Vault2018GameSessions.cs | 452 ++++++++ Vault2018Notif.cs | 107 ++ Vault2018Player.cs | 192 ++++ Vault2018Prescence.cs | 123 ++ Vault2018Rooms.cs | 2294 ++++++++++++++++++++++++++++++++++++++ Vault2018WS.cs | 97 ++ VaultGameConfig.cs | 30 + VaultSceneInfo.cs | 197 ++++ WebSocket.cs | 14 +- 24 files changed, 3797 insertions(+), 2155 deletions(-) create mode 100644 .cs delete mode 100644 Class1.cs delete mode 100644 GameSessions2.cs delete mode 100644 OpenRecNet.cs delete mode 100644 Rooms.cs delete mode 100644 RoomsList.cs create mode 100644 Sanitize.cs create mode 100644 Vault2018GameSessions.cs create mode 100644 Vault2018Notif.cs create mode 100644 Vault2018Player.cs create mode 100644 Vault2018Prescence.cs create mode 100644 Vault2018Rooms.cs create mode 100644 Vault2018WS.cs create mode 100644 VaultGameConfig.cs create mode 100644 VaultSceneInfo.cs diff --git a/.cs b/.cs new file mode 100644 index 0000000..95f5fbc --- /dev/null +++ b/.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenRec +{ + class Vault2018Rooms + { + } +} diff --git a/APIServer.cs b/APIServer.cs index 5eeb600..6ba687a 100644 --- a/APIServer.cs +++ b/APIServer.cs @@ -7,6 +7,7 @@ using api; using api2018; using api2017; using Newtonsoft.Json; +using vaultgamesesh; namespace server { @@ -74,7 +75,7 @@ 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/Download/banned.txt").Contains(File.ReadAllText("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."); @@ -158,11 +159,15 @@ namespace server } if (Url == "gamesessions/v2/joinrandom") { - s = gamesessions2018.GameSessions.JoinRandom(text); + s = gamesesh2018.GameSessions.JoinRandom(text); } if (Url == "gamesessions/v2/create") { - s = gamesessions2018.GameSessions.Create(text); + s = gamesesh2018.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); @@ -228,7 +233,7 @@ 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/Download/banned.txt").Contains(File.ReadAllText("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."); @@ -288,7 +293,7 @@ namespace server { s = File.ReadAllText("SaveData\\gameconfigs.txt"); } - if (Url.StartsWith("storefronts")) + if (Url.StartsWith("storefronts/v3/giftdropstore")) { if (CachedVersionMonth == 09) { @@ -298,6 +303,10 @@ namespace server { s = BracketResponse; } + } + if (Url.StartsWith("storefronts/v3/balance/")) + { + s = BracketResponse; } if (Url == "avatar/v2") { @@ -321,17 +330,17 @@ 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") { @@ -344,11 +353,11 @@ namespace server if (Url == "consumables/v1/getUnlocked") { if (CachedVersionMonth == 09) - { + { s = BracketResponse; - } + } else - { + { s = File.ReadAllText("SaveData\\consumables.txt"); } } @@ -371,6 +380,10 @@ namespace server if (Url == "rooms/v2/myrooms") { s = BracketResponse; + } + if (Url == "rooms/v2/baserooms") + { + s = File.ReadAllText("SaveData\\baserooms.txt"); } if (Url == "rooms/v1/mybookmarkedrooms") { @@ -394,19 +407,19 @@ namespace server } if (Url == "gamesessions/v2/joinrandom") { - s = gamesessions2018.GameSessions.JoinRandom(text); + s = gamesesh2018.GameSessions.JoinRandom(text); } if (Url == "gamesessions/v2/create") { - s = gamesessions2018.GameSessions.Create(text); + s = gamesesh2018.GameSessions.Create(text); } if (Url == "gamesessions/v3/joinroom") - { - bytes = Encoding.UTF8.GetBytes((JsonConvert.SerializeObject(gamesessions2018.GameSessions2.JoinRoom(text)))); - } + { + s = JsonConvert.SerializeObject(c000041.m000030(text)); + } if (rawUrl == "//api/sanitize/v1/isPure") { - s = JsonConvert.SerializeObject(Sanitize.SanitizeRequest(text)); + s = JsonConvert.SerializeObject(Sanitize.GetSanitize()); } if (Url == "avatar/v3/saved") { @@ -414,17 +427,30 @@ 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")) + if (Url == "challenge/v1/getCurrent") { - bytes = Encoding.UTF8.GetBytes(s); + s = ChallengesV1GetCurrent; + } + if (Url == "rooms/v1/featuredRoomGroup") + { + s = BracketResponse; + } + 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"); + } + 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); @@ -451,8 +477,10 @@ namespace server 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\"}"; + 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\":10,\"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.\"}"; + 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(); } } diff --git a/Class1.cs b/Class1.cs deleted file mode 100644 index 997e5db..0000000 --- a/Class1.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using Newtonsoft.Json; - -namespace api2018 -{ - // Token: 0x02000081 RID: 129 - public class Sanitize - { - // Token: 0x0600039D RID: 925 RVA: 0x0000C51C File Offset: 0x0000A71C - public static Sanitize.SanitizeRequestDTO SanitizeChatRequest(string chatMessage) - { - Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject(chatMessage); - return new Sanitize.SanitizeRequestDTO - { - StringValue = sanitizePostDTO.Value - }; - } - - // Token: 0x0600039E RID: 926 RVA: 0x0000C51C File Offset: 0x0000A71C - public static Sanitize.SanitizeRequestDTO SanitizeRequest(string chatMessage) - { - Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject(chatMessage); - return new Sanitize.SanitizeRequestDTO - { - StringValue = sanitizePostDTO.Value - }; - } - - // Token: 0x0600039F RID: 927 RVA: 0x0000C544 File Offset: 0x0000A744 - public static string SanitizeChatMessageRequest(string postData, string signature) - { - Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject(postData); - return "\"" + sanitizePostDTO.Value + "\""; - } - - // Token: 0x02000082 RID: 130 - public class SanitizePostDTO - { - // Token: 0x1700016F RID: 367 - // (get) Token: 0x060003A1 RID: 929 RVA: 0x000039AA File Offset: 0x00001BAA - // (set) Token: 0x060003A2 RID: 930 RVA: 0x000039B2 File Offset: 0x00001BB2 - public string Value { get; set; } - - // Token: 0x17000170 RID: 368 - // (get) Token: 0x060003A3 RID: 931 RVA: 0x000039BB File Offset: 0x00001BBB - // (set) Token: 0x060003A4 RID: 932 RVA: 0x000039C3 File Offset: 0x00001BC3 - public int ReplacementChar { get; set; } - } - - // Token: 0x02000083 RID: 131 - public class SanitizeRequestDTO - { - // Token: 0x17000171 RID: 369 - // (get) Token: 0x060003A6 RID: 934 RVA: 0x000039CC File Offset: 0x00001BCC - // (set) Token: 0x060003A7 RID: 935 RVA: 0x000039D4 File Offset: 0x00001BD4 - public string StringValue { get; set; } - } - - // Token: 0x02000084 RID: 132 - public class SanitizeStringRequest - { - // Token: 0x060003A9 RID: 937 RVA: 0x000039DD File Offset: 0x00001BDD - public SanitizeStringRequest(string text) - { - this.value = text; - } - - // Token: 0x040002E6 RID: 742 - public string value; - } - } -} diff --git a/Config.cs b/Config.cs index c74a30e..55ea5f6 100644 --- a/Config.cs +++ b/Config.cs @@ -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 gamesesh2018.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 + } + } + }; - } + } } diff --git a/GameSessions.cs b/GameSessions.cs index c1c7418..0ac96b6 100644 --- a/GameSessions.cs +++ b/GameSessions.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json; using api; using server; using System.IO; -namespace gamesessions2018 +namespace gamesesh2018 { // Token: 0x02000020 RID: 32 public class GameSessions @@ -87,7 +87,7 @@ namespace gamesessions2018 RecRoomId = null, EventId = null, CreatorPlayerId = (long?)APIServer.CachedPlayerID, - Name = "Custom Room", + Name = "OpenRec Custom Room", ActivityLevelId = createRequest.ActivityLevelId, Private = false, Sandbox = true, diff --git a/GameSessions2.cs b/GameSessions2.cs deleted file mode 100644 index 68d59e1..0000000 --- a/GameSessions2.cs +++ /dev/null @@ -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(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(); 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 - } - } -} diff --git a/NameServer.cs b/NameServer.cs index 677ab99..882fc7f 100644 --- a/NameServer.cs +++ b/NameServer.cs @@ -28,7 +28,7 @@ namespace server private void StartListen() { //nameserver is ONLY for 2018 - this.listener.Prefixes.Add("http://localhost:20181/"); + this.listener.Prefixes.Add("http://localhost:56/"); for (; ; ) { this.listener.Start(); diff --git a/Notification.cs b/Notification.cs index 553cbcd..13ed8f7 100644 --- a/Notification.cs +++ b/Notification.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using Newtonsoft.Json; -using gamesessions2018; +using gamesesh2018; 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 } diff --git a/OpenRecNet.cs b/OpenRecNet.cs deleted file mode 100644 index 8a84266..0000000 --- a/OpenRecNet.cs +++ /dev/null @@ -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; - } -} diff --git a/OpenRec_.sln b/OpenRec_.sln index 3f57bad..3034407 100644 --- a/OpenRec_.sln +++ b/OpenRec_.sln @@ -5,8 +5,6 @@ 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}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/Program.cs b/Program.cs index 54a085b..60c87d3 100644 --- a/Program.cs +++ b/Program.cs @@ -5,6 +5,7 @@ using ws; using api; using System.Net; using System.Diagnostics; +using vaultgamesesh; namespace start { @@ -13,10 +14,12 @@ 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: " + appversion + ")"); Console.WriteLine("Made and provided by RecRoom 2016."); @@ -28,7 +31,7 @@ namespace start } if (File.Exists("SaveData\\Profile\\userid.txt")) { - if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/banned.txt").Contains(File.ReadAllText("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."); @@ -40,6 +43,7 @@ namespace start 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:"); @@ -53,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") @@ -116,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") @@ -196,30 +202,44 @@ namespace start if (readline == "4") { - Console.WriteLine("Please select the version of RecRoom the server should host: (2017, 2018)"); + Console.Title = "OpenRec Version Select"; + Console.WriteLine("Please select the version of RecRoom the server should host: (2017, M2018, S2018)"); string readline2 = Console.ReadLine(); 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") + else if ((readline2 == "M2018") || (readline2 == "m2018")) { + Console.Title = "OpenRec May 30th 2018"; version = "2018"; Console.Clear(); - Console.WriteLine("Version Selected: " + start.Program.version); + Console.WriteLine("Version Selected: May 30th, 2018."); new NameServer(); new ImageServer(); new APIServer(); new WebSocket(); } + else if ((readline2 == "S2018") || (readline2 == "s2018")) + { + 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(); + } } } public static string version = ""; - public static string appversion = "0.5.0"; + public static string appversion = "0.6.0"; public static bool bannedflag = false; } diff --git a/Rooms.cs b/Rooms.cs deleted file mode 100644 index c451592..0000000 --- a/Rooms.cs +++ /dev/null @@ -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 list = new List(); - foreach (KeyValuePair 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 HotRooms - { - get - { - List list = new List(); - foreach (KeyValuePair 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 FeaturedRooms { get; set; } - } - } -} diff --git a/RoomsList.cs b/RoomsList.cs deleted file mode 100644 index 70f03c3..0000000 --- a/RoomsList.cs +++ /dev/null @@ -1,1474 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace rooms2018 -{ - // Token: 0x02000063 RID: 99 - internal class Rooms - { - // Token: 0x0600024A RID: 586 RVA: 0x00011590 File Offset: 0x0000F790 - public static Rooms.RoomDetail getRoomDetails(int roomID) - { - foreach (KeyValuePair keyValuePair in Rooms.RecRoomOriginalRooms) - { - bool flag = keyValuePair.Value.Room.RoomId == (long)roomID; - if (flag) - { - return keyValuePair.Value; - } - } - return Rooms.RecRoomOriginalRooms["DormRoom"]; - } - - // Token: 0x0400021A RID: 538 - public static Dictionary RecRoomOriginalRooms = new Dictionary - { - { - "DormRoom", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 1L, - Name = "DormRoom", - Description = "Your private room", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 1L, - RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163", - Name = "dormroom2", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "RecCenter", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 2L, - Name = "RecCenter", - Description = "A social hub to meet and mingle with friends new and old.", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 2L, - RoomSceneLocationId = "cbad71af-0831-44d8-b8ef-69edafa841f6", - Name = "reccenter", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "3DCharades", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 3L, - Name = "3DCharades", - Description = "Take turns drawing, acting, and guessing funny phrases with your friends!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 3L, - RoomId = 4L, - RoomSceneLocationId = "4078dfed-24bb-4db7-863f-578ba48d726b", - Name = "charades", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "DiscGolfLake", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 4L, - Name = "DiscGolfLake", - Description = "A leisurely stroll through the grass. Throw your disc into the goal. Sounds easy, right?", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 4L, - RoomSceneLocationId = "f6f7256c-e438-4299-b99e-d20bef8cf7e0", - Name = "discgolf", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "DiscGolfPropulsion", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 5L, - Name = "DiscGolfPropulsion", - Description = "Throw your disc through hazards and around wind machines on this challenging course!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 5L, - RoomSceneLocationId = "d9378c9f-80bc-46fb-ad1e-1bed8a674f55", - Name = "Discgolf_Propulsion", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Dodgeball", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 6L, - Name = "Dodgeball", - Description = "Throw dodgeballs to knock out your friends in this gym classic!", - CreatorPlayerId = 1, - ImageName = "6d5c494668784816bbc41d9b870e5003", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 6L, - RoomSceneLocationId = "3d474b26-26f7-45e9-9a36-9b02847d5e6f", - Name = "dodgeball", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Paddleball", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 7L, - Name = "Paddleball", - Description = "A simple rally game between two players in a plexiglass tube with a zero-g ball.", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 7L, - RoomSceneLocationId = "d89f74fa-d51e-477a-a425-025a891dd499", - Name = "paddleball", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Paintball", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 8L, - Name = "Paintball", - Description = "Red and Blue teams splat each other in capture the flag and team battle.", - CreatorPlayerId = 1, - ImageName = "93a53ced93a04f658795a87f4a4aab85", - State = 0, - Accessibility = 1, - SupportsLevelVoting = true, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 8L, - RoomSceneLocationId = "e122fe98-e7db-49e8-a1b1-105424b6e1f0", - Name = "River", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - }, - new Rooms.Scene - { - RoomSceneId = 2L, - RoomId = 9L, - RoomSceneLocationId = "a785267d-c579-42ea-be43-fec1992d1ca7", - Name = "Homestead", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - }, - new Rooms.Scene - { - RoomSceneId = 3L, - RoomId = 10L, - RoomSceneLocationId = "ff4c6427-7079-4f59-b22a-69b089420827", - Name = "Quarry", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - }, - new Rooms.Scene - { - RoomSceneId = 4L, - RoomId = 11L, - RoomSceneLocationId = "380d18b5-de9c-49f3-80f7-f4a95c1de161", - Name = "Clearcut", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - }, - new Rooms.Scene - { - RoomSceneId = 5L, - RoomId = 12L, - RoomSceneLocationId = "58763055-2dfb-4814-80b8-16fac5c85709", - Name = "Spillway", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "GoldenTrophy", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 13L, - Name = "GoldenTrophy", - Description = "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 13L, - RoomSceneLocationId = "91e16e35-f48f-4700-ab8a-a1b79e50e51b", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "TheRiseofJumbotron", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 14L, - Name = "TheRiseofJumbotron", - Description = "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 14L, - RoomSceneLocationId = "acc06e66-c2d0-4361-b0cd-46246a4c455c", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "CrimsonCauldron", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 15L, - Name = "CrimsonCauldron", - Description = "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 15L, - RoomSceneLocationId = "949fa41f-4347-45c0-b7ac-489129174045", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "IsleOfLostSkulls", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 16L, - Name = "IsleOfLostSkulls", - Description = "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 16L, - RoomSceneLocationId = "7e01cfe0-820a-406f-b1b3-0a5bf575235c", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Soccer", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 17L, - Name = "Soccer", - Description = "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 17L, - RoomSceneLocationId = "6d5eea4b-f069-4ed0-9916-0e2f07df0d03", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "LaserTag", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 18L, - Name = "LaserTag", - Description = "Teams battle each other and waves of robots.", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 1L, - RoomId = 18L, - RoomSceneLocationId = "239e676c-f12f-489f-bf3a-d4c383d692c3", - Name = "Hangar", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - }, - new Rooms.Scene - { - RoomSceneId = 2L, - RoomId = 19L, - RoomSceneLocationId = "9d6456ce-6264-48b4-808d-2d96b3d91038", - Name = "CyberJunkCity", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "RecRoyaleSquads", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 20L, - Name = "RecRoyaleSquads", - Description = "Squads of three battle it out on Frontier Island. Last squad standing wins!", - CreatorPlayerId = 1, - ImageName = "69fc525056014e39a435c4d2fdf2b887", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 20L, - RoomSceneLocationId = "253fa009-6e65-4c90-91a1-7137a56a267f", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "RecRoyaleSolos", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 21L, - Name = "RecRoyaleSolos", - Description = "Battle it out on Frontier Island. Last person standing wins!", - CreatorPlayerId = 1, - ImageName = "69fc525056014e39a435c4d2fdf2b887", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 21L, - RoomSceneLocationId = "b010171f-4875-4e89-baba-61e878cd41e1", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Lounge", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 22L, - Name = "Lounge", - Description = "A low-key lounge to chill with your friends. Great for private parties!", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 22L, - RoomSceneLocationId = "a067557f-ca32-43e6-b6e5-daaec60b4f5a", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "recroomoriginal", - Type = 2 - } - } - } - }, - { - "PerformanceHall", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 23L, - 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, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 23L, - RoomSceneLocationId = "9932f88f-3929-43a0-a012-a40b5128e346", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "MakerRoom", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 24L, - 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, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 24L, - RoomSceneLocationId = "a75f7547-79eb-47c6-8986-6767abcb4f92 ", - Name = "Home", - IsSandbox = true, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "Park", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 25L, - Name = "Park", - Description = "A sprawling park with amphitheater, play fields, and a cave.", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 25L, - RoomSceneLocationId = "0a864c86-5a71-4e18-8041-8124e4dc9d98", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "GoKartQuest", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 27L, - Name = "GoKartQuest", - Description = "New", - CreatorPlayerId = 1, - ImageName = "d0df003353914adfaecdd23f428208b6", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 27L, - RoomSceneLocationId = "49cb8993-a956-43e2-86f4-1318f279b22a", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - }, - { - "HardMaybe", - new Rooms.RoomDetail - { - Room = new Rooms.cRoom - { - RoomId = 28L, - Name = "HardMaybe", - Description = "New", - CreatorPlayerId = 1, - ImageName = "", - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = true, - CloningAllowed = false, - SupportsScreens = true, - SupportsTeleportVR = true, - SupportsWalkVR = true - }, - Scenes = new List - { - new Rooms.Scene - { - RoomSceneId = 0L, - RoomId = 28L, - RoomSceneLocationId = "ae929543-9a07-41d5-8ee9-dbbee8c36800", - Name = "Home", - IsSandbox = false, - DataBlobName = "", - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = DateTime.Now - } - }, - CoOwners = new List(), - Hosts = new List(), - CheerCount = 1, - FavoriteCount = 1, - VisitCount = 1, - Tags = new List - { - new Rooms.cTag - { - Tag = "rro", - Type = 2 - } - } - } - } - }; - - // Token: 0x02000064 RID: 100 - public enum RoomTagTypes - { - // Token: 0x0400021C RID: 540 - General, - // Token: 0x0400021D RID: 541 - Auto, - // Token: 0x0400021E RID: 542 - AGOnly, - // Token: 0x0400021F RID: 543 - Banned - } - - // Token: 0x02000065 RID: 101 - public enum RoomStates - { - // Token: 0x04000221 RID: 545 - Active, - // Token: 0x04000222 RID: 546 - PendingJunior = 11, - // Token: 0x04000223 RID: 547 - Moderation_PendingReview = 100, - // Token: 0x04000224 RID: 548 - Moderation_Closed, - // Token: 0x04000225 RID: 549 - MarkedForDelete = 1000 - } - - // Token: 0x02000066 RID: 102 - public enum RoomAccessibility - { - // Token: 0x04000227 RID: 551 - Private, - // Token: 0x04000228 RID: 552 - Public, - // Token: 0x04000229 RID: 553 - Unlisted - } - - // Token: 0x02000067 RID: 103 - public enum RoomScreenModeSupport - { - // Token: 0x0400022B RID: 555 - Isolated, - // Token: 0x0400022C RID: 556 - Mixed, - // Token: 0x0400022D RID: 557 - Blocked - } - - // Token: 0x02000068 RID: 104 - public enum RoomSaveResult - { - // Token: 0x0400022F RID: 559 - Success, - // Token: 0x04000230 RID: 560 - Unknown, - // Token: 0x04000231 RID: 561 - PermissionDenied, - // Token: 0x04000232 RID: 562 - RoomNotActive, - // Token: 0x04000233 RID: 563 - RoomDoesNotExist, - // Token: 0x04000234 RID: 564 - RoomHasNoDataBlob, - // Token: 0x04000235 RID: 565 - DuplicateName = 10, - // Token: 0x04000236 RID: 566 - ReservedName, - // Token: 0x04000237 RID: 567 - InappropriateName, - // Token: 0x04000238 RID: 568 - InappropriateDescription, - // Token: 0x04000239 RID: 569 - TooManyRooms = 20, - // Token: 0x0400023A RID: 570 - InvalidMaxPlayers = 30, - // Token: 0x0400023B RID: 571 - DataHistoryDoesNotExist = 40, - // Token: 0x0400023C RID: 572 - DataHistoryAlreadyActive, - // Token: 0x0400023D RID: 573 - RoomUnderModerationReview = 100, - // Token: 0x0400023E RID: 574 - PlayerHasRoomUnderModerationReview, - // Token: 0x0400023F RID: 575 - AccessibilityUnderModerationLock, - // Token: 0x04000240 RID: 576 - JuniorStatusFail = 200 - } - - // Token: 0x02000069 RID: 105 - public class RoomDetail - { - // Token: 0x170000E2 RID: 226 - // (get) Token: 0x0600024D RID: 589 RVA: 0x00003036 File Offset: 0x00001236 - // (set) Token: 0x0600024E RID: 590 RVA: 0x0000303E File Offset: 0x0000123E - public Rooms.cRoom Room { get; set; } - - // Token: 0x170000E3 RID: 227 - // (get) Token: 0x0600024F RID: 591 RVA: 0x00003047 File Offset: 0x00001247 - // (set) Token: 0x06000250 RID: 592 RVA: 0x0000304F File Offset: 0x0000124F - public List Scenes { get; set; } - - // Token: 0x170000E4 RID: 228 - // (get) Token: 0x06000251 RID: 593 RVA: 0x00003058 File Offset: 0x00001258 - // (set) Token: 0x06000252 RID: 594 RVA: 0x00003060 File Offset: 0x00001260 - public List CoOwners { get; set; } - - // Token: 0x170000E5 RID: 229 - // (get) Token: 0x06000253 RID: 595 RVA: 0x00003069 File Offset: 0x00001269 - // (set) Token: 0x06000254 RID: 596 RVA: 0x00003071 File Offset: 0x00001271 - public List Hosts { get; set; } - - // Token: 0x170000E6 RID: 230 - // (get) Token: 0x06000255 RID: 597 RVA: 0x0000307A File Offset: 0x0000127A - // (set) Token: 0x06000256 RID: 598 RVA: 0x00003082 File Offset: 0x00001282 - public int CheerCount { get; set; } - - // Token: 0x170000E7 RID: 231 - // (get) Token: 0x06000257 RID: 599 RVA: 0x0000308B File Offset: 0x0000128B - // (set) Token: 0x06000258 RID: 600 RVA: 0x00003093 File Offset: 0x00001293 - public int FavoriteCount { get; set; } - - // Token: 0x170000E8 RID: 232 - // (get) Token: 0x06000259 RID: 601 RVA: 0x0000309C File Offset: 0x0000129C - // (set) Token: 0x0600025A RID: 602 RVA: 0x000030A4 File Offset: 0x000012A4 - public int VisitCount { get; set; } - - // Token: 0x170000E9 RID: 233 - // (get) Token: 0x0600025B RID: 603 RVA: 0x000030AD File Offset: 0x000012AD - // (set) Token: 0x0600025C RID: 604 RVA: 0x000030B5 File Offset: 0x000012B5 - public List Tags { get; set; } - } - - // Token: 0x0200006A RID: 106 - public class cRoom - { - // Token: 0x170000EA RID: 234 - // (get) Token: 0x0600025E RID: 606 RVA: 0x000030BE File Offset: 0x000012BE - // (set) Token: 0x0600025F RID: 607 RVA: 0x000030C6 File Offset: 0x000012C6 - public long RoomId { get; set; } - - // Token: 0x170000EB RID: 235 - // (get) Token: 0x06000260 RID: 608 RVA: 0x000030CF File Offset: 0x000012CF - // (set) Token: 0x06000261 RID: 609 RVA: 0x000030D7 File Offset: 0x000012D7 - public string Name { get; set; } - - // Token: 0x170000EC RID: 236 - // (get) Token: 0x06000262 RID: 610 RVA: 0x000030E0 File Offset: 0x000012E0 - // (set) Token: 0x06000263 RID: 611 RVA: 0x000030E8 File Offset: 0x000012E8 - public string Description { get; set; } - - // Token: 0x170000ED RID: 237 - // (get) Token: 0x06000264 RID: 612 RVA: 0x000030F1 File Offset: 0x000012F1 - // (set) Token: 0x06000265 RID: 613 RVA: 0x000030F9 File Offset: 0x000012F9 - public int CreatorPlayerId { get; set; } - - // Token: 0x170000EE RID: 238 - // (get) Token: 0x06000266 RID: 614 RVA: 0x00003102 File Offset: 0x00001302 - // (set) Token: 0x06000267 RID: 615 RVA: 0x0000310A File Offset: 0x0000130A - public string ImageName { get; set; } - - // Token: 0x170000EF RID: 239 - // (get) Token: 0x06000268 RID: 616 RVA: 0x00003113 File Offset: 0x00001313 - // (set) Token: 0x06000269 RID: 617 RVA: 0x0000311B File Offset: 0x0000131B - public int State { get; set; } - - // Token: 0x170000F0 RID: 240 - // (get) Token: 0x0600026A RID: 618 RVA: 0x00003124 File Offset: 0x00001324 - // (set) Token: 0x0600026B RID: 619 RVA: 0x0000312C File Offset: 0x0000132C - public int Accessibility { get; set; } - - // Token: 0x170000F1 RID: 241 - // (get) Token: 0x0600026C RID: 620 RVA: 0x00003135 File Offset: 0x00001335 - // (set) Token: 0x0600026D RID: 621 RVA: 0x0000313D File Offset: 0x0000133D - public bool SupportsLevelVoting { get; set; } - - // Token: 0x170000F2 RID: 242 - // (get) Token: 0x0600026E RID: 622 RVA: 0x00003146 File Offset: 0x00001346 - // (set) Token: 0x0600026F RID: 623 RVA: 0x0000314E File Offset: 0x0000134E - public bool IsAGRoom { get; set; } - - // Token: 0x170000F3 RID: 243 - // (get) Token: 0x06000270 RID: 624 RVA: 0x00003157 File Offset: 0x00001357 - // (set) Token: 0x06000271 RID: 625 RVA: 0x0000315F File Offset: 0x0000135F - public bool CloningAllowed { get; set; } - - // Token: 0x170000F4 RID: 244 - // (get) Token: 0x06000272 RID: 626 RVA: 0x00003168 File Offset: 0x00001368 - // (set) Token: 0x06000273 RID: 627 RVA: 0x00003170 File Offset: 0x00001370 - public bool SupportsScreens { get; set; } - - // Token: 0x170000F5 RID: 245 - // (get) Token: 0x06000274 RID: 628 RVA: 0x00003179 File Offset: 0x00001379 - // (set) Token: 0x06000275 RID: 629 RVA: 0x00003181 File Offset: 0x00001381 - public bool SupportsWalkVR { get; set; } - - // Token: 0x170000F6 RID: 246 - // (get) Token: 0x06000276 RID: 630 RVA: 0x0000318A File Offset: 0x0000138A - // (set) Token: 0x06000277 RID: 631 RVA: 0x00003192 File Offset: 0x00001392 - public bool SupportsTeleportVR { get; set; } - } - - // Token: 0x0200006B RID: 107 - public class Scene - { - // Token: 0x170000F7 RID: 247 - // (get) Token: 0x06000279 RID: 633 RVA: 0x0000319B File Offset: 0x0000139B - // (set) Token: 0x0600027A RID: 634 RVA: 0x000031A3 File Offset: 0x000013A3 - public long RoomSceneId { get; set; } - - // Token: 0x170000F8 RID: 248 - // (get) Token: 0x0600027B RID: 635 RVA: 0x000031AC File Offset: 0x000013AC - // (set) Token: 0x0600027C RID: 636 RVA: 0x000031B4 File Offset: 0x000013B4 - public long RoomId { get; set; } - - // Token: 0x170000F9 RID: 249 - // (get) Token: 0x0600027D RID: 637 RVA: 0x000031BD File Offset: 0x000013BD - // (set) Token: 0x0600027E RID: 638 RVA: 0x000031C5 File Offset: 0x000013C5 - public string RoomSceneLocationId { get; set; } - - // Token: 0x170000FA RID: 250 - // (get) Token: 0x0600027F RID: 639 RVA: 0x000031CE File Offset: 0x000013CE - // (set) Token: 0x06000280 RID: 640 RVA: 0x000031D6 File Offset: 0x000013D6 - public string Name { get; set; } - - // Token: 0x170000FB RID: 251 - // (get) Token: 0x06000281 RID: 641 RVA: 0x000031DF File Offset: 0x000013DF - // (set) Token: 0x06000282 RID: 642 RVA: 0x000031E7 File Offset: 0x000013E7 - public bool IsSandbox { get; set; } - - // Token: 0x170000FC RID: 252 - // (get) Token: 0x06000283 RID: 643 RVA: 0x000031F0 File Offset: 0x000013F0 - // (set) Token: 0x06000284 RID: 644 RVA: 0x000031F8 File Offset: 0x000013F8 - public string DataBlobName { get; set; } - - // Token: 0x170000FD RID: 253 - // (get) Token: 0x06000285 RID: 645 RVA: 0x00003201 File Offset: 0x00001401 - // (set) Token: 0x06000286 RID: 646 RVA: 0x00003209 File Offset: 0x00001409 - public int MaxPlayers { get; set; } - - // Token: 0x170000FE RID: 254 - // (get) Token: 0x06000287 RID: 647 RVA: 0x00003212 File Offset: 0x00001412 - // (set) Token: 0x06000288 RID: 648 RVA: 0x0000321A File Offset: 0x0000141A - public bool CanMatchmakeInto { get; set; } - - // Token: 0x170000FF RID: 255 - // (get) Token: 0x06000289 RID: 649 RVA: 0x00003223 File Offset: 0x00001423 - // (set) Token: 0x0600028A RID: 650 RVA: 0x0000322B File Offset: 0x0000142B - public DateTime DataModifiedAt { get; set; } - } - - // Token: 0x0200006C RID: 108 - public class cTag - { - // Token: 0x17000100 RID: 256 - // (get) Token: 0x0600028C RID: 652 RVA: 0x00003234 File Offset: 0x00001434 - // (set) Token: 0x0600028D RID: 653 RVA: 0x0000323C File Offset: 0x0000143C - public string Tag { get; set; } - - // Token: 0x17000101 RID: 257 - // (get) Token: 0x0600028E RID: 654 RVA: 0x00003245 File Offset: 0x00001445 - // (set) Token: 0x0600028F RID: 655 RVA: 0x0000324D File Offset: 0x0000144D - public int Type { get; set; } - } - - // Token: 0x0200006D RID: 109 - public class RoomPlayPage - { - // Token: 0x17000102 RID: 258 - // (get) Token: 0x06000291 RID: 657 RVA: 0x00003256 File Offset: 0x00001456 - // (set) Token: 0x06000292 RID: 658 RVA: 0x0000325E File Offset: 0x0000145E - public string RoomName { get; set; } - - // Token: 0x17000103 RID: 259 - // (get) Token: 0x06000293 RID: 659 RVA: 0x00003267 File Offset: 0x00001467 - // (set) Token: 0x06000294 RID: 660 RVA: 0x0000326F File Offset: 0x0000146F - public long RoomId { get; set; } - - // Token: 0x17000104 RID: 260 - // (get) Token: 0x06000295 RID: 661 RVA: 0x00003278 File Offset: 0x00001478 - // (set) Token: 0x06000296 RID: 662 RVA: 0x00003280 File Offset: 0x00001480 - public string ImageName { get; set; } - } - } -} diff --git a/Sanitize.cs b/Sanitize.cs new file mode 100644 index 0000000..722bf39 --- /dev/null +++ b/Sanitize.cs @@ -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; } + } + + } +} diff --git a/Setup.cs b/Setup.cs index a3c6232..c14e2ba 100644 --- a/Setup.cs +++ b/Setup.cs @@ -15,6 +15,7 @@ namespace start Directory.CreateDirectory("SaveData\\Images\\"); Directory.CreateDirectory("SaveData\\App\\"); Directory.CreateDirectory("SaveData\\Profile\\"); + Directory.CreateDirectory("SaveData\\Rooms\\"); 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 +42,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"))) { diff --git a/Vault2018GameSessions.cs b/Vault2018GameSessions.cs new file mode 100644 index 0000000..4a26270 --- /dev/null +++ b/Vault2018GameSessions.cs @@ -0,0 +1,452 @@ +using System; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading; +using Newtonsoft.Json; + +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(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["DormRoom"]; + } + } + int num = 0; + for (int i = 0; i < c000041.f000043.Scenes.Count(); 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}", c000079.m000009()[0].Id); + } + 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; + } + } +} diff --git a/Vault2018Notif.cs b/Vault2018Notif.cs new file mode 100644 index 0000000..021b911 --- /dev/null +++ b/Vault2018Notif.cs @@ -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 dictionary = JsonConvert.DeserializeObject>(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 + }; + } + } + } +} diff --git a/Vault2018Player.cs b/Vault2018Player.cs new file mode 100644 index 0000000..b6b980f --- /dev/null +++ b/Vault2018Player.cs @@ -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 m000009() + { + return c000079.f000031; + } + + // Token: 0x06000018 RID: 24 RVA: 0x00004F2B File Offset: 0x0000312B + public static void m000036(List p0) + { + c000079.f000031 = p0; + } + + // Token: 0x04000010 RID: 16 + private static List 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; + } + } +} \ No newline at end of file diff --git a/Vault2018Prescence.cs b/Vault2018Prescence.cs new file mode 100644 index 0000000..08a7dfc --- /dev/null +++ b/Vault2018Prescence.cs @@ -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; + } + } +} \ No newline at end of file diff --git a/Vault2018Rooms.cs b/Vault2018Rooms.cs new file mode 100644 index 0000000..2ebf413 --- /dev/null +++ b/Vault2018Rooms.cs @@ -0,0 +1,2294 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.CompilerServices; +using server; +using Newtonsoft.Json; + +namespace vaultgamesesh +{ + // Token: 0x02000006 RID: 6 + internal sealed class c00005d + { + // Token: 0x06000011 RID: 17 RVA: 0x0000264C File Offset: 0x0000084C + public static Dictionary m00003a() + { + Dictionary result = new Dictionary(); + string[] directories = Directory.GetDirectories(c000004.m000007()); + for (int i = 0; i < directories.Length; i++) + { + } + return result; + } + + // Token: 0x06000012 RID: 18 RVA: 0x00002688 File Offset: 0x00000888 + public static Dictionary m00003b() + { + Dictionary result; + try + { + try + { + result = JsonConvert.DeserializeObject>(File.ReadAllText("GamesessionsV3Data.json")); + } + finally + { + } + } + catch + { + result = c00005d.f000050; + } + return result; + } + + // Token: 0x06000013 RID: 19 RVA: 0x000026E8 File Offset: 0x000008E8 + public static c00005d.c000060 m000023(int p0) + { + foreach (KeyValuePair keyValuePair in c00005d.f000050) + { + bool flag = keyValuePair.Value.Room.RoomId == (ulong)((long)p0); + if (flag) + { + return keyValuePair.Value; + } + } + return c00005d.f000050["DormRoom"]; + } + + // Token: 0x0400000D RID: 13 + public static Dictionary f000024 = new Dictionary + { + { + "MakerRoom", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 24UL, + Name = "MakerRoom", + Description = "This room is a blank canvas. Make it into whatever you like!", + CreatorPlayerId = 1UL, + ImageName = string.Empty, + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 24UL, + RoomSceneLocationId = "a75f7547-79eb-47c6-8986-6767abcb4f92", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "Park", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 25UL, + Name = "Park", + Description = "A sprawling park with amphitheater, play fields, and a cave.", + CreatorPlayerId = 782441001UL, + ImageName = string.Empty, + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 25UL, + RoomSceneLocationId = "0a864c86-5a71-4e18-8041-8124e4dc9d98", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "Lounge", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 22UL, + Name = "Lounge", + Description = "A low-key lounge to chill with your friends. Great for private parties!", + CreatorPlayerId = 782441001UL, + ImageName = string.Empty, + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 22UL, + RoomSceneLocationId = "a067557f-ca32-43e6-b6e5-daaec60b4f5a", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "recroomoriginal", + Type = 2 + } + } + } + }, + { + "PerformanceHall", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 23UL, + Name = "PerformanceHall", + Description = "A theater for plays, music, comedy and other performances.", + CreatorPlayerId = 1UL, + ImageName = string.Empty, + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 23UL, + RoomSceneLocationId = "9932f88f-3929-43a0-a012-a40b5128e346", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "Hangar", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 18UL, + Name = "Hangar", + Description = "Teams battle each other and waves of robots.", + CreatorPlayerId = 782441001UL, + ImageName = "ActivityLaserTag.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 18UL, + RoomSceneLocationId = "239e676c-f12f-489f-bf3a-d4c383d692c3", + Name = "Hangar", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "pvp", + Type = 0 + } + } + } + } + }; + + // Token: 0x0400000E RID: 14 + public static Dictionary f000050 = new Dictionary + { + { + "DormRoom", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 1UL, + Name = "DormRoom", + Description = "A private room.", + ReleaseStatus = 2, + ReplicationId = "DormRoom", + CreatorPlayerId = APIServer.CachedPlayerID, + ImageName = "Dorm.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 0UL, + RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163", + Name = "dormroom2", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now, + ReplicationId = "your mom still gae", + SupportsJoinInProgress = true, + ReleaseStatus = 2, + UseAgeBasedMatchmaking = true, + UseLevelBasedMatchmaking = true, + UseRecRoyaleMatchmaking = false + } + }, + CoOwners = new List(), + InvitedCoOwners = new List(), + Hosts = new List(), + InvitedHosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "RecCenter", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 2UL, + Name = "RecCenter", + Description = "A social hub to meet and mingle with friends new and old.", + CreatorPlayerId = APIServer.CachedPlayerID, + ImageName = "RecCenter.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 2UL, + RoomSceneLocationId = "cbad71af-0831-44d8-b8ef-69edafa841f6", + Name = "reccenter", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(1) + { + 126231667 + }, + Hosts = new List(1) + { + 126231667 + }, + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "3DCharades", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 3UL, + Name = "3DCharades", + Description = "Take turns drawing, acting, and guessing funny phrases with your friends!", + CreatorPlayerId = 782441001UL, + ImageName = "ActivityCharades.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 3L, + RoomId = 4UL, + RoomSceneLocationId = "4078dfed-24bb-4db7-863f-578ba48d726b", + Name = "charades", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "DiscGolfLake", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 4UL, + Name = "DiscGolfLake", + Description = "Throw your disc into the goal. Sounds easy, right?", + CreatorPlayerId = 782441001UL, + ImageName = "DiscGolfLake.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 4UL, + RoomSceneLocationId = "f6f7256c-e438-4299-b99e-d20bef8cf7e0", + Name = "Lake", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 4, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + }, + { + "DiscGolfPropulsion", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 5UL, + Name = "DiscGolfPropulsion", + Description = "Throw your disc through hazards and around wind machines on this challenging course!", + CreatorPlayerId = 782441001UL, + ImageName = "DiscGolfPropulsion.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 5UL, + RoomSceneLocationId = "d9378c9f-80bc-46fb-ad1e-1bed8a674f55", + Name = "Propulsion", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + }, + { + "Dodgeball", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 6UL, + Name = "Dodgeball", + Description = "Throw dodgeballs to knock out your friends in this gym classic!", + CreatorPlayerId = 782441001UL, + ImageName = "Dodgeball.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 6UL, + RoomSceneLocationId = "3d474b26-26f7-45e9-9a36-9b02847d5e6f", + Name = "dodgeball", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + }, + { + "Paddleball", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 7UL, + Name = "Paddleball", + Description = "A simple rally game between two players in a plexiglass tube with a zero-g ball.", + CreatorPlayerId = 782441001UL, + ImageName = "ActivityPaddleball.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 7UL, + RoomSceneLocationId = "d89f74fa-d51e-477a-a425-025a891dd499", + Name = "paddleball", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + }, + { + "Paintball", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 8UL, + Name = "Paintball", + Description = "Red and Blue teams splat each other in capture the flag and team battle.", + CreatorPlayerId = 782441001UL, + ImageName = "Paintball.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = true, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 8UL, + RoomSceneLocationId = "e122fe98-e7db-49e8-a1b1-105424b6e1f0", + Name = "River", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + }, + new c00005d.c00005f + { + RoomSceneId = 2L, + RoomId = 9UL, + RoomSceneLocationId = "a785267d-c579-42ea-be43-fec1992d1ca7", + Name = "Homestead", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + }, + new c00005d.c00005f + { + RoomSceneId = 3L, + RoomId = 10UL, + RoomSceneLocationId = "ff4c6427-7079-4f59-b22a-69b089420827", + Name = "Quarry", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + }, + new c00005d.c00005f + { + RoomSceneId = 4L, + RoomId = 11UL, + RoomSceneLocationId = "380d18b5-de9c-49f3-80f7-f4a95c1de161", + Name = "Clearcut", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + }, + new c00005d.c00005f + { + RoomSceneId = 5L, + RoomId = 12UL, + RoomSceneLocationId = "58763055-2dfb-4814-80b8-16fac5c85709", + Name = "Spillway", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "pvp", + Type = 0 + } + } + } + }, + { + "GoldenTrophy", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 13UL, + Name = "GoldenTrophy", + Description = "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!", + CreatorPlayerId = 782441001UL, + ImageName = "Golden.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 13UL, + RoomSceneLocationId = "91e16e35-f48f-4700-ab8a-a1b79e50e51b", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "quest", + Type = 0 + } + } + } + }, + { + "TheRiseofJumbotron", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 14UL, + Name = "TheRiseofJumbotron", + Description = "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!", + CreatorPlayerId = 782441001UL, + ImageName = "Jumbo.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 14UL, + RoomSceneLocationId = "acc06e66-c2d0-4361-b0cd-46246a4c455c", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "quest", + Type = 0 + } + } + } + }, + { + "CrimsonCauldron", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 15UL, + Name = "CrimsonCauldron", + Description = "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?", + CreatorPlayerId = 782441001UL, + ImageName = "Crimson.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 15UL, + RoomSceneLocationId = "949fa41f-4347-45c0-b7ac-489129174045", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "quest", + Type = 0 + } + } + } + }, + { + "IsleOfLostSkulls", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 16UL, + Name = "IsleOfLostSkulls", + Description = "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?", + CreatorPlayerId = 782441001UL, + ImageName = "Isle.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 16UL, + RoomSceneLocationId = "7e01cfe0-820a-406f-b1b3-0a5bf575235c", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "quest", + Type = 0 + } + } + } + }, + { + "Soccer", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 17UL, + Name = "Soccer", + Description = "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!", + CreatorPlayerId = 782441001UL, + ImageName = "Soccer.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 17UL, + RoomSceneLocationId = "6d5eea4b-f069-4ed0-9916-0e2f07df0d03", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + }, + { + "LaserTag", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 18UL, + Name = "LaserTag", + Description = "Teams battle each other and waves of robots.", + CreatorPlayerId = 782441001UL, + ImageName = "LaserTag.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 18UL, + RoomSceneLocationId = "239e676c-f12f-489f-bf3a-d4c383d692c3", + Name = "Hangar", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + }, + new c00005d.c00005f + { + RoomSceneId = 2L, + RoomId = 19UL, + RoomSceneLocationId = "9d6456ce-6264-48b4-808d-2d96b3d91038", + Name = "CyberJunkCity", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "pvp", + Type = 0 + } + } + } + }, + { + "RecRoyaleSquads", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 20UL, + Name = "RecRoyaleSquads", + Description = "Squads of three battle it out on Frontier Island. Last squad standing wins!", + CreatorPlayerId = APIServer.CachedPlayerID, + ImageName = "ActivityRecRoyale.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 0L, + RoomId = 20UL, + RoomSceneLocationId = "253fa009-6e65-4c90-91a1-7137a56a267f", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "pvp", + Type = 0 + } + } + } + }, + { + "RecRoyaleSolos", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 21UL, + Name = "RecRoyaleSolos", + Description = "Battle it out on Frontier Island. Last person standing wins!", + CreatorPlayerId = APIServer.CachedPlayerID, + ImageName = "RecRoyale.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 0L, + RoomId = 21UL, + RoomSceneLocationId = "b010171f-4875-4e89-baba-61e878cd41e1", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "pvp", + Type = 0 + } + } + } + }, + { + "Lounge", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 22UL, + Name = "Lounge", + Description = "A low-key lounge to chill with your friends. Great for private parties!", + CreatorPlayerId = APIServer.CachedPlayerID, + ImageName = "Lounge.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 0L, + RoomId = 22UL, + RoomSceneLocationId = "a067557f-ca32-43e6-b6e5-daaec60b4f5a", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "recroomoriginal", + Type = 2 + } + } + } + }, + { + "Park", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 25UL, + Name = "Park", + Description = "A sprawling park with amphitheater, play fields, and a cave.", + CreatorPlayerId = 782441001UL, + ImageName = "Park.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 0L, + RoomId = 25UL, + RoomSceneLocationId = "0a864c86-5a71-4e18-8041-8124e4dc9d98", + Name = "Home", + IsSandbox = true, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "QuestForDraucula", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 27UL, + Name = "QuestForDraucula", + Description = "Embark on a quest to murder some goblins and skeletons, then jump through an empty doorway to the voidlands in this beta quest!", + CreatorPlayerId = 782441001UL, + ImageName = "DraccIsBack.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 0L, + RoomId = 27UL, + RoomSceneLocationId = "49cb8993-a956-43e2-86f4-1318f279b22a", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + } + } + } + }, + { + "Bawling", + new c00005d.c000060 + { + Room = new c00005d.c000061 + { + RoomId = 28UL, + Name = "Bawling", + Description = "Go to the Two Footware Coridor Bawling Coridor to admire off branded Raw Data, Play Jumbotron on 4 arcade cabinets (each with 4 player split screen, and 16 player multiplayer), take a ball and hit the white cubes, and conimplate life in front of the lockers in this Beta RRO!", + CreatorPlayerId = 782441001UL, + ImageName = "bawling.png", + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = true, + CloningAllowed = false, + SupportsScreens = true, + SupportsTeleportVR = true, + SupportsWalkVR = true + }, + Scenes = new List + { + new c00005d.c00005f + { + RoomSceneId = 1L, + RoomId = 28UL, + RoomSceneLocationId = "ae929543-9a07-41d5-8ee9-dbbee8c36800", + Name = "Home", + IsSandbox = false, + DataBlobName = string.Empty, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = DateTime.Now + } + }, + CoOwners = new List(), + Hosts = new List(), + CheerCount = 1, + FavoriteCount = 1, + VisitCount = 1, + Tags = new List + { + new c00005d.c000063 + { + Tag = "rro", + Type = 2 + }, + new c00005d.c000063 + { + Tag = "sport", + Type = 0 + } + } + } + } + }; + + // Token: 0x0200002B RID: 43 + public enum enum05e + { + + } + + // Token: 0x0200002C RID: 44 + public sealed class c00005f + { + // Token: 0x1700004A RID: 74 + // (get) Token: 0x060000FB RID: 251 RVA: 0x0000B4F0 File Offset: 0x000096F0 + // (set) Token: 0x060000FC RID: 252 RVA: 0x0000B508 File Offset: 0x00009708 + public long RoomSceneId + { + [CompilerGenerated] + get + { + return this.f00002c; + } + [CompilerGenerated] + set + { + this.f00002c = value; + } + } + + // Token: 0x1700004B RID: 75 + // (get) Token: 0x060000FD RID: 253 RVA: 0x0000B514 File Offset: 0x00009714 + // (set) Token: 0x060000FE RID: 254 RVA: 0x0000B52C File Offset: 0x0000972C + public ulong RoomId + { + [CompilerGenerated] + get + { + return this.f000023; + } + [CompilerGenerated] + set + { + this.f000023 = value; + } + } + + // Token: 0x1700004C RID: 76 + // (get) Token: 0x060000FF RID: 255 RVA: 0x0000B538 File Offset: 0x00009738 + // (set) Token: 0x06000100 RID: 256 RVA: 0x0000B550 File Offset: 0x00009750 + public string RoomSceneLocationId + { + [CompilerGenerated] + get + { + return this.f000003; + } + [CompilerGenerated] + set + { + this.f000003 = value; + } + } + + // Token: 0x1700004D RID: 77 + // (get) Token: 0x06000101 RID: 257 RVA: 0x0000B55C File Offset: 0x0000975C + // (set) Token: 0x06000102 RID: 258 RVA: 0x0000B574 File Offset: 0x00009774 + public string Name + { + [CompilerGenerated] + get + { + return this.f000035; + } + [CompilerGenerated] + set + { + this.f000035 = value; + } + } + + // Token: 0x1700004E RID: 78 + // (get) Token: 0x06000103 RID: 259 RVA: 0x0000B580 File Offset: 0x00009780 + // (set) Token: 0x06000104 RID: 260 RVA: 0x0000B598 File Offset: 0x00009798 + public bool IsSandbox + { + [CompilerGenerated] + get + { + return this.f000073; + } + [CompilerGenerated] + set + { + this.f000073 = value; + } + } + + // Token: 0x1700004F RID: 79 + // (get) Token: 0x06000105 RID: 261 RVA: 0x0000B5A4 File Offset: 0x000097A4 + // (set) Token: 0x06000106 RID: 262 RVA: 0x0000B5BC File Offset: 0x000097BC + public string DataBlobName + { + [CompilerGenerated] + get + { + return this.f00000e; + } + [CompilerGenerated] + set + { + this.f00000e = value; + } + } + + // Token: 0x17000050 RID: 80 + // (get) Token: 0x06000107 RID: 263 RVA: 0x0000B5C8 File Offset: 0x000097C8 + // (set) Token: 0x06000108 RID: 264 RVA: 0x0000B5E0 File Offset: 0x000097E0 + public int MaxPlayers + { + [CompilerGenerated] + get + { + return this.f000007; + } + [CompilerGenerated] + set + { + this.f000007 = value; + } + } + + // Token: 0x17000051 RID: 81 + // (get) Token: 0x06000109 RID: 265 RVA: 0x0000B5EC File Offset: 0x000097EC + // (set) Token: 0x0600010A RID: 266 RVA: 0x0000B604 File Offset: 0x00009804 + public bool CanMatchmakeInto + { + [CompilerGenerated] + get + { + return this.f000017; + } + [CompilerGenerated] + set + { + this.f000017 = value; + } + } + + // Token: 0x17000052 RID: 82 + // (get) Token: 0x0600010B RID: 267 RVA: 0x0000B610 File Offset: 0x00009810 + // (set) Token: 0x0600010C RID: 268 RVA: 0x0000B628 File Offset: 0x00009828 + public DateTime DataModifiedAt + { + [CompilerGenerated] + get + { + return this.f000074; + } + [CompilerGenerated] + set + { + this.f000074 = value; + } + } + + // Token: 0x17000053 RID: 83 + // (get) Token: 0x0600010D RID: 269 RVA: 0x0000B632 File Offset: 0x00009832 + // (set) Token: 0x0600010E RID: 270 RVA: 0x0000B63A File Offset: 0x0000983A + public string ReplicationId { get; set; } + + // Token: 0x17000054 RID: 84 + // (get) Token: 0x0600010F RID: 271 RVA: 0x0000B643 File Offset: 0x00009843 + // (set) Token: 0x06000110 RID: 272 RVA: 0x0000B64B File Offset: 0x0000984B + public bool UseLevelBasedMatchmaking { get; set; } + + // Token: 0x17000055 RID: 85 + // (get) Token: 0x06000111 RID: 273 RVA: 0x0000B654 File Offset: 0x00009854 + // (set) Token: 0x06000112 RID: 274 RVA: 0x0000B65C File Offset: 0x0000985C + public bool UseAgeBasedMatchmaking { get; set; } + + // Token: 0x17000056 RID: 86 + // (get) Token: 0x06000113 RID: 275 RVA: 0x0000B665 File Offset: 0x00009865 + // (set) Token: 0x06000114 RID: 276 RVA: 0x0000B66D File Offset: 0x0000986D + public bool UseRecRoyaleMatchmaking { get; set; } + + // Token: 0x17000057 RID: 87 + // (get) Token: 0x06000115 RID: 277 RVA: 0x0000B676 File Offset: 0x00009876 + // (set) Token: 0x06000116 RID: 278 RVA: 0x0000B67E File Offset: 0x0000987E + public int ReleaseStatus { get; set; } + + // Token: 0x17000058 RID: 88 + // (get) Token: 0x06000117 RID: 279 RVA: 0x0000B687 File Offset: 0x00009887 + // (set) Token: 0x06000118 RID: 280 RVA: 0x0000B68F File Offset: 0x0000988F + public bool SupportsJoinInProgress { get; set; } + + // Token: 0x0400008F RID: 143 + private long f00002c; + + // Token: 0x04000090 RID: 144 + private ulong f000023; + + // Token: 0x04000091 RID: 145 + private string f000003; + + // Token: 0x04000092 RID: 146 + private string f000035; + + // Token: 0x04000093 RID: 147 + private bool f000073; + + // Token: 0x04000094 RID: 148 + private string f00000e; + + // Token: 0x04000095 RID: 149 + private int f000007; + + // Token: 0x04000096 RID: 150 + private bool f000017; + + // Token: 0x04000097 RID: 151 + private DateTime f000074; + } + + // Token: 0x0200002D RID: 45 + public sealed class c000060 + { + // Token: 0x17000059 RID: 89 + // (get) Token: 0x0600011A RID: 282 RVA: 0x0000B6A4 File Offset: 0x000098A4 + // (set) Token: 0x0600011B RID: 283 RVA: 0x0000B6BC File Offset: 0x000098BC + public c00005d.c000061 Room + { + [CompilerGenerated] + get + { + return this.f00002d; + } + [CompilerGenerated] + set + { + this.f00002d = value; + } + } + + // Token: 0x1700005A RID: 90 + // (get) Token: 0x0600011C RID: 284 RVA: 0x0000B6C8 File Offset: 0x000098C8 + // (set) Token: 0x0600011D RID: 285 RVA: 0x0000B6E0 File Offset: 0x000098E0 + public List Scenes + { + [CompilerGenerated] + get + { + return this.f000031; + } + [CompilerGenerated] + set + { + this.f000031 = value; + } + } + + // Token: 0x1700005B RID: 91 + // (get) Token: 0x0600011E RID: 286 RVA: 0x0000B6EC File Offset: 0x000098EC + // (set) Token: 0x0600011F RID: 287 RVA: 0x0000B704 File Offset: 0x00009904 + public List CoOwners + { + [CompilerGenerated] + get + { + return this.f000034; + } + [CompilerGenerated] + set + { + this.f000034 = value; + } + } + + // Token: 0x1700005C RID: 92 + // (get) Token: 0x06000120 RID: 288 RVA: 0x0000B710 File Offset: 0x00009910 + // (set) Token: 0x06000121 RID: 289 RVA: 0x0000B728 File Offset: 0x00009928 + public List InvitedCoOwners + { + [CompilerGenerated] + get + { + return this.f000034; + } + [CompilerGenerated] + set + { + this.f000034 = value; + } + } + + // Token: 0x1700005D RID: 93 + // (get) Token: 0x06000122 RID: 290 RVA: 0x0000B734 File Offset: 0x00009934 + // (set) Token: 0x06000123 RID: 291 RVA: 0x0000B74C File Offset: 0x0000994C + public List Hosts + { + [CompilerGenerated] + get + { + return this.f00002a; + } + [CompilerGenerated] + set + { + this.f00002a = value; + } + } + + // Token: 0x1700005E RID: 94 + // (get) Token: 0x06000124 RID: 292 RVA: 0x0000B758 File Offset: 0x00009958 + // (set) Token: 0x06000125 RID: 293 RVA: 0x0000B770 File Offset: 0x00009970 + public List InvitedHosts + { + [CompilerGenerated] + get + { + return this.f000034; + } + [CompilerGenerated] + set + { + this.f000034 = value; + } + } + + // Token: 0x1700005F RID: 95 + // (get) Token: 0x06000126 RID: 294 RVA: 0x0000B77C File Offset: 0x0000997C + // (set) Token: 0x06000127 RID: 295 RVA: 0x0000B794 File Offset: 0x00009994 + public int CheerCount + { + [CompilerGenerated] + get + { + return this.f000005; + } + [CompilerGenerated] + set + { + this.f000005 = value; + } + } + + // Token: 0x17000060 RID: 96 + // (get) Token: 0x06000128 RID: 296 RVA: 0x0000B7A0 File Offset: 0x000099A0 + // (set) Token: 0x06000129 RID: 297 RVA: 0x0000B7B8 File Offset: 0x000099B8 + public int FavoriteCount + { + [CompilerGenerated] + get + { + return this.f000006; + } + [CompilerGenerated] + set + { + this.f000006 = value; + } + } + + // Token: 0x17000061 RID: 97 + // (get) Token: 0x0600012A RID: 298 RVA: 0x0000B7C4 File Offset: 0x000099C4 + // (set) Token: 0x0600012B RID: 299 RVA: 0x0000B7DC File Offset: 0x000099DC + public int VisitCount + { + [CompilerGenerated] + get + { + return this.f000007; + } + [CompilerGenerated] + set + { + this.f000007 = value; + } + } + + // Token: 0x17000062 RID: 98 + // (get) Token: 0x0600012C RID: 300 RVA: 0x0000B7E8 File Offset: 0x000099E8 + // (set) Token: 0x0600012D RID: 301 RVA: 0x0000B800 File Offset: 0x00009A00 + public List Tags + { + [CompilerGenerated] + get + { + return this.f000075; + } + [CompilerGenerated] + set + { + this.f000075 = value; + } + } + + // Token: 0x04000098 RID: 152 + private c00005d.c000061 f00002d; + + // Token: 0x04000099 RID: 153 + private List f000031; + + // Token: 0x0400009A RID: 154 + private List f000034; + + // Token: 0x0400009B RID: 155 + private List f00002a; + + // Token: 0x0400009C RID: 156 + private int f000005; + + // Token: 0x0400009D RID: 157 + private int f000006; + + // Token: 0x0400009E RID: 158 + private int f000007; + + // Token: 0x0400009F RID: 159 + private List f000075; + } + + // Token: 0x0200002E RID: 46 + public sealed class c000061 + { + // Token: 0x17000063 RID: 99 + // (get) Token: 0x0600012F RID: 303 RVA: 0x0000B814 File Offset: 0x00009A14 + // (set) Token: 0x06000130 RID: 304 RVA: 0x0000B82C File Offset: 0x00009A2C + public ulong RoomId + { + [CompilerGenerated] + get + { + return this.f000001; + } + [CompilerGenerated] + set + { + this.f000001 = value; + } + } + + // Token: 0x17000064 RID: 100 + // (get) Token: 0x06000131 RID: 305 RVA: 0x0000B838 File Offset: 0x00009A38 + // (set) Token: 0x06000132 RID: 306 RVA: 0x0000B850 File Offset: 0x00009A50 + public string Name + { + [CompilerGenerated] + get + { + return this.f000002; + } + [CompilerGenerated] + set + { + this.f000002 = value; + } + } + + // Token: 0x17000065 RID: 101 + // (get) Token: 0x06000133 RID: 307 RVA: 0x0000B85C File Offset: 0x00009A5C + // (set) Token: 0x06000134 RID: 308 RVA: 0x0000B874 File Offset: 0x00009A74 + public string Description + { + [CompilerGenerated] + get + { + return this.f000003; + } + [CompilerGenerated] + set + { + this.f000003 = value; + } + } + + // Token: 0x17000066 RID: 102 + // (get) Token: 0x06000135 RID: 309 RVA: 0x0000B880 File Offset: 0x00009A80 + // (set) Token: 0x06000136 RID: 310 RVA: 0x0000B898 File Offset: 0x00009A98 + public ulong CreatorPlayerId + { + [CompilerGenerated] + get + { + return this.f000076; + } + [CompilerGenerated] + set + { + this.f000076 = value; + } + } + + // Token: 0x17000067 RID: 103 + // (get) Token: 0x06000137 RID: 311 RVA: 0x0000B8A4 File Offset: 0x00009AA4 + // (set) Token: 0x06000138 RID: 312 RVA: 0x0000B8BC File Offset: 0x00009ABC + public string ImageName + { + [CompilerGenerated] + get + { + return this.f000036; + } + [CompilerGenerated] + set + { + this.f000036 = value; + } + } + + // Token: 0x17000068 RID: 104 + // (get) Token: 0x06000139 RID: 313 RVA: 0x0000B8C8 File Offset: 0x00009AC8 + // (set) Token: 0x0600013A RID: 314 RVA: 0x0000B8E0 File Offset: 0x00009AE0 + public int State + { + [CompilerGenerated] + get + { + return this.f000006; + } + [CompilerGenerated] + set + { + this.f000006 = value; + } + } + + // Token: 0x17000069 RID: 105 + // (get) Token: 0x0600013B RID: 315 RVA: 0x0000B8EC File Offset: 0x00009AEC + // (set) Token: 0x0600013C RID: 316 RVA: 0x0000B904 File Offset: 0x00009B04 + public int Accessibility + { + [CompilerGenerated] + get + { + return this.f000007; + } + [CompilerGenerated] + set + { + this.f000007 = value; + } + } + + // Token: 0x1700006A RID: 106 + // (get) Token: 0x0600013D RID: 317 RVA: 0x0000B910 File Offset: 0x00009B10 + // (set) Token: 0x0600013E RID: 318 RVA: 0x0000B928 File Offset: 0x00009B28 + public bool SupportsLevelVoting + { + [CompilerGenerated] + get + { + return this.f000017; + } + [CompilerGenerated] + set + { + this.f000017 = value; + } + } + + // Token: 0x1700006B RID: 107 + // (get) Token: 0x0600013F RID: 319 RVA: 0x0000B934 File Offset: 0x00009B34 + // (set) Token: 0x06000140 RID: 320 RVA: 0x0000B94C File Offset: 0x00009B4C + public bool IsAGRoom + { + [CompilerGenerated] + get + { + return this.f000077; + } + [CompilerGenerated] + set + { + this.f000077 = value; + } + } + + // Token: 0x1700006C RID: 108 + // (get) Token: 0x06000141 RID: 321 RVA: 0x0000B958 File Offset: 0x00009B58 + // (set) Token: 0x06000142 RID: 322 RVA: 0x0000B970 File Offset: 0x00009B70 + public bool CloningAllowed + { + [CompilerGenerated] + get + { + return this.f000018; + } + [CompilerGenerated] + set + { + this.f000018 = value; + } + } + + // Token: 0x1700006D RID: 109 + // (get) Token: 0x06000143 RID: 323 RVA: 0x0000B97C File Offset: 0x00009B7C + // (set) Token: 0x06000144 RID: 324 RVA: 0x0000B994 File Offset: 0x00009B94 + public bool SupportsScreens + { + [CompilerGenerated] + get + { + return this.f000019; + } + [CompilerGenerated] + set + { + this.f000019 = value; + } + } + + // Token: 0x1700006E RID: 110 + // (get) Token: 0x06000145 RID: 325 RVA: 0x0000B9A0 File Offset: 0x00009BA0 + // (set) Token: 0x06000146 RID: 326 RVA: 0x0000B9B8 File Offset: 0x00009BB8 + public bool SupportsWalkVR + { + [CompilerGenerated] + get + { + return this.f00001a; + } + [CompilerGenerated] + set + { + this.f00001a = value; + } + } + + // Token: 0x1700006F RID: 111 + // (get) Token: 0x06000147 RID: 327 RVA: 0x0000B9C4 File Offset: 0x00009BC4 + // (set) Token: 0x06000148 RID: 328 RVA: 0x0000B9DC File Offset: 0x00009BDC + public bool SupportsTeleportVR + { + [CompilerGenerated] + get + { + return this.f00001b; + } + [CompilerGenerated] + set + { + this.f00001b = value; + } + } + + // Token: 0x17000070 RID: 112 + // (get) Token: 0x06000149 RID: 329 RVA: 0x0000B9E6 File Offset: 0x00009BE6 + // (set) Token: 0x0600014A RID: 330 RVA: 0x0000B9EE File Offset: 0x00009BEE + public string ReplicationId { get; set; } + + // Token: 0x17000071 RID: 113 + // (get) Token: 0x0600014B RID: 331 RVA: 0x0000B9F7 File Offset: 0x00009BF7 + // (set) Token: 0x0600014C RID: 332 RVA: 0x0000B9FF File Offset: 0x00009BFF + public int ReleaseStatus { get; set; } + + // Token: 0x040000A2 RID: 162 + private ulong f000001; + + // Token: 0x040000A3 RID: 163 + private string f000002; + + // Token: 0x040000A4 RID: 164 + private string f000003; + + // Token: 0x040000A5 RID: 165 + private ulong f000076; + + // Token: 0x040000A6 RID: 166 + private string f000036; + + // Token: 0x040000A7 RID: 167 + private int f000006; + + // Token: 0x040000A8 RID: 168 + private int f000007; + + // Token: 0x040000A9 RID: 169 + private bool f000017; + + // Token: 0x040000AA RID: 170 + private bool f000077; + + // Token: 0x040000AB RID: 171 + private bool f000018; + + // Token: 0x040000AC RID: 172 + private bool f000019; + + // Token: 0x040000AD RID: 173 + private bool f00001a; + + // Token: 0x040000AE RID: 174 + private bool f00001b; + } + + // Token: 0x0200002F RID: 47 + public sealed class c000062 + { + // Token: 0x17000072 RID: 114 + // (get) Token: 0x0600014E RID: 334 RVA: 0x0000BA14 File Offset: 0x00009C14 + // (set) Token: 0x0600014F RID: 335 RVA: 0x0000BA2C File Offset: 0x00009C2C + public string RoomName + { + [CompilerGenerated] + get + { + return this.f00000a; + } + [CompilerGenerated] + set + { + this.f00000a = value; + } + } + + // Token: 0x17000073 RID: 115 + // (get) Token: 0x06000150 RID: 336 RVA: 0x0000BA38 File Offset: 0x00009C38 + // (set) Token: 0x06000151 RID: 337 RVA: 0x0000BA50 File Offset: 0x00009C50 + public long RoomId + { + [CompilerGenerated] + get + { + return this.f00002e; + } + [CompilerGenerated] + set + { + this.f00002e = value; + } + } + + // Token: 0x17000074 RID: 116 + // (get) Token: 0x06000152 RID: 338 RVA: 0x0000BA5C File Offset: 0x00009C5C + // (set) Token: 0x06000153 RID: 339 RVA: 0x0000BA74 File Offset: 0x00009C74 + public string ImageName + { + [CompilerGenerated] + get + { + return this.f000003; + } + [CompilerGenerated] + set + { + this.f000003 = value; + } + } + + // Token: 0x040000AF RID: 175 + private string f00000a; + + // Token: 0x040000B0 RID: 176 + private long f00002e; + + // Token: 0x040000B1 RID: 177 + private string f000003; + } + + // Token: 0x02000030 RID: 48 + public sealed class c000063 + { + // Token: 0x17000075 RID: 117 + // (get) Token: 0x06000155 RID: 341 RVA: 0x0000BA88 File Offset: 0x00009C88 + // (set) Token: 0x06000156 RID: 342 RVA: 0x0000BAA0 File Offset: 0x00009CA0 + public string Tag + { + [CompilerGenerated] + get + { + return this.f00000a; + } + [CompilerGenerated] + set + { + this.f00000a = value; + } + } + + // Token: 0x17000076 RID: 118 + // (get) Token: 0x06000157 RID: 343 RVA: 0x0000BAAC File Offset: 0x00009CAC + // (set) Token: 0x06000158 RID: 344 RVA: 0x0000BAC4 File Offset: 0x00009CC4 + public int Type + { + [CompilerGenerated] + get + { + return this.f00000b; + } + [CompilerGenerated] + set + { + this.f00000b = value; + } + } + + // Token: 0x040000B2 RID: 178 + private string f00000a; + + // Token: 0x040000B3 RID: 179 + private int f00000b; + } + + // Token: 0x02000031 RID: 49 + public enum enum064 + { + + } + + // Token: 0x02000032 RID: 50 + public enum enum065 + { + + } + + // Token: 0x02000033 RID: 51 + public enum enum066 + { + + } + + // Token: 0x02000034 RID: 52 + public enum enum067 + { + + } + } +} \ No newline at end of file diff --git a/Vault2018WS.cs b/Vault2018WS.cs new file mode 100644 index 0000000..655bf97 --- /dev/null +++ b/Vault2018WS.cs @@ -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("/api/notification/v2"); + this.WebSock.AddWebSocketService("/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(); + 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 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; + } + } + } + } +} diff --git a/VaultGameConfig.cs b/VaultGameConfig.cs new file mode 100644 index 0000000..a55b5c1 --- /dev/null +++ b/VaultGameConfig.cs @@ -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"; + + } +} \ No newline at end of file diff --git a/VaultSceneInfo.cs b/VaultSceneInfo.cs new file mode 100644 index 0000000..f82e469 --- /dev/null +++ b/VaultSceneInfo.cs @@ -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; + } + } +} diff --git a/WebSocket.cs b/WebSocket.cs index 67242b2..e1cfb90 100644 --- a/WebSocket.cs +++ b/WebSocket.cs @@ -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; + } } } }