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