From f39c7cefa326322511dd90bda7d64de484028e4b Mon Sep 17 00:00:00 2001 From: recroom2016tutorial Date: Sat, 7 May 2022 17:57:37 -0400 Subject: [PATCH] openrec 0.7.0 --- .gitattributes | 63 ---- APIServer.cs | 72 ++++- Activities.cs | 342 ++++++++++---------- CustomRooms.cs | 141 +++++---- ModerationBlockDetails.cs | 12 + NameServer.cs | 58 +++- NewGameSessions.cs | 102 ------ Notification.cs | 58 ++-- Vault2018Notif.cs => Notification2018.cs | 69 ++-- OpenRec_.csproj | 4 + ProfieStealer.cs | 34 ++ Program.cs | 195 ++++++++++-- Setup.cs | 27 +- Vault2018GameSessions.cs | 15 +- Vault2018WS.cs | 80 ++--- WebSocket.cs | 25 +- Vault2018Prescence.cs => c000020.cs | 53 ++-- Vault2018Rooms.cs => c00005d.cs | 383 ++++++++++++----------- 18 files changed, 938 insertions(+), 795 deletions(-) delete mode 100644 .gitattributes create mode 100644 ModerationBlockDetails.cs delete mode 100644 NewGameSessions.cs rename Vault2018Notif.cs => Notification2018.cs (54%) create mode 100644 ProfieStealer.cs rename Vault2018Prescence.cs => c000020.cs (56%) rename Vault2018Rooms.cs => c00005d.cs (81%) diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1ff0c42..0000000 --- a/.gitattributes +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### -* text=auto - -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain diff --git a/APIServer.cs b/APIServer.cs index 19272b1..f7df0e9 100644 --- a/APIServer.cs +++ b/APIServer.cs @@ -37,7 +37,7 @@ namespace server for (; ; ) { this.listener.Start(); - Console.WriteLine("APIServer.cs is listening."); + Console.WriteLine("[APIServer.cs] is listening."); HttpListenerContext context = this.listener.GetContext(); HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; @@ -63,7 +63,10 @@ namespace server { Console.WriteLine("API Requested (rawUrl): " + rawUrl); } - Console.WriteLine("API Data: " + text); + if (!(Url == "images/v2/profile")) + { + Console.WriteLine("API Data: " + text); + } if (Url.StartsWith("versioncheck")) { s = VersionCheckResponse; @@ -73,9 +76,9 @@ namespace server s = Config2.GetDebugConfig(); } if (Url == "notification/v2") - { + { s = "[]"; - } + } if (Url == "PlayerReporting/v1/moderationBlockDetails") { s = ModerationBlockDetails; @@ -93,10 +96,10 @@ namespace server s = getorcreate.GetOrCreate((ulong.Parse(text.Remove(0, 32).Remove(7, text.Length - 39)))); } if (Url.StartsWith("images/v1/profile/")) - { + { image = true; imagebyte = File.ReadAllBytes("SaveData\\profileimage.png"); - } + } if (Url == "avatar/v2") { s = File.ReadAllText("SaveData\\avatar.txt"); @@ -147,6 +150,12 @@ namespace server { s = Activities.Charades.words(); } + if (Url == "images/v2/profile/") //disabled with a / at the end + { + s = BracketResponse; + int NewLength = text.Length - 50; + File.WriteAllBytes("SaveData\\profileimage.png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(NewLength - 48, 48))); + } Console.WriteLine("API Response: " + s); byte[] bytes = null; if (image == true) @@ -170,7 +179,7 @@ namespace server for (; ; ) { this.listener.Start(); - Console.WriteLine("APIServer.cs is listening."); + Console.WriteLine("[APIServer.cs] is listening."); HttpListenerContext context = this.listener.GetContext(); HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; @@ -237,10 +246,18 @@ namespace server { s = getorcreate.GetOrCreate(CachedPlayerID); } + if (Url == "players/v1/list") + { + s = BracketResponse; + } if (Url == "avatar/v2") { s = File.ReadAllText("SaveData\\avatar.txt"); } + if (Url == "avatar/v2/saved") + { + s = BracketResponse; + } if (Url == "avatar/v2/set") { //for later 2018 builds compatibility @@ -303,6 +320,12 @@ namespace server { s = "{\"IsPure\":true}"; } + if (Url == "images/v3/profile") + { + s = BracketResponse; + int NewLength = text.Length - 50; + File.WriteAllBytes("SaveData\\profileimage.png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(NewLength - 48, 48))); + } Console.WriteLine("API Response: " + s); byte[] bytes = Encoding.UTF8.GetBytes(s); response.ContentLength64 = (long)bytes.Length; @@ -447,6 +470,10 @@ namespace server { s = File.ReadAllText("SaveData\\avatar.txt"); } + if (Url == "avatar/v2/saved") + { + s = BracketResponse; + } if (Url == "avatar/v2/set") { //for later 2018 builds compatibility @@ -481,7 +508,7 @@ namespace server } else { - s = File.ReadAllText("SaveData\\avataritems.txt"); + s = File.ReadAllText("SaveData\\avataritems2.txt"); } } if (Url == "equipment/v1/getUnlocked") @@ -589,7 +616,7 @@ namespace server } if (Url == "rooms/v1/clone") { - s = BracketResponse; //JsonConvert.SerializeObject(c000099.m00000a(text)); + s = JsonConvert.SerializeObject(c000099.m00000a(text)); } if (Url.StartsWith("rooms/v2/saveData")) { @@ -610,6 +637,14 @@ namespace server } if (Url == "presence/v3/heartbeat") { + 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; + Late2018WebSock.instance.Broadcast(ws.Notification.Reponse.createBannedResponse()); + } s = JsonConvert.SerializeObject(Notification2018.Reponse.createResponse(4, c000020.m000027())); } if (Url == "rooms/v1/featuredRoomGroup") @@ -621,13 +656,13 @@ namespace server s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/hotrooms.txt"); } if (Url.StartsWith("rooms/v2/instancedetails")) - { + { s = BracketResponse; } if (Url.StartsWith("rooms/v2/search?value=")) - { - s = CustomRooms.RoomSearch(Url.Remove(0, 22)); - } + { + CustomRooms.RoomGet(Url.Remove(0, 22)); + } if (Url == "rooms/v4/details/29") { s = File.ReadAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json"); @@ -637,6 +672,10 @@ namespace server { s = JsonConvert.SerializeObject(c00005d.m000023(Convert.ToInt32(Url.Remove(0, 17)))); } + if (Url == "images/v1/slideshow") + { + s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/rcslideshow.txt"); + } Console.WriteLine("API Response: " + s); bytes = Encoding.UTF8.GetBytes(s); response.ContentLength64 = (long)bytes.Length; @@ -645,7 +684,7 @@ namespace server Thread.Sleep(20); outputStream.Close(); this.listener.Stop(); - + } } } @@ -653,9 +692,11 @@ namespace server { Console.WriteLine(ex4); File.WriteAllText("crashdump.txt", Convert.ToString(ex4)); + this.listener.Close(); + new APIServer(); } } - public static ulong CachedPlayerID = 9999999; + public static ulong CachedPlayerID = ulong.Parse(File.ReadAllText("SaveData\\Profile\\userid.txt")); public static ulong CachedPlatformID = 10000; public static int CachedVersionMonth = 01; @@ -663,6 +704,7 @@ namespace server public static string BracketResponse = "[]"; public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}"; + public static string VersionCheckResponse2 = "{\"VersionStatus\":0}"; public static string VersionCheckResponse = "{\"ValidVersion\":true}"; public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}"; public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"DormRoomBucket\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2025-12-27T21:27:38.1880399-08:00\"}"; diff --git a/Activities.cs b/Activities.cs index c86d44f..010ddf5 100644 --- a/Activities.cs +++ b/Activities.cs @@ -4,192 +4,192 @@ using Newtonsoft.Json; namespace api { - // Token: 0x0200000B RID: 11 + // Token: 0x02000021 RID: 33 internal class Activities { - // Token: 0x0200000C RID: 12 + // Token: 0x02000069 RID: 105 public class Charades { - // Token: 0x0600001D RID: 29 RVA: 0x0000410C File Offset: 0x0000230C + // Token: 0x06000322 RID: 802 RVA: 0x0000C5F4 File Offset: 0x0000A7F4 public static string words() { List value = new List { - new Activities.Charades.word - { - EN_US = "talking ben", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "lemon", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "grape", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "roblox", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "tree", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "cloud", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "iphone", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "your house", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "spaghetti", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "lean", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "bitcoin", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "nft", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "grass", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "recroom2016", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "joker", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "fortnite", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "woman", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "spiderman", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "vr", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "among us", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "coach", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "coach with a gun", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "funny fish", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "skinwalker", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "christmas tree", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "ur mom", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "stick of ram", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "big mac", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "ninetndo switch", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "crescendo", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "boxing", - Difficulty = 0 - }, - new Activities.Charades.word - { - EN_US = "angry birds", - Difficulty = 0 - } - }; + new Activities.Charades.word + { + EN_US = "talking ben", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "lemon", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "grape", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "roblox", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "tree", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "cloud", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "iphone", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "your house", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "spaghetti", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "lean", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "bitcoin", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "nft", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "grass", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "recroom2016", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "joker", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "fortnite", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "woman", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "spiderman", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "vr", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "among us", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "coach", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "coach with a gun", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "funny fish", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "skinwalker", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "christmas tree", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "ur mom", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "stick of ram", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "big mac", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "ninetndo switch", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "crescendo", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "boxing", + Difficulty = 0 + }, + new Activities.Charades.word + { + EN_US = "angry birds", + Difficulty = 0 + } + }; return JsonConvert.SerializeObject(value); } - // Token: 0x0200000D RID: 13 + // Token: 0x02000073 RID: 115 public class word { - // Token: 0x17000004 RID: 4 - // (get) Token: 0x0600001F RID: 31 RVA: 0x000020DC File Offset: 0x000002DC - // (set) Token: 0x06000020 RID: 32 RVA: 0x000020E4 File Offset: 0x000002E4 + // Token: 0x170001AA RID: 426 + // (get) Token: 0x060003F3 RID: 1011 RVA: 0x0000D196 File Offset: 0x0000B396 + // (set) Token: 0x060003F4 RID: 1012 RVA: 0x0000D19E File Offset: 0x0000B39E public string EN_US { get; set; } - // Token: 0x17000005 RID: 5 - // (get) Token: 0x06000021 RID: 33 RVA: 0x000020ED File Offset: 0x000002ED - // (set) Token: 0x06000022 RID: 34 RVA: 0x000020F5 File Offset: 0x000002F5 + // Token: 0x170001AB RID: 427 + // (get) Token: 0x060003F5 RID: 1013 RVA: 0x0000D1A7 File Offset: 0x0000B3A7 + // (set) Token: 0x060003F6 RID: 1014 RVA: 0x0000D1AF File Offset: 0x0000B3AF public int Difficulty { get; set; } } } diff --git a/CustomRooms.cs b/CustomRooms.cs index 84c73c6..4ada9d9 100644 --- a/CustomRooms.cs +++ b/CustomRooms.cs @@ -87,79 +87,84 @@ namespace api File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root)); } - public static string RoomSearch(string roomnames) + public static void RoomGet(string roomnames) { - try + string webdata = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomnames + "&include=297"); + ModernRooms.Root root2 = JsonConvert.DeserializeObject(webdata); + room = new Room { - string webdata = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomnames + "&include=297"); - ModernRooms.Root root2 = JsonConvert.DeserializeObject(webdata); - room = new Room - { - RoomId = root2.RoomId, - Name = root2.Name, - Description = root2.Description, - ImageName = root2.ImageName, - CreatorPlayerId = APIServer.CachedPlayerID, - State = 0, - Accessibility = 1, - SupportsLevelVoting = false, - IsAGRoom = false, - CloningAllowed = false, - SupportsScreens = true, - SupportsWalkVR = true, - SupportsTeleportVR = true, - ReplicationId = null, - ReleaseStatus = 0 + RoomId = 29, + Name = root2.Name, + Description = "OpenRec Downloaded Room", + ImageName = root2.ImageName, + CreatorPlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")), + State = 0, + Accessibility = 1, + SupportsLevelVoting = false, + IsAGRoom = false, + CloningAllowed = false, + SupportsScreens = true, + SupportsWalkVR = true, + SupportsTeleportVR = true, + ReplicationId = null, + ReleaseStatus = 0 - }; - scene = new List - { - new Scene() - { - RoomSceneId = 1, - RoomId = root2.RoomId, - RoomSceneLocationId = root2.SubRooms[0].UnitySceneId, - Name = "Home", - IsSandbox = true, - DataBlobName = root2.SubRooms[0].DataBlob, - MaxPlayers = 20, - CanMatchmakeInto = true, - DataModifiedAt = root2.SubRooms[0].DataSavedAt, - ReplicationId = null, - UseLevelBasedMatchmaking = false, - UseAgeBasedMatchmaking = false, - UseRecRoyaleMatchmaking = false, - ReleaseStatus = 0, - SupportsJoinInProgress = true - } - }; - root = new Root - { - Room = room, - Scenes = scene, - CoOwners = new List(), - InvitedCoOwners = new List(), - Hosts = new List(), - InvitedHosts = new List(), - CheerCount = root2.Stats.CheerCount, - FavoriteCount = root2.Stats.FavoriteCount, - VisitCount = root2.Stats.VisitCount, - Tags = new List - { - new aTag() - { - Tag = "rro", - Type = 2 - } - } - }; - return JsonConvert.SerializeObject(room); - } - catch + }; + scene = new List { - return string.Empty; - } + new Scene() + { + RoomSceneId = 1, + RoomId = 29, + RoomSceneLocationId = root2.SubRooms[0].UnitySceneId, + Name = "Home", + IsSandbox = true, + DataBlobName = root2.SubRooms[0].DataBlob, + MaxPlayers = 20, + CanMatchmakeInto = true, + DataModifiedAt = root2.SubRooms[0].DataSavedAt, + ReplicationId = null, + UseLevelBasedMatchmaking = false, + UseAgeBasedMatchmaking = false, + UseRecRoyaleMatchmaking = false, + ReleaseStatus = 0, + SupportsJoinInProgress = true + } + }; + root = new Root + { + Room = room, + Scenes = scene, + CoOwners = new List(), + InvitedCoOwners = new List(), + Hosts = new List(), + InvitedHosts = new List(), + CheerCount = root2.Stats.CheerCount, + FavoriteCount = root2.Stats.FavoriteCount, + VisitCount = root2.Stats.VisitCount, + Tags = new List + { + new aTag() + { + Tag = "rro", + Type = 2 + } + } + + }; + File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomname.txt", root2.Name); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomid.txt", Convert.ToString(root2.RoomId)); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\datablob.txt", root2.SubRooms[0].DataBlob); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt", root2.SubRooms[0].UnitySceneId); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\imagename.txt", root2.ImageName); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\cheercount.txt", Convert.ToString(root2.Stats.CheerCount)); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\favcount.txt", Convert.ToString(root2.Stats.FavoriteCount)); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\visitcount.txt", Convert.ToString(root2.Stats.VisitCount)); + File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root)); } + + + public static Room room { get; set; } public static List scene { get; set; } public static Root root { get; set; } diff --git a/ModerationBlockDetails.cs b/ModerationBlockDetails.cs new file mode 100644 index 0000000..c5b3ac5 --- /dev/null +++ b/ModerationBlockDetails.cs @@ -0,0 +1,12 @@ +using System; + +namespace api +{ + public class ModerationBlockDetails + { + public int ReportCategory { get; set; } + public int Duration { get; set; } + public long GameSessionId { get; set; } + public string Message { get; set; } + } +} \ No newline at end of file diff --git a/NameServer.cs b/NameServer.cs index c83363b..9095998 100644 --- a/NameServer.cs +++ b/NameServer.cs @@ -3,6 +3,8 @@ using System.IO; using System.Net; using System.Text; using System.Threading; +using Newtonsoft.Json; +using start; namespace server { @@ -38,13 +40,25 @@ namespace server HttpListenerResponse response = context.Response; string rawUrl = request.RawUrl; string s = ""; - if (start.Program.version == "2019") + if (Program.version == "2019") { - s = "{\"API\":\"http://localhost:2019\",\"Notifications\":\"ws://localhost:20161\",\"Images\":\"http://localhost:20182\",\"Auth\":\"http://localhost:20182\",\"WWW\":\"http://localhost:20182\"}"; + NSData2 data2 = new NSData2() + { + API = "http://localhost:2018", + Notifications = "http://localhost:20161", + Images = "http://localhost:20182" + }; + s = JsonConvert.SerializeObject(data2); } else { - s = "{\"API\":\"http://localhost:2018\",\"Notifications\":\"http://localhost:20161\",\"Images\":\"http://localhost:20182\"}"; + NSData data = new NSData() + { + API = "http://localhost:2018", + Notifications = "http://localhost:20161", + Images = "http://localhost:20182" + }; + s = JsonConvert.SerializeObject(data); } Console.WriteLine("API Response: " + s); byte[] bytes = Encoding.UTF8.GetBytes(s); @@ -61,7 +75,45 @@ namespace server public static string BlankResponse = ""; + public class NSData + { + public string API { get; set; } + public string Notifications { get; set; } + public string Images { get; set; } + } + public class NSData2 + { + // Token: 0x17000013 RID: 19 + // (get) Token: 0x06000040 RID: 64 RVA: 0x00002256 File Offset: 0x00000456 + // (set) Token: 0x06000041 RID: 65 RVA: 0x0000225E File Offset: 0x0000045E + public string Auth { get; set; } + + // Token: 0x17000014 RID: 20 + // (get) Token: 0x06000042 RID: 66 RVA: 0x00002267 File Offset: 0x00000467 + // (set) Token: 0x06000043 RID: 67 RVA: 0x0000226F File Offset: 0x0000046F + public string API { get; set; } + + // Token: 0x17000015 RID: 21 + // (get) Token: 0x06000044 RID: 68 RVA: 0x00002278 File Offset: 0x00000478 + // (set) Token: 0x06000045 RID: 69 RVA: 0x00002280 File Offset: 0x00000480 + public string WWW { get; set; } + + // Token: 0x17000016 RID: 22 + // (get) Token: 0x06000046 RID: 70 RVA: 0x00002289 File Offset: 0x00000489 + // (set) Token: 0x06000047 RID: 71 RVA: 0x00002291 File Offset: 0x00000491 + public string Notifications { get; set; } + + // Token: 0x17000017 RID: 23 + // (get) Token: 0x06000048 RID: 72 RVA: 0x0000229A File Offset: 0x0000049A + // (set) Token: 0x06000049 RID: 73 RVA: 0x000022A2 File Offset: 0x000004A2 + public string Images { get; set; } + + // Token: 0x17000018 RID: 24 + // (get) Token: 0x0600004A RID: 74 RVA: 0x000022AB File Offset: 0x000004AB + // (set) Token: 0x0600004B RID: 75 RVA: 0x000022B3 File Offset: 0x000004B3 + public string Commerce { get; set; } + } // Token: 0x04000192 RID: 402 private HttpListener listener = new HttpListener(); } diff --git a/NewGameSessions.cs b/NewGameSessions.cs deleted file mode 100644 index 4be6a46..0000000 --- a/NewGameSessions.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Newtonsoft.Json; -using vaultgamesesh; - -namespace gamesesh2 -{ - class NewGameSessions - { - public static string JoinRoom(string text) - { - c00006b.c00006c apidata = JsonConvert.DeserializeObject(text); - return string.Empty; - - } - public class GameSession - { - public int GameSessionId { get; set; } - public string PhotonRegionId { get; set; } - public string PhotonRoomId { get; set; } - public string Name { get; set; } - public int RoomId { get; set; } - public int RoomSceneId { get; set; } - public string RoomSceneLocationId { get; set; } - public bool IsSandbox { get; set; } - public string DataBlobName { get; set; } - public object PlayerEventId { get; set; } - public bool Private { get; set; } - public bool GameInProgress { get; set; } - public int MaxCapacity { get; set; } - public bool IsFull { get; set; } - } - - public class Room - { - public int RoomId { get; set; } - public string Name { get; set; } - public string Description { get; set; } - public int CreatorPlayerId { get; set; } - public string ImageName { get; set; } - public int State { get; set; } - public int Accessibility { get; set; } - public bool SupportsLevelVoting { get; set; } - public bool IsAGRoom { get; set; } - public bool CloningAllowed { get; set; } - public bool SupportsScreens { get; set; } - public bool SupportsWalkVR { get; set; } - public bool SupportsTeleportVR { get; set; } - public string ReplicationId { get; set; } - public int ReleaseStatus { get; set; } - } - - public class Scene - { - public int RoomSceneId { get; set; } - public int RoomId { get; set; } - public string RoomSceneLocationId { get; set; } - public string Name { get; set; } - public bool IsSandbox { get; set; } - public string DataBlobName { get; set; } - public int MaxPlayers { get; set; } - public bool CanMatchmakeInto { get; set; } - public DateTime DataModifiedAt { get; set; } - public string ReplicationId { get; set; } - public bool UseLevelBasedMatchmaking { get; set; } - public bool UseAgeBasedMatchmaking { get; set; } - public bool UseRecRoyaleMatchmaking { get; set; } - public int ReleaseStatus { get; set; } - public bool SupportsJoinInProgress { get; set; } - } - - public class aTag - { - public string Tag { get; set; } - public int Type { get; set; } - } - - public class RoomDetails - { - public Room Room { get; set; } - public List Scenes { get; set; } - public List CoOwners { get; set; } - public List InvitedCoOwners { get; set; } - public List Hosts { get; set; } - public List InvitedHosts { get; set; } - public int CheerCount { get; set; } - public int FavoriteCount { get; set; } - public int VisitCount { get; set; } - public List Tags { get; set; } - } - - public class Root - { - public int Result { get; set; } - public GameSession GameSession { get; set; } - public RoomDetails RoomDetails { get; set; } - } - - - } -} diff --git a/Notification.cs b/Notification.cs index b9a60d4..45c9c26 100644 --- a/Notification.cs +++ b/Notification.cs @@ -41,58 +41,43 @@ namespace ws } // Token: 0x0200002B RID: 43 - public enum ResponseResult + public enum ResponseResults { - // Token: 0x04000090 RID: 144 RelationshipChanged = 1, - // Token: 0x04000091 RID: 145 MessageReceived, - // Token: 0x04000092 RID: 146 MessageDeleted, - // Token: 0x04000093 RID: 147 PresenceHeartbeatResponse, - // Token: 0x04000094 RID: 148 SubscriptionListUpdated = 9, - // Token: 0x04000095 RID: 149 SubscriptionUpdateProfile = 11, - // Token: 0x04000096 RID: 150 SubscriptionUpdatePresence, - // Token: 0x04000097 RID: 151 SubscriptionUpdateGameSession, - // Token: 0x04000098 RID: 152 - SubscriptionUpdateRoom, - // Token: 0x04000099 RID: 153 + SubscriptionUpdateRoom = 15, ModerationQuitGame = 20, - // Token: 0x0400009A RID: 154 ModerationUpdateRequired, - // Token: 0x0400009B RID: 155 ModerationKick, - // Token: 0x0400009C RID: 156 ModerationKickAttemptFailed, - // Token: 0x0400009D RID: 157 + ServerMaintenance = 25, GiftPackageReceived = 30, - // Token: 0x0400009E RID: 158 ProfileJuniorStatusUpdate = 40, - // Token: 0x0400009F RID: 159 RelationshipsInvalid = 50, - // Token: 0x040000A0 RID: 160 - StorefrontBalanceAdd = 60 + StorefrontBalanceAdd = 60, + ConsumableMappingAdded = 70, + ConsumableMappingRemoved, + PlayerEventCreated = 80, + PlayerEventUpdated, + PlayerEventDeleted, + PlayerEventResponseChanged, + PlayerEventResponseDeleted, + PlayerEventStateChanged, + ChatMessageReceived = 90 } - // Token: 0x0200002C RID: 44 public class Reponse { - // Token: 0x1700005F RID: 95 - // (get) Token: 0x0600010D RID: 269 - // (set) Token: 0x0600010E RID: 270 public int Id { get; set; } - // Token: 0x17000060 RID: 96 - // (get) Token: 0x0600010F RID: 271 - // (set) Token: 0x06000110 RID: 272 public object Msg { get; set; } - - // Token: 0x06000111 RID: 273 + public static Notification.Reponse createResponse(int id, object msg) { return new Notification.Reponse @@ -101,6 +86,21 @@ namespace ws Msg = msg }; } + + public static Notification.Reponse createBannedResponse() + { + return new Notification.Reponse + { + Id = (int)ResponseResults.ModerationKick, + Msg = new api.ModerationBlockDetails() + { + ReportCategory = 1, + Duration = int.MaxValue, + GameSessionId = 100L, + 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." + } + }; + } } } } diff --git a/Vault2018Notif.cs b/Notification2018.cs similarity index 54% rename from Vault2018Notif.cs rename to Notification2018.cs index 021b911..8152c56 100644 --- a/Vault2018Notif.cs +++ b/Notification2018.cs @@ -5,27 +5,30 @@ using ws; namespace vaultgamesesh { - // Token: 0x0200000B RID: 11 + // Token: 0x02000005 RID: 5 public class Notification2018 { - // Token: 0x06000025 RID: 37 + // Token: 0x06000015 RID: 21 RVA: 0x00002A18 File Offset: 0x00000C18 public static string ProcessRequest(string jsonData) { - Dictionary dictionary = JsonConvert.DeserializeObject>(jsonData); + bool flag = dictionary.ContainsKey("api"); string result; - if (dictionary.ContainsKey("api")) + if (flag) { string text = (string)dictionary["api"]; string text2 = text; - if (text2 != null) + bool flag2 = text2 != null; + if (flag2) { - if (text2 == "playerSubscriptions/v1/update") + bool flag3 = text2 == "playerSubscriptions/v1/update"; + if (flag3) { Console.WriteLine("[18CWS] Game client sent presence update."); return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, c000020.m000027())); } - if (text2 == "heartbeat2") + bool flag4 = text2 == "heartbeat2"; + if (flag4) { Console.WriteLine("[18CWS] Heartbeat 2 sent by game client."); return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027())); @@ -41,59 +44,59 @@ namespace vaultgamesesh return result; } - // Token: 0x0200003B RID: 59 + // Token: 0x02000038 RID: 56 public enum ResponseResult { - // Token: 0x040000DF RID: 223 + // Token: 0x040000A8 RID: 168 RelationshipChanged = 1, - // Token: 0x040000E0 RID: 224 + // Token: 0x040000A9 RID: 169 MessageReceived, - // Token: 0x040000E1 RID: 225 + // Token: 0x040000AA RID: 170 MessageDeleted, - // Token: 0x040000E2 RID: 226 + // Token: 0x040000AB RID: 171 PresenceHeartbeatResponse, - // Token: 0x040000E3 RID: 227 + // Token: 0x040000AC RID: 172 SubscriptionListUpdated = 9, - // Token: 0x040000E4 RID: 228 + // Token: 0x040000AD RID: 173 SubscriptionUpdateProfile = 11, - // Token: 0x040000E5 RID: 229 + // Token: 0x040000AE RID: 174 SubscriptionUpdatePresence, - // Token: 0x040000E6 RID: 230 + // Token: 0x040000AF RID: 175 SubscriptionUpdateGameSession, - // Token: 0x040000E7 RID: 231 + // Token: 0x040000B0 RID: 176 SubscriptionUpdateRoom, - // Token: 0x040000E8 RID: 232 + // Token: 0x040000B1 RID: 177 ModerationQuitGame = 20, - // Token: 0x040000E9 RID: 233 + // Token: 0x040000B2 RID: 178 ModerationUpdateRequired, - // Token: 0x040000EA RID: 234 + // Token: 0x040000B3 RID: 179 ModerationKick, - // Token: 0x040000EB RID: 235 + // Token: 0x040000B4 RID: 180 ModerationKickAttemptFailed, - // Token: 0x040000EC RID: 236 + // Token: 0x040000B5 RID: 181 GiftPackageReceived = 30, - // Token: 0x040000ED RID: 237 + // Token: 0x040000B6 RID: 182 ProfileJuniorStatusUpdate = 40, - // Token: 0x040000EE RID: 238 + // Token: 0x040000B7 RID: 183 RelationshipsInvalid = 50, - // Token: 0x040000EF RID: 239 + // Token: 0x040000B8 RID: 184 StorefrontBalanceAdd = 60 } - // Token: 0x0200003C RID: 60 + // Token: 0x02000039 RID: 57 public class Reponse { - // Token: 0x1700008A RID: 138 - // (get) Token: 0x06000185 RID: 389 - // (set) Token: 0x06000186 RID: 390 + // Token: 0x1700007E RID: 126 + // (get) Token: 0x06000167 RID: 359 RVA: 0x0000A5EB File Offset: 0x000087EB + // (set) Token: 0x06000168 RID: 360 RVA: 0x0000A5F3 File Offset: 0x000087F3 public int Id { get; set; } - // Token: 0x1700008B RID: 139 - // (get) Token: 0x06000187 RID: 391 - // (set) Token: 0x06000188 RID: 392 + // Token: 0x1700007F RID: 127 + // (get) Token: 0x06000169 RID: 361 RVA: 0x0000A5FC File Offset: 0x000087FC + // (set) Token: 0x0600016A RID: 362 RVA: 0x0000A604 File Offset: 0x00008804 public object Msg { get; set; } - // Token: 0x06000189 RID: 393 + // Token: 0x0600016B RID: 363 RVA: 0x0000A610 File Offset: 0x00008810 public static Notification.Reponse createResponse(int id, object msg) { return new Notification.Reponse diff --git a/OpenRec_.csproj b/OpenRec_.csproj index 3d21215..a13db93 100644 --- a/OpenRec_.csproj +++ b/OpenRec_.csproj @@ -15,6 +15,10 @@ 0.4.0 + + + + diff --git a/ProfieStealer.cs b/ProfieStealer.cs new file mode 100644 index 0000000..b949a65 --- /dev/null +++ b/ProfieStealer.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Net; +using Newtonsoft.Json; +using System.IO; + +namespace api +{ + class ProfieStealer + { + public static void ProfileSteal(string data) + { + List profile = JsonConvert.DeserializeObject>(data); + File.WriteAllText("SaveData\\Profile\\username.txt", profile[0].username); + byte[] profileimage = new WebClient().DownloadData("https://img.rec.net/" + profile[0].profileImage + "?cropSquare=true&width=192&height=192"); + File.WriteAllBytes("SaveData\\profileimage.png", profileimage); + } + + public class Root + { + public int accountId { get; set; } + public string username { get; set; } + public string displayName { get; set; } + public string profileImage { get; set; } + public bool isJunior { get; set; } + public int platforms { get; set; } + public int personalPronouns { get; set; } + public int identityFlags { get; set; } + public DateTime createdAt { get; set; } + public string bannerImage { get; set; } + } + } +} diff --git a/Program.cs b/Program.cs index d750114..c170d98 100644 --- a/Program.cs +++ b/Program.cs @@ -6,6 +6,8 @@ using api; using System.Net; using System.Diagnostics; using vaultgamesesh; +using System.Collections.Generic; +using Newtonsoft.Json; namespace start { @@ -16,12 +18,53 @@ namespace start //startup for openrec Setup.setup(); - goto Start; + goto Tutorial; - Start: + Tutorial: + if (Setup.firsttime == true) + { + Console.ForegroundColor = ConsoleColor.Green; + Console.Title = "OpenRec Intro"; + Console.WriteLine("Welcome to OpenRec " + appversion + "!"); + Console.WriteLine("Is this your first time using OpenRec?"); + Console.WriteLine("Yes or No (Y, N)"); + string readline22 = Console.ReadLine(); + if (readline22 == "y" || readline22 == "Y") + { + Console.Clear(); + Console.Title = "OpenRec Tutorial"; + Console.WriteLine("In that case, welcome to OpenRec!"); + Console.WriteLine("OpenRec is server software that emulates the old servers of previous RecRoom versions."); + Console.WriteLine("To use OpenRec, you'll need to have builds aswell!"); + Console.WriteLine("To download builds, either go to the builds channel or use the links below: (these links are also available from the #builds channel)" + Environment.NewLine); + Console.WriteLine(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/builds.txt")); + Console.WriteLine("Download a build and press any key to continue:"); + Console.ReadKey(); + Console.Clear(); + Console.WriteLine("Now that you have a build, what you're going to do is as follows:" + Environment.NewLine); + Console.WriteLine("1. Unzip the build"); + Console.WriteLine("2. Start the server by pressing 5 on the main menu and selecting your version as follows"); + Console.WriteLine("3. Run Recroom_Release.exe from the folder of the build you downloaded." + Environment.NewLine); + Console.WriteLine("And that's it! Press any key to go to the main menu, where you will be able to start the server:"); + Console.ReadKey(); + Console.Clear(); + goto Start; + } + + else + { + goto Start; + } + } + else + { + goto Start; + } + + Start: Console.Title = "OpenRec Startup Menu"; Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine("OpenRec - Open source RecNet server software. (Version: " + appversion + ")"); + Console.WriteLine("OpenRec - Open source Old RecRoom server software. (Version: " + appversion + ")"); Console.WriteLine("Made and provided by RecRoom 2016."); Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec"); Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine); @@ -39,7 +82,8 @@ namespace start bannedflag = true; } } - Console.WriteLine("1) Changelog" + Environment.NewLine +"2) Change Settings" + Environment.NewLine + "3) Modify Profile" + Environment.NewLine + "4) Custom Room Downloader (Beta)" + Environment.NewLine + "5) Start Server"); + Console.WriteLine("//Custom Room Downloader has been moved to the settings tab!" + Environment.NewLine); + Console.WriteLine("(1) What's New" + Environment.NewLine +"(2) Change Settings" + Environment.NewLine + "(3) Modify Profile" + Environment.NewLine + "(4) Build Download Links" + Environment.NewLine + "(5) Start Server"); string readline = Console.ReadLine(); if (readline == "1") { @@ -58,7 +102,7 @@ namespace start 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"); + Console.WriteLine("(1) Private Rooms: " + File.ReadAllText("SaveData\\App\\privaterooms.txt") + Environment.NewLine + "(2) Custom Room Downloader " + Environment.NewLine + "(3) Reset SaveData" + Environment.NewLine + "(4) Go Back"); string readline4 = Console.ReadLine(); if (readline4 == "1") { @@ -76,14 +120,23 @@ namespace start } else if (readline4 == "2") { - if (File.ReadAllText("SaveData\\App\\showopenrecinfo.txt") == "Disabled") + Console.Title = "OpenRec Custom Room Downloader"; + Console.Clear(); + Console.WriteLine("Custom Room Downloader: This tool takes the room data of any room you type in and imports it into ^CustomRoom in September 27th 2018."); + Console.WriteLine("Please type in the name of the room you would like to download: (Case sensitive)"); + string roomname = Console.ReadLine(); + string text = ""; + try { - File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Enabled"); + text = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomname + "&include=297"); } - else + catch { - File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Disabled"); + Console.Clear(); + Console.WriteLine("Failed to download room..."); + goto Settings; } + CustomRooms.RoomDecode(text); Console.Clear(); Console.WriteLine("Success!"); goto Settings; @@ -91,7 +144,7 @@ namespace start else if (readline4 == "3") { File.Delete("SaveData\\avatar.txt"); - File.Delete("SaveData\\avataritems.txt"); + File.Delete("SaveData\\avataritems.txt"); File.Delete("SaveData\\equipment.txt"); File.Delete("SaveData\\consumables.txt"); File.Delete("SaveData\\gameconfigs.txt"); @@ -102,9 +155,20 @@ namespace start File.Delete("SaveData\\myrooms.txt"); File.Delete("SaveData\\settings.txt"); File.Delete("SaveData\\App\\privaterooms.txt"); - File.Delete("SaveData\\App\\showopenrecinfo.txt"); File.Delete("SaveData\\App\\facefeaturesadd.txt"); File.Delete("SaveData\\profileimage.png"); + File.Delete("SaveData\\App\\firsttime.txt"); + + File.Delete("SaveData\\avataritems2.txt"); + + File.Delete("SaveData\\Rooms\\Downloaded\\roomname.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\roomid.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\datablob.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\roomsceneid.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\imagename.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\cheercount.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\favcount.txt"); + File.Delete("SaveData\\Rooms\\Downloaded\\visitcount.txt"); Console.WriteLine("Success!"); Setup.setup(); goto Settings; @@ -122,7 +186,7 @@ namespace start 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"); + Console.WriteLine("(1) Change Username" + Environment.NewLine + "(2) Change Profile Image" + Environment.NewLine + "(3) Change Level" + Environment.NewLine + "(4) Profile Downloader" + Environment.NewLine + "(5) Go Back"); string readline3 = Console.ReadLine(); if (readline3 == "1") { @@ -137,7 +201,7 @@ namespace start else if (readline3 == "2") { Console.Clear(); - Console.WriteLine("1) Upload Media Link" + Environment.NewLine + "2) Drag Image onto this window" + Environment.NewLine + "3) Go Back"); + Console.WriteLine("1) Upload Media Link" + Environment.NewLine + "2) Drag Image onto this window" + Environment.NewLine + "3) Download Rec.Net Profile Image" + Environment.NewLine + "4) Go Back"); string readline4 = Console.ReadLine(); if (readline4 == "1") { @@ -147,7 +211,7 @@ namespace start { File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData(medialink)); } - catch (Exception ex4) + catch { Console.Clear(); Console.WriteLine("Invalid Media Link"); @@ -166,6 +230,7 @@ namespace start byte[] imagefile = File.ReadAllBytes(imagedir); File.Replace(imagedir, "SaveData\\profileimage.png", "backupfilename.png"); File.WriteAllBytes(imagedir, imagefile); + File.Delete("backupfilename.png"); } catch (Exception ex4) { @@ -178,6 +243,43 @@ namespace start goto Profile; } else if (readline4 == "3") + { + Console.WriteLine("Type a RecRoom @ username and press enter: "); + string username = Console.ReadLine(); + if (username.StartsWith("@")) + { + username = username.Remove(0, 1); + } + try + { + string data = ""; + try + { + data = new WebClient().DownloadString("https://accounts.rec.net/account/search?name=" + username); + } + catch + { + Console.Clear(); + Console.WriteLine("Failed to download profile..."); + goto Start; + } + ; + List profile = JsonConvert.DeserializeObject>(data); + byte[] profileimage = new WebClient().DownloadData("https://img.rec.net/" + profile[0].profileImage + "?cropSquare=true&width=192&height=192"); + File.WriteAllBytes("SaveData\\profileimage.png", profileimage); + + } + catch + { + Console.Clear(); + Console.WriteLine("Unable to download image..."); + goto Profile; + } + Console.Clear(); + Console.WriteLine("Success!"); + goto Profile; + } + else if (readline4 == "4") { Console.Clear(); goto Start; @@ -194,6 +296,33 @@ namespace start goto Profile; } else if (readline3 == "4") + { + Console.Title = "OpenRec Profile Downloader"; + Console.Clear(); + Console.WriteLine("Profile Downloader: This tool takes the username and profile image of any username you type in and imports it to OpenRec."); + Console.WriteLine("Please type the @ username of the profile you would like:"); + string readusername = Console.ReadLine(); + if (readusername.StartsWith("@")) + { + readusername = readusername.Remove(0, 1); + } + string data2 = ""; + try + { + data2 = new WebClient().DownloadString("https://accounts.rec.net/account/search?name=" + readusername); + } + catch + { + Console.Clear(); + Console.WriteLine("Failed to download profile..."); + goto Start; + } + ProfieStealer.ProfileSteal(data2); + Console.Clear(); + Console.WriteLine("Success!"); + goto Start; + } + else if (readline3 == "5") { Console.Clear(); goto Start; @@ -201,24 +330,13 @@ namespace start } if (readline == "4") { - Console.Title = "OpenRec Custom Room Downloader"; + Console.Title = "OpenRec Build Downloads"; Console.Clear(); - Console.WriteLine("Please type in the name of the room you would like to download: (Case sensitive)"); - string roomname = Console.ReadLine(); - string text = ""; - try - { - text = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomname + "&include=297"); - } - catch - { - Console.Clear(); - Console.WriteLine("Failed to download room..."); - goto Start; - } - CustomRooms.RoomDecode(text); + Console.WriteLine("To download builds, either go to the builds channel or use the links below: (these links are also available from the #builds channel)" + Environment.NewLine); + Console.WriteLine(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/builds.txt")); + Console.WriteLine("Download a build and press any key to continue:"); + Console.ReadKey(); Console.Clear(); - Console.WriteLine("Success!"); goto Start; } if (readline == "5") @@ -246,7 +364,7 @@ namespace start } else if (readline2 == "2018") { - Console.WriteLine("May or September (Beta) 2018: (M, S)"); + Console.WriteLine("May, July or September (Beta) 2018: (M, J, S)"); string readline3 = Console.ReadLine(); if ((readline3 == "M") || (readline3 == "m")) { @@ -259,7 +377,7 @@ namespace start new APIServer(); new WebSocket(); } - if ((readline3 == "S") || (readline3 == "s")) + else if ((readline3 == "S") || (readline3 == "s")) { Console.Title = "OpenRec September 27th 2018"; version = "2018"; @@ -270,11 +388,22 @@ namespace start new APIServer(); new Late2018WebSock(); } + else if ((readline3 == "J") || (readline3 == "j")) + { + Console.Title = "OpenRec July 20th 2018"; + version = "2018"; + Console.Clear(); + Console.WriteLine("Version Selected: July 20th, 2018"); + new NameServer(); + new ImageServer(); + new APIServer(); + new WebSocket(); + } } } } public static string version = ""; - public static string appversion = "0.6.1"; + public static string appversion = "0.7.0"; public static bool bannedflag = false; } diff --git a/Setup.cs b/Setup.cs index f941bd2..655203a 100644 --- a/Setup.cs +++ b/Setup.cs @@ -8,6 +8,7 @@ namespace start { class Setup { + public static bool firsttime = false; public static void setup() { //sets up all the important files so openrec doesnt crash like lame vaultserver xD @@ -18,6 +19,11 @@ namespace start Directory.CreateDirectory("SaveData\\Rooms\\"); Directory.CreateDirectory("SaveData\\Images\\"); Directory.CreateDirectory("SaveData\\Rooms\\Downloaded\\"); + if (!(File.Exists("SaveData\\App\\firsttime.txt"))) + { + File.WriteAllText("SaveData\\App\\firsttime.txt", "this text file has no use other than to tell the program whether to bring up the intro or not, so i can just write random shit here. among us balls, you suck mad dick you big fat fa----"); + firsttime = true; + } if (!(File.Exists("SaveData\\avatar.txt"))) { File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt")); @@ -56,7 +62,7 @@ namespace start } if (!(File.Exists("SaveData\\Profile\\username.txt"))) { - File.WriteAllText("SaveData\\Profile\\username.txt", "DefaultUsername"); + File.WriteAllText("SaveData\\Profile\\username.txt", "OpenRec User#" + new Random().Next(0, 1000000)); } if (!(File.Exists("SaveData\\Profile\\level.txt"))) { @@ -74,6 +80,10 @@ namespace start { File.WriteAllText("SaveData\\settings.txt", Newtonsoft.Json.JsonConvert.SerializeObject(api.Settings.CreateDefaultSettings())); } + if (!(File.Exists("SaveData\\profileimage.png"))) + { + File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png")); + } if (!(File.Exists("SaveData\\App\\privaterooms.txt"))) { File.WriteAllText("SaveData\\App\\privaterooms.txt", "Disabled"); @@ -86,13 +96,16 @@ namespace start { File.WriteAllText("SaveData\\App\\facefeaturesadd.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/facefeaturesadd.txt")); } - if (!(File.Exists("SaveData\\Images\\count.txt"))) - { - File.WriteAllText("SaveData\\Images\\count.txt", "0"); + goto tryagain; + + tryagain: + try + { + api.CustomRooms.RoomGet("gizmoface"); } - if (!(File.Exists("SaveData\\profileimage.png"))) - { - File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png")); + catch + { + goto tryagain; } Console.WriteLine("Done!"); Console.Clear(); diff --git a/Vault2018GameSessions.cs b/Vault2018GameSessions.cs index 6f8cecb..38dbb6c 100644 --- a/Vault2018GameSessions.cs +++ b/Vault2018GameSessions.cs @@ -53,7 +53,7 @@ namespace vaultgamesesh } else { - c000041.f000043 = c00005d.f000050[File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt")]; + c000041.f000043 = c00005d.f000050["DormRoom"]; } } int num = 0; @@ -73,13 +73,20 @@ namespace vaultgamesesh } text += c000004.f000003; bool @private = c00006c.Private; - if (@private) + if (@private) + { + text += string.Format("Pri{0}", server.APIServer.CachedPlayerID); + } + long gameseshid = 20181L; + if (start.Program.bannedflag == true) { - text += string.Format("Pri{0}", server.APIServer.CachedPlayerID); + gameseshid = 100L; + text += "BANNED"; } + c000041.f000013 = new c000041.c000044 { - GameSessionId = 20181L, + GameSessionId = gameseshid, PhotonRegionId = "us", PhotonRoomId = text, Name = c000041.f000043.Room.Name, diff --git a/Vault2018WS.cs b/Vault2018WS.cs index 065acb3..7cf50bd 100644 --- a/Vault2018WS.cs +++ b/Vault2018WS.cs @@ -1,19 +1,21 @@ using System; using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Text; using Newtonsoft.Json; +using start; using WebSocketSharp; using WebSocketSharp.Server; -using System.Net; -using System.IO; +using ws; namespace vaultgamesesh { - // Token: 0x02000018 RID: 24 - internal class Late2018WebSock + public class Late2018WebSock { - // Token: 0x06000094 RID: 148 RVA: 0x00006EB0 File Offset: 0x000050B0 public Late2018WebSock() { + Late2018WebSock.instance = this; this.WebSock.AddWebSocketService("/api/notification/v2"); this.WebSock.AddWebSocketService("/hub/v1"); this.WebSock.Start(); @@ -21,24 +23,39 @@ namespace vaultgamesesh Console.WriteLine("[LateWebSocket.cs] is listening."); } - // Token: 0x04000047 RID: 71 + public void Broadcast(Notification.Reponse res) + { + Console.WriteLine(string.Concat(new string[] + { + "Broadcasting ", + JsonConvert.SerializeObject(res), + " to ", + this.WebSock.WebSocketServices["/api/notification/v2"].Sessions.Count.ToString(), + " clients." + })); + + WebSock.WebSocketServices["/api/notification/v2"].Sessions.Broadcast(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(res))); + } + + public static Late2018WebSock instance; + 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())); } + + public HubWS() + { + } } - // Token: 0x0200004B RID: 75 public class Hub : WebSocketBehavior { - // Token: 0x060001EC RID: 492 RVA: 0x0000C240 File Offset: 0x0000A440 public Hub() { this.accessToken = "AccessDeezNuts"; @@ -47,37 +64,33 @@ namespace vaultgamesesh 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) + bool flag = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")); + if (flag) + { + 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; + Program.bannedflag = true; + Late2018WebSock.instance.Broadcast(Notification.Reponse.createBannedResponse()); + } + Console.WriteLine("LateWebSocket.cs Notif Requested."); + bool flag2 = p0.Data == null; + bool flag3 = flag2; + bool flag4 = flag3; + if (flag4) { base.Send(string.Empty); } @@ -85,13 +98,10 @@ namespace vaultgamesesh { 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; - } + } + + public NotificationWS() + { } } } diff --git a/WebSocket.cs b/WebSocket.cs index 0c0de00..801b12d 100644 --- a/WebSocket.cs +++ b/WebSocket.cs @@ -1,22 +1,19 @@ using System; -using System.Collections.Generic; +using System.IO; +using System.Net; +using start; using WebSocketSharp; using WebSocketSharp.Server; -using Newtonsoft.Json; -using server; -using start; -using System.Net; -using System.IO; namespace ws { - // Token: 0x02000008 RID: 8 + // Token: 0x02000010 RID: 16 internal class WebSocket { - // Token: 0x06000012 RID: 18 RVA: 0x0000418C File Offset: 0x0000238C + // Token: 0x06000031 RID: 49 RVA: 0x000066D4 File Offset: 0x000048D4 public WebSocket() { - WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161")); + WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161", Array.Empty())); webSocketServer.AddWebSocketService("/api/notification/v2"); webSocketServer.AddWebSocketService("/hub/v1"); webSocketServer.Start(); @@ -24,21 +21,23 @@ namespace ws Console.WriteLine("[WebSocket.cs] is listening."); } + // Token: 0x02000058 RID: 88 public class NotificationV2 : WebSocketBehavior { - // Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D + // Token: 0x0600023F RID: 575 RVA: 0x0000BDF8 File Offset: 0x00009FF8 protected override void OnMessage(MessageEventArgs e) { 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"))) + bool flag = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")); + if (flag) { 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; + Program.bannedflag = true; } } } } -} \ No newline at end of file +} diff --git a/Vault2018Prescence.cs b/c000020.cs similarity index 56% rename from Vault2018Prescence.cs rename to c000020.cs index 422ee91..728d138 100644 --- a/Vault2018Prescence.cs +++ b/c000020.cs @@ -1,20 +1,20 @@ using System; -using System.Runtime.CompilerServices; -using server; using System.IO; +using System.Runtime.CompilerServices; namespace vaultgamesesh { - // Token: 0x02000004 RID: 4 + // Token: 0x02000007 RID: 7 internal sealed class c000020 { - // Token: 0x0600000C RID: 12 RVA: 0x0000225C File Offset: 0x0000045C + // Token: 0x0600001A RID: 26 RVA: 0x00002B20 File Offset: 0x00000D20 public static c000020.c000022 m000027() { bool flag = c000041.f000013 == null; bool flag2 = flag; + bool flag3 = flag2; c000041.c000044 gameSession; - if (flag2) + if (flag3) { gameSession = c000041.m00002f(); } @@ -31,18 +31,13 @@ namespace vaultgamesesh }; } - // Token: 0x02000026 RID: 38 - public enum enum021 - { - - } - - // Token: 0x02000027 RID: 39 + + // Token: 0x0200003C RID: 60 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 + // Token: 0x17000088 RID: 136 + // (get) Token: 0x0600017E RID: 382 RVA: 0x0000A768 File Offset: 0x00008968 + // (set) Token: 0x0600017F RID: 383 RVA: 0x0000A780 File Offset: 0x00008980 public ulong PlayerId { [CompilerGenerated] @@ -57,9 +52,9 @@ namespace vaultgamesesh } } - // Token: 0x17000036 RID: 54 - // (get) Token: 0x060000D0 RID: 208 RVA: 0x0000B21C File Offset: 0x0000941C - // (set) Token: 0x060000D1 RID: 209 RVA: 0x0000B234 File Offset: 0x00009434 + // Token: 0x17000089 RID: 137 + // (get) Token: 0x06000180 RID: 384 RVA: 0x0000A78C File Offset: 0x0000898C + // (set) Token: 0x06000181 RID: 385 RVA: 0x0000A7A4 File Offset: 0x000089A4 public bool IsOnline { [CompilerGenerated] @@ -74,9 +69,9 @@ namespace vaultgamesesh } } - // Token: 0x17000037 RID: 55 - // (get) Token: 0x060000D2 RID: 210 RVA: 0x0000B240 File Offset: 0x00009440 - // (set) Token: 0x060000D3 RID: 211 RVA: 0x0000B258 File Offset: 0x00009458 + // Token: 0x1700008A RID: 138 + // (get) Token: 0x06000182 RID: 386 RVA: 0x0000A7B0 File Offset: 0x000089B0 + // (set) Token: 0x06000183 RID: 387 RVA: 0x0000A7C8 File Offset: 0x000089C8 public int PlayerType { [CompilerGenerated] @@ -91,9 +86,9 @@ namespace vaultgamesesh } } - // Token: 0x17000038 RID: 56 - // (get) Token: 0x060000D4 RID: 212 RVA: 0x0000B264 File Offset: 0x00009464 - // (set) Token: 0x060000D5 RID: 213 RVA: 0x0000B27C File Offset: 0x0000947C + // Token: 0x1700008B RID: 139 + // (get) Token: 0x06000184 RID: 388 RVA: 0x0000A7D4 File Offset: 0x000089D4 + // (set) Token: 0x06000185 RID: 389 RVA: 0x0000A7EC File Offset: 0x000089EC public c000041.c000044 GameSession { [CompilerGenerated] @@ -108,17 +103,17 @@ namespace vaultgamesesh } } - // Token: 0x04000071 RID: 113 + // Token: 0x040000C4 RID: 196 private ulong f000001; - // Token: 0x04000072 RID: 114 + // Token: 0x040000C5 RID: 197 private bool f000037; - // Token: 0x04000073 RID: 115 + // Token: 0x040000C6 RID: 198 private int f000020; - // Token: 0x04000074 RID: 116 + // Token: 0x040000C7 RID: 199 private c000041.c000044 f000038; } } -} \ No newline at end of file +} diff --git a/Vault2018Rooms.cs b/c00005d.cs similarity index 81% rename from Vault2018Rooms.cs rename to c00005d.cs index 9f2d9aa..74d7cdd 100644 --- a/Vault2018Rooms.cs +++ b/c00005d.cs @@ -2,15 +2,15 @@ using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; -using server; using Newtonsoft.Json; +using server; namespace vaultgamesesh { - // Token: 0x02000006 RID: 6 + // Token: 0x02000008 RID: 8 internal sealed class c00005d { - // Token: 0x06000011 RID: 17 RVA: 0x0000264C File Offset: 0x0000084C + // Token: 0x0600001C RID: 28 RVA: 0x00002B94 File Offset: 0x00000D94 public static Dictionary m00003a() { Dictionary dictionary = new Dictionary(); @@ -22,6 +22,8 @@ namespace vaultgamesesh } return dictionary; } + + // Token: 0x0600001D RID: 29 RVA: 0x00002BFC File Offset: 0x00000DFC public static List m000035() { List list = new List(); @@ -31,7 +33,8 @@ namespace vaultgamesesh } return list; } - // Token: 0x06000012 RID: 18 RVA: 0x00002688 File Offset: 0x00000888 + + // Token: 0x0600001E RID: 30 RVA: 0x00002C6C File Offset: 0x00000E6C public static Dictionary m00003b() { Dictionary result; @@ -52,13 +55,14 @@ namespace vaultgamesesh return result; } - // Token: 0x06000013 RID: 19 RVA: 0x000026E8 File Offset: 0x000008E8 + // Token: 0x0600001F RID: 31 RVA: 0x00002CC4 File Offset: 0x00000EC4 public static c00005d.c000060 m000023(int p0) { foreach (KeyValuePair keyValuePair in c00005d.f000050) { bool flag = keyValuePair.Value.Room.RoomId == (ulong)((long)p0); - if (flag) + bool flag2 = flag; + if (flag2) { return keyValuePair.Value; } @@ -66,7 +70,7 @@ namespace vaultgamesesh return c00005d.f000050["DormRoom"]; } - // Token: 0x0400000D RID: 13 + // Token: 0x04000008 RID: 8 public static Dictionary f000024 = new Dictionary { { @@ -326,7 +330,7 @@ namespace vaultgamesesh } }; - // Token: 0x0400000E RID: 14 + // Token: 0x04000009 RID: 9 public static Dictionary f000050 = new Dictionary { { @@ -1528,23 +1532,22 @@ namespace vaultgamesesh Type = 0 } } - } } }; - // Token: 0x0200002B RID: 43 + // Token: 0x0200003D RID: 61 public enum enum05e { } - // Token: 0x0200002C RID: 44 + // Token: 0x0200003E RID: 62 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 + // Token: 0x1700008C RID: 140 + // (get) Token: 0x06000187 RID: 391 RVA: 0x0000A800 File Offset: 0x00008A00 + // (set) Token: 0x06000188 RID: 392 RVA: 0x0000A818 File Offset: 0x00008A18 public long RoomSceneId { [CompilerGenerated] @@ -1559,9 +1562,9 @@ namespace vaultgamesesh } } - // Token: 0x1700004B RID: 75 - // (get) Token: 0x060000FD RID: 253 RVA: 0x0000B514 File Offset: 0x00009714 - // (set) Token: 0x060000FE RID: 254 RVA: 0x0000B52C File Offset: 0x0000972C + // Token: 0x1700008D RID: 141 + // (get) Token: 0x06000189 RID: 393 RVA: 0x0000A824 File Offset: 0x00008A24 + // (set) Token: 0x0600018A RID: 394 RVA: 0x0000A83C File Offset: 0x00008A3C public ulong RoomId { [CompilerGenerated] @@ -1576,9 +1579,9 @@ namespace vaultgamesesh } } - // Token: 0x1700004C RID: 76 - // (get) Token: 0x060000FF RID: 255 RVA: 0x0000B538 File Offset: 0x00009738 - // (set) Token: 0x06000100 RID: 256 RVA: 0x0000B550 File Offset: 0x00009750 + // Token: 0x1700008E RID: 142 + // (get) Token: 0x0600018B RID: 395 RVA: 0x0000A848 File Offset: 0x00008A48 + // (set) Token: 0x0600018C RID: 396 RVA: 0x0000A860 File Offset: 0x00008A60 public string RoomSceneLocationId { [CompilerGenerated] @@ -1593,9 +1596,9 @@ namespace vaultgamesesh } } - // Token: 0x1700004D RID: 77 - // (get) Token: 0x06000101 RID: 257 RVA: 0x0000B55C File Offset: 0x0000975C - // (set) Token: 0x06000102 RID: 258 RVA: 0x0000B574 File Offset: 0x00009774 + // Token: 0x1700008F RID: 143 + // (get) Token: 0x0600018D RID: 397 RVA: 0x0000A86C File Offset: 0x00008A6C + // (set) Token: 0x0600018E RID: 398 RVA: 0x0000A884 File Offset: 0x00008A84 public string Name { [CompilerGenerated] @@ -1610,9 +1613,9 @@ namespace vaultgamesesh } } - // Token: 0x1700004E RID: 78 - // (get) Token: 0x06000103 RID: 259 RVA: 0x0000B580 File Offset: 0x00009780 - // (set) Token: 0x06000104 RID: 260 RVA: 0x0000B598 File Offset: 0x00009798 + // Token: 0x17000090 RID: 144 + // (get) Token: 0x0600018F RID: 399 RVA: 0x0000A890 File Offset: 0x00008A90 + // (set) Token: 0x06000190 RID: 400 RVA: 0x0000A8A8 File Offset: 0x00008AA8 public bool IsSandbox { [CompilerGenerated] @@ -1627,9 +1630,9 @@ namespace vaultgamesesh } } - // Token: 0x1700004F RID: 79 - // (get) Token: 0x06000105 RID: 261 RVA: 0x0000B5A4 File Offset: 0x000097A4 - // (set) Token: 0x06000106 RID: 262 RVA: 0x0000B5BC File Offset: 0x000097BC + // Token: 0x17000091 RID: 145 + // (get) Token: 0x06000191 RID: 401 RVA: 0x0000A8B4 File Offset: 0x00008AB4 + // (set) Token: 0x06000192 RID: 402 RVA: 0x0000A8CC File Offset: 0x00008ACC public string DataBlobName { [CompilerGenerated] @@ -1644,9 +1647,9 @@ namespace vaultgamesesh } } - // Token: 0x17000050 RID: 80 - // (get) Token: 0x06000107 RID: 263 RVA: 0x0000B5C8 File Offset: 0x000097C8 - // (set) Token: 0x06000108 RID: 264 RVA: 0x0000B5E0 File Offset: 0x000097E0 + // Token: 0x17000092 RID: 146 + // (get) Token: 0x06000193 RID: 403 RVA: 0x0000A8D8 File Offset: 0x00008AD8 + // (set) Token: 0x06000194 RID: 404 RVA: 0x0000A8F0 File Offset: 0x00008AF0 public int MaxPlayers { [CompilerGenerated] @@ -1661,9 +1664,9 @@ namespace vaultgamesesh } } - // Token: 0x17000051 RID: 81 - // (get) Token: 0x06000109 RID: 265 RVA: 0x0000B5EC File Offset: 0x000097EC - // (set) Token: 0x0600010A RID: 266 RVA: 0x0000B604 File Offset: 0x00009804 + // Token: 0x17000093 RID: 147 + // (get) Token: 0x06000195 RID: 405 RVA: 0x0000A8FC File Offset: 0x00008AFC + // (set) Token: 0x06000196 RID: 406 RVA: 0x0000A914 File Offset: 0x00008B14 public bool CanMatchmakeInto { [CompilerGenerated] @@ -1678,9 +1681,9 @@ namespace vaultgamesesh } } - // Token: 0x17000052 RID: 82 - // (get) Token: 0x0600010B RID: 267 RVA: 0x0000B610 File Offset: 0x00009810 - // (set) Token: 0x0600010C RID: 268 RVA: 0x0000B628 File Offset: 0x00009828 + // Token: 0x17000094 RID: 148 + // (get) Token: 0x06000197 RID: 407 RVA: 0x0000A920 File Offset: 0x00008B20 + // (set) Token: 0x06000198 RID: 408 RVA: 0x0000A938 File Offset: 0x00008B38 public DateTime DataModifiedAt { [CompilerGenerated] @@ -1695,70 +1698,70 @@ namespace vaultgamesesh } } - // Token: 0x17000053 RID: 83 - // (get) Token: 0x0600010D RID: 269 RVA: 0x0000B632 File Offset: 0x00009832 - // (set) Token: 0x0600010E RID: 270 RVA: 0x0000B63A File Offset: 0x0000983A + // Token: 0x17000095 RID: 149 + // (get) Token: 0x06000199 RID: 409 RVA: 0x0000A942 File Offset: 0x00008B42 + // (set) Token: 0x0600019A RID: 410 RVA: 0x0000A94A File Offset: 0x00008B4A 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 + // Token: 0x17000096 RID: 150 + // (get) Token: 0x0600019B RID: 411 RVA: 0x0000A953 File Offset: 0x00008B53 + // (set) Token: 0x0600019C RID: 412 RVA: 0x0000A95B File Offset: 0x00008B5B 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 + // Token: 0x17000097 RID: 151 + // (get) Token: 0x0600019D RID: 413 RVA: 0x0000A964 File Offset: 0x00008B64 + // (set) Token: 0x0600019E RID: 414 RVA: 0x0000A96C File Offset: 0x00008B6C 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 + // Token: 0x17000098 RID: 152 + // (get) Token: 0x0600019F RID: 415 RVA: 0x0000A975 File Offset: 0x00008B75 + // (set) Token: 0x060001A0 RID: 416 RVA: 0x0000A97D File Offset: 0x00008B7D 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 + // Token: 0x17000099 RID: 153 + // (get) Token: 0x060001A1 RID: 417 RVA: 0x0000A986 File Offset: 0x00008B86 + // (set) Token: 0x060001A2 RID: 418 RVA: 0x0000A98E File Offset: 0x00008B8E 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 + // Token: 0x1700009A RID: 154 + // (get) Token: 0x060001A3 RID: 419 RVA: 0x0000A997 File Offset: 0x00008B97 + // (set) Token: 0x060001A4 RID: 420 RVA: 0x0000A99F File Offset: 0x00008B9F public bool SupportsJoinInProgress { get; set; } - // Token: 0x0400008F RID: 143 + // Token: 0x040000CF RID: 207 private long f00002c; - // Token: 0x04000090 RID: 144 + // Token: 0x040000D0 RID: 208 private ulong f000023; - // Token: 0x04000091 RID: 145 + // Token: 0x040000D1 RID: 209 private string f000003; - // Token: 0x04000092 RID: 146 + // Token: 0x040000D2 RID: 210 private string f000035; - // Token: 0x04000093 RID: 147 + // Token: 0x040000D3 RID: 211 private bool f000073; - // Token: 0x04000094 RID: 148 + // Token: 0x040000D4 RID: 212 private string f00000e; - // Token: 0x04000095 RID: 149 + // Token: 0x040000D5 RID: 213 private int f000007; - // Token: 0x04000096 RID: 150 + // Token: 0x040000D6 RID: 214 private bool f000017; - // Token: 0x04000097 RID: 151 + // Token: 0x040000D7 RID: 215 private DateTime f000074; } - // Token: 0x0200002D RID: 45 + // Token: 0x0200003F RID: 63 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 + // Token: 0x1700009B RID: 155 + // (get) Token: 0x060001A6 RID: 422 RVA: 0x0000A9B4 File Offset: 0x00008BB4 + // (set) Token: 0x060001A7 RID: 423 RVA: 0x0000A9CC File Offset: 0x00008BCC public c00005d.c000061 Room { [CompilerGenerated] @@ -1773,9 +1776,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005A RID: 90 - // (get) Token: 0x0600011C RID: 284 RVA: 0x0000B6C8 File Offset: 0x000098C8 - // (set) Token: 0x0600011D RID: 285 RVA: 0x0000B6E0 File Offset: 0x000098E0 + // Token: 0x1700009C RID: 156 + // (get) Token: 0x060001A8 RID: 424 RVA: 0x0000A9D8 File Offset: 0x00008BD8 + // (set) Token: 0x060001A9 RID: 425 RVA: 0x0000A9F0 File Offset: 0x00008BF0 public List Scenes { [CompilerGenerated] @@ -1790,9 +1793,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005B RID: 91 - // (get) Token: 0x0600011E RID: 286 RVA: 0x0000B6EC File Offset: 0x000098EC - // (set) Token: 0x0600011F RID: 287 RVA: 0x0000B704 File Offset: 0x00009904 + // Token: 0x1700009D RID: 157 + // (get) Token: 0x060001AA RID: 426 RVA: 0x0000A9FC File Offset: 0x00008BFC + // (set) Token: 0x060001AB RID: 427 RVA: 0x0000AA14 File Offset: 0x00008C14 public List CoOwners { [CompilerGenerated] @@ -1807,9 +1810,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005C RID: 92 - // (get) Token: 0x06000120 RID: 288 RVA: 0x0000B710 File Offset: 0x00009910 - // (set) Token: 0x06000121 RID: 289 RVA: 0x0000B728 File Offset: 0x00009928 + // Token: 0x1700009E RID: 158 + // (get) Token: 0x060001AC RID: 428 RVA: 0x0000AA20 File Offset: 0x00008C20 + // (set) Token: 0x060001AD RID: 429 RVA: 0x0000AA38 File Offset: 0x00008C38 public List InvitedCoOwners { [CompilerGenerated] @@ -1824,9 +1827,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005D RID: 93 - // (get) Token: 0x06000122 RID: 290 RVA: 0x0000B734 File Offset: 0x00009934 - // (set) Token: 0x06000123 RID: 291 RVA: 0x0000B74C File Offset: 0x0000994C + // Token: 0x1700009F RID: 159 + // (get) Token: 0x060001AE RID: 430 RVA: 0x0000AA44 File Offset: 0x00008C44 + // (set) Token: 0x060001AF RID: 431 RVA: 0x0000AA5C File Offset: 0x00008C5C public List Hosts { [CompilerGenerated] @@ -1841,9 +1844,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005E RID: 94 - // (get) Token: 0x06000124 RID: 292 RVA: 0x0000B758 File Offset: 0x00009958 - // (set) Token: 0x06000125 RID: 293 RVA: 0x0000B770 File Offset: 0x00009970 + // Token: 0x170000A0 RID: 160 + // (get) Token: 0x060001B0 RID: 432 RVA: 0x0000AA68 File Offset: 0x00008C68 + // (set) Token: 0x060001B1 RID: 433 RVA: 0x0000AA80 File Offset: 0x00008C80 public List InvitedHosts { [CompilerGenerated] @@ -1858,9 +1861,9 @@ namespace vaultgamesesh } } - // Token: 0x1700005F RID: 95 - // (get) Token: 0x06000126 RID: 294 RVA: 0x0000B77C File Offset: 0x0000997C - // (set) Token: 0x06000127 RID: 295 RVA: 0x0000B794 File Offset: 0x00009994 + // Token: 0x170000A1 RID: 161 + // (get) Token: 0x060001B2 RID: 434 RVA: 0x0000AA8C File Offset: 0x00008C8C + // (set) Token: 0x060001B3 RID: 435 RVA: 0x0000AAA4 File Offset: 0x00008CA4 public int CheerCount { [CompilerGenerated] @@ -1875,9 +1878,9 @@ namespace vaultgamesesh } } - // Token: 0x17000060 RID: 96 - // (get) Token: 0x06000128 RID: 296 RVA: 0x0000B7A0 File Offset: 0x000099A0 - // (set) Token: 0x06000129 RID: 297 RVA: 0x0000B7B8 File Offset: 0x000099B8 + // Token: 0x170000A2 RID: 162 + // (get) Token: 0x060001B4 RID: 436 RVA: 0x0000AAB0 File Offset: 0x00008CB0 + // (set) Token: 0x060001B5 RID: 437 RVA: 0x0000AAC8 File Offset: 0x00008CC8 public int FavoriteCount { [CompilerGenerated] @@ -1892,9 +1895,9 @@ namespace vaultgamesesh } } - // Token: 0x17000061 RID: 97 - // (get) Token: 0x0600012A RID: 298 RVA: 0x0000B7C4 File Offset: 0x000099C4 - // (set) Token: 0x0600012B RID: 299 RVA: 0x0000B7DC File Offset: 0x000099DC + // Token: 0x170000A3 RID: 163 + // (get) Token: 0x060001B6 RID: 438 RVA: 0x0000AAD4 File Offset: 0x00008CD4 + // (set) Token: 0x060001B7 RID: 439 RVA: 0x0000AAEC File Offset: 0x00008CEC public int VisitCount { [CompilerGenerated] @@ -1909,9 +1912,9 @@ namespace vaultgamesesh } } - // Token: 0x17000062 RID: 98 - // (get) Token: 0x0600012C RID: 300 RVA: 0x0000B7E8 File Offset: 0x000099E8 - // (set) Token: 0x0600012D RID: 301 RVA: 0x0000B800 File Offset: 0x00009A00 + // Token: 0x170000A4 RID: 164 + // (get) Token: 0x060001B8 RID: 440 RVA: 0x0000AAF8 File Offset: 0x00008CF8 + // (set) Token: 0x060001B9 RID: 441 RVA: 0x0000AB10 File Offset: 0x00008D10 public List Tags { [CompilerGenerated] @@ -1926,37 +1929,37 @@ namespace vaultgamesesh } } - // Token: 0x04000098 RID: 152 + // Token: 0x040000D8 RID: 216 private c00005d.c000061 f00002d; - // Token: 0x04000099 RID: 153 + // Token: 0x040000D9 RID: 217 private List f000031; - // Token: 0x0400009A RID: 154 + // Token: 0x040000DA RID: 218 private List f000034; - // Token: 0x0400009B RID: 155 + // Token: 0x040000DB RID: 219 private List f00002a; - // Token: 0x0400009C RID: 156 + // Token: 0x040000DC RID: 220 private int f000005; - // Token: 0x0400009D RID: 157 + // Token: 0x040000DD RID: 221 private int f000006; - // Token: 0x0400009E RID: 158 + // Token: 0x040000DE RID: 222 private int f000007; - // Token: 0x0400009F RID: 159 + // Token: 0x040000DF RID: 223 private List f000075; } - // Token: 0x0200002E RID: 46 + // Token: 0x02000040 RID: 64 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 + // Token: 0x170000A5 RID: 165 + // (get) Token: 0x060001BB RID: 443 RVA: 0x0000AB24 File Offset: 0x00008D24 + // (set) Token: 0x060001BC RID: 444 RVA: 0x0000AB3C File Offset: 0x00008D3C public ulong RoomId { [CompilerGenerated] @@ -1971,9 +1974,9 @@ namespace vaultgamesesh } } - // Token: 0x17000064 RID: 100 - // (get) Token: 0x06000131 RID: 305 RVA: 0x0000B838 File Offset: 0x00009A38 - // (set) Token: 0x06000132 RID: 306 RVA: 0x0000B850 File Offset: 0x00009A50 + // Token: 0x170000A6 RID: 166 + // (get) Token: 0x060001BD RID: 445 RVA: 0x0000AB48 File Offset: 0x00008D48 + // (set) Token: 0x060001BE RID: 446 RVA: 0x0000AB60 File Offset: 0x00008D60 public string Name { [CompilerGenerated] @@ -1988,9 +1991,9 @@ namespace vaultgamesesh } } - // Token: 0x17000065 RID: 101 - // (get) Token: 0x06000133 RID: 307 RVA: 0x0000B85C File Offset: 0x00009A5C - // (set) Token: 0x06000134 RID: 308 RVA: 0x0000B874 File Offset: 0x00009A74 + // Token: 0x170000A7 RID: 167 + // (get) Token: 0x060001BF RID: 447 RVA: 0x0000AB6C File Offset: 0x00008D6C + // (set) Token: 0x060001C0 RID: 448 RVA: 0x0000AB84 File Offset: 0x00008D84 public string Description { [CompilerGenerated] @@ -2005,9 +2008,9 @@ namespace vaultgamesesh } } - // Token: 0x17000066 RID: 102 - // (get) Token: 0x06000135 RID: 309 RVA: 0x0000B880 File Offset: 0x00009A80 - // (set) Token: 0x06000136 RID: 310 RVA: 0x0000B898 File Offset: 0x00009A98 + // Token: 0x170000A8 RID: 168 + // (get) Token: 0x060001C1 RID: 449 RVA: 0x0000AB90 File Offset: 0x00008D90 + // (set) Token: 0x060001C2 RID: 450 RVA: 0x0000ABA8 File Offset: 0x00008DA8 public ulong CreatorPlayerId { [CompilerGenerated] @@ -2022,9 +2025,9 @@ namespace vaultgamesesh } } - // Token: 0x17000067 RID: 103 - // (get) Token: 0x06000137 RID: 311 RVA: 0x0000B8A4 File Offset: 0x00009AA4 - // (set) Token: 0x06000138 RID: 312 RVA: 0x0000B8BC File Offset: 0x00009ABC + // Token: 0x170000A9 RID: 169 + // (get) Token: 0x060001C3 RID: 451 RVA: 0x0000ABB4 File Offset: 0x00008DB4 + // (set) Token: 0x060001C4 RID: 452 RVA: 0x0000ABCC File Offset: 0x00008DCC public string ImageName { [CompilerGenerated] @@ -2039,9 +2042,9 @@ namespace vaultgamesesh } } - // Token: 0x17000068 RID: 104 - // (get) Token: 0x06000139 RID: 313 RVA: 0x0000B8C8 File Offset: 0x00009AC8 - // (set) Token: 0x0600013A RID: 314 RVA: 0x0000B8E0 File Offset: 0x00009AE0 + // Token: 0x170000AA RID: 170 + // (get) Token: 0x060001C5 RID: 453 RVA: 0x0000ABD8 File Offset: 0x00008DD8 + // (set) Token: 0x060001C6 RID: 454 RVA: 0x0000ABF0 File Offset: 0x00008DF0 public int State { [CompilerGenerated] @@ -2056,9 +2059,9 @@ namespace vaultgamesesh } } - // Token: 0x17000069 RID: 105 - // (get) Token: 0x0600013B RID: 315 RVA: 0x0000B8EC File Offset: 0x00009AEC - // (set) Token: 0x0600013C RID: 316 RVA: 0x0000B904 File Offset: 0x00009B04 + // Token: 0x170000AB RID: 171 + // (get) Token: 0x060001C7 RID: 455 RVA: 0x0000ABFC File Offset: 0x00008DFC + // (set) Token: 0x060001C8 RID: 456 RVA: 0x0000AC14 File Offset: 0x00008E14 public int Accessibility { [CompilerGenerated] @@ -2073,9 +2076,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006A RID: 106 - // (get) Token: 0x0600013D RID: 317 RVA: 0x0000B910 File Offset: 0x00009B10 - // (set) Token: 0x0600013E RID: 318 RVA: 0x0000B928 File Offset: 0x00009B28 + // Token: 0x170000AC RID: 172 + // (get) Token: 0x060001C9 RID: 457 RVA: 0x0000AC20 File Offset: 0x00008E20 + // (set) Token: 0x060001CA RID: 458 RVA: 0x0000AC38 File Offset: 0x00008E38 public bool SupportsLevelVoting { [CompilerGenerated] @@ -2090,9 +2093,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006B RID: 107 - // (get) Token: 0x0600013F RID: 319 RVA: 0x0000B934 File Offset: 0x00009B34 - // (set) Token: 0x06000140 RID: 320 RVA: 0x0000B94C File Offset: 0x00009B4C + // Token: 0x170000AD RID: 173 + // (get) Token: 0x060001CB RID: 459 RVA: 0x0000AC44 File Offset: 0x00008E44 + // (set) Token: 0x060001CC RID: 460 RVA: 0x0000AC5C File Offset: 0x00008E5C public bool IsAGRoom { [CompilerGenerated] @@ -2107,9 +2110,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006C RID: 108 - // (get) Token: 0x06000141 RID: 321 RVA: 0x0000B958 File Offset: 0x00009B58 - // (set) Token: 0x06000142 RID: 322 RVA: 0x0000B970 File Offset: 0x00009B70 + // Token: 0x170000AE RID: 174 + // (get) Token: 0x060001CD RID: 461 RVA: 0x0000AC68 File Offset: 0x00008E68 + // (set) Token: 0x060001CE RID: 462 RVA: 0x0000AC80 File Offset: 0x00008E80 public bool CloningAllowed { [CompilerGenerated] @@ -2124,9 +2127,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006D RID: 109 - // (get) Token: 0x06000143 RID: 323 RVA: 0x0000B97C File Offset: 0x00009B7C - // (set) Token: 0x06000144 RID: 324 RVA: 0x0000B994 File Offset: 0x00009B94 + // Token: 0x170000AF RID: 175 + // (get) Token: 0x060001CF RID: 463 RVA: 0x0000AC8C File Offset: 0x00008E8C + // (set) Token: 0x060001D0 RID: 464 RVA: 0x0000ACA4 File Offset: 0x00008EA4 public bool SupportsScreens { [CompilerGenerated] @@ -2141,9 +2144,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006E RID: 110 - // (get) Token: 0x06000145 RID: 325 RVA: 0x0000B9A0 File Offset: 0x00009BA0 - // (set) Token: 0x06000146 RID: 326 RVA: 0x0000B9B8 File Offset: 0x00009BB8 + // Token: 0x170000B0 RID: 176 + // (get) Token: 0x060001D1 RID: 465 RVA: 0x0000ACB0 File Offset: 0x00008EB0 + // (set) Token: 0x060001D2 RID: 466 RVA: 0x0000ACC8 File Offset: 0x00008EC8 public bool SupportsWalkVR { [CompilerGenerated] @@ -2158,9 +2161,9 @@ namespace vaultgamesesh } } - // Token: 0x1700006F RID: 111 - // (get) Token: 0x06000147 RID: 327 RVA: 0x0000B9C4 File Offset: 0x00009BC4 - // (set) Token: 0x06000148 RID: 328 RVA: 0x0000B9DC File Offset: 0x00009BDC + // Token: 0x170000B1 RID: 177 + // (get) Token: 0x060001D3 RID: 467 RVA: 0x0000ACD4 File Offset: 0x00008ED4 + // (set) Token: 0x060001D4 RID: 468 RVA: 0x0000ACEC File Offset: 0x00008EEC public bool SupportsTeleportVR { [CompilerGenerated] @@ -2175,62 +2178,62 @@ namespace vaultgamesesh } } - // Token: 0x17000070 RID: 112 - // (get) Token: 0x06000149 RID: 329 RVA: 0x0000B9E6 File Offset: 0x00009BE6 - // (set) Token: 0x0600014A RID: 330 RVA: 0x0000B9EE File Offset: 0x00009BEE + // Token: 0x170000B2 RID: 178 + // (get) Token: 0x060001D5 RID: 469 RVA: 0x0000ACF6 File Offset: 0x00008EF6 + // (set) Token: 0x060001D6 RID: 470 RVA: 0x0000ACFE File Offset: 0x00008EFE 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 + // Token: 0x170000B3 RID: 179 + // (get) Token: 0x060001D7 RID: 471 RVA: 0x0000AD07 File Offset: 0x00008F07 + // (set) Token: 0x060001D8 RID: 472 RVA: 0x0000AD0F File Offset: 0x00008F0F public int ReleaseStatus { get; set; } - // Token: 0x040000A2 RID: 162 + // Token: 0x040000E2 RID: 226 private ulong f000001; - // Token: 0x040000A3 RID: 163 + // Token: 0x040000E3 RID: 227 private string f000002; - // Token: 0x040000A4 RID: 164 + // Token: 0x040000E4 RID: 228 private string f000003; - // Token: 0x040000A5 RID: 165 + // Token: 0x040000E5 RID: 229 private ulong f000076; - // Token: 0x040000A6 RID: 166 + // Token: 0x040000E6 RID: 230 private string f000036; - // Token: 0x040000A7 RID: 167 + // Token: 0x040000E7 RID: 231 private int f000006; - // Token: 0x040000A8 RID: 168 + // Token: 0x040000E8 RID: 232 private int f000007; - // Token: 0x040000A9 RID: 169 + // Token: 0x040000E9 RID: 233 private bool f000017; - // Token: 0x040000AA RID: 170 + // Token: 0x040000EA RID: 234 private bool f000077; - // Token: 0x040000AB RID: 171 + // Token: 0x040000EB RID: 235 private bool f000018; - // Token: 0x040000AC RID: 172 + // Token: 0x040000EC RID: 236 private bool f000019; - // Token: 0x040000AD RID: 173 + // Token: 0x040000ED RID: 237 private bool f00001a; - // Token: 0x040000AE RID: 174 + // Token: 0x040000EE RID: 238 private bool f00001b; } - // Token: 0x0200002F RID: 47 + // Token: 0x02000041 RID: 65 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 + // Token: 0x170000B4 RID: 180 + // (get) Token: 0x060001DA RID: 474 RVA: 0x0000AD24 File Offset: 0x00008F24 + // (set) Token: 0x060001DB RID: 475 RVA: 0x0000AD3C File Offset: 0x00008F3C public string RoomName { [CompilerGenerated] @@ -2245,9 +2248,9 @@ namespace vaultgamesesh } } - // Token: 0x17000073 RID: 115 - // (get) Token: 0x06000150 RID: 336 RVA: 0x0000BA38 File Offset: 0x00009C38 - // (set) Token: 0x06000151 RID: 337 RVA: 0x0000BA50 File Offset: 0x00009C50 + // Token: 0x170000B5 RID: 181 + // (get) Token: 0x060001DC RID: 476 RVA: 0x0000AD48 File Offset: 0x00008F48 + // (set) Token: 0x060001DD RID: 477 RVA: 0x0000AD60 File Offset: 0x00008F60 public long RoomId { [CompilerGenerated] @@ -2262,9 +2265,9 @@ namespace vaultgamesesh } } - // Token: 0x17000074 RID: 116 - // (get) Token: 0x06000152 RID: 338 RVA: 0x0000BA5C File Offset: 0x00009C5C - // (set) Token: 0x06000153 RID: 339 RVA: 0x0000BA74 File Offset: 0x00009C74 + // Token: 0x170000B6 RID: 182 + // (get) Token: 0x060001DE RID: 478 RVA: 0x0000AD6C File Offset: 0x00008F6C + // (set) Token: 0x060001DF RID: 479 RVA: 0x0000AD84 File Offset: 0x00008F84 public string ImageName { [CompilerGenerated] @@ -2279,22 +2282,22 @@ namespace vaultgamesesh } } - // Token: 0x040000AF RID: 175 + // Token: 0x040000EF RID: 239 private string f00000a; - // Token: 0x040000B0 RID: 176 + // Token: 0x040000F0 RID: 240 private long f00002e; - // Token: 0x040000B1 RID: 177 + // Token: 0x040000F1 RID: 241 private string f000003; } - // Token: 0x02000030 RID: 48 + // Token: 0x02000042 RID: 66 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 + // Token: 0x170000B7 RID: 183 + // (get) Token: 0x060001E1 RID: 481 RVA: 0x0000AD98 File Offset: 0x00008F98 + // (set) Token: 0x060001E2 RID: 482 RVA: 0x0000ADB0 File Offset: 0x00008FB0 public string Tag { [CompilerGenerated] @@ -2309,9 +2312,9 @@ namespace vaultgamesesh } } - // Token: 0x17000076 RID: 118 - // (get) Token: 0x06000157 RID: 343 RVA: 0x0000BAAC File Offset: 0x00009CAC - // (set) Token: 0x06000158 RID: 344 RVA: 0x0000BAC4 File Offset: 0x00009CC4 + // Token: 0x170000B8 RID: 184 + // (get) Token: 0x060001E3 RID: 483 RVA: 0x0000ADBC File Offset: 0x00008FBC + // (set) Token: 0x060001E4 RID: 484 RVA: 0x0000ADD4 File Offset: 0x00008FD4 public int Type { [CompilerGenerated] @@ -2326,35 +2329,35 @@ namespace vaultgamesesh } } - // Token: 0x040000B2 RID: 178 + // Token: 0x040000F2 RID: 242 private string f00000a; - // Token: 0x040000B3 RID: 179 + // Token: 0x040000F3 RID: 243 private int f00000b; } - // Token: 0x02000031 RID: 49 + // Token: 0x02000043 RID: 67 public enum enum064 { } - // Token: 0x02000032 RID: 50 + // Token: 0x02000044 RID: 68 public enum enum065 { } - // Token: 0x02000033 RID: 51 + // Token: 0x02000045 RID: 69 public enum enum066 { } - // Token: 0x02000034 RID: 52 + // Token: 0x02000046 RID: 70 public enum enum067 { } } -} \ No newline at end of file +}