64 Commits

Author SHA1 Message Date
recroom2016
5b97080e3a Update version.txt 2022-07-21 23:58:58 -04:00
recroom2016tutorial
0555b44676 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-07-21 23:49:41 -04:00
recroom2016tutorial
869f5ff80b OPENREC 7 2022-07-21 23:49:29 -04:00
recroom2016
bb7c545caf Update changelog.txt 2022-06-08 20:57:25 -04:00
recroom2016
1bdf95f5e9 Create configv2.txt 2022-06-08 20:37:47 -04:00
recroom2016
74c8487c65 Add files via upload 2022-06-06 17:49:50 -04:00
recroom2016
a331672d4f Delete A_black_image.jpg.jpg 2022-06-06 17:49:06 -04:00
recroom2016
d8c03700cc Add files via upload 2022-06-06 17:41:50 -04:00
recroom2016
32ba6f8d12 Add files via upload 2022-06-06 17:33:30 -04:00
recroom2016
5e276a02cd Update changelog.txt 2022-06-05 14:36:51 -04:00
recroom2016
f4547c9dc3 Update changelog.txt 2022-06-05 14:36:23 -04:00
recroom2016
bf34030107 Update changelog.txt 2022-06-05 14:33:23 -04:00
recroom2016
154220dace Create changelog.txt 2022-06-05 14:30:16 -04:00
recroom2016tutorial
696feb3887 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-06-04 23:07:36 -04:00
recroom2016tutorial
02d5026f7a brhgdfgdf 2022-06-04 23:07:00 -04:00
Nexus
07aff4769c Update banned.txt 2022-06-04 17:50:57 +01:00
recroom2016
25bb2f2db8 Update download.txt 2022-06-03 22:14:07 -04:00
recroom2016
0f1955581b Create download.txt 2022-06-03 21:31:34 -04:00
Nexus
b81f3a1945 Update banned.txt 2022-05-20 17:42:24 +01:00
Nexus
f80b4e1ea2 Update banned.txt 2022-05-20 17:40:18 +01:00
Nexus
16c581c73f Update banned.txt 2022-05-20 17:32:01 +01:00
Nexus
fd2c36f3dd Update banned.txt 2022-05-20 17:28:24 +01:00
Nexus
17f85974bd Update banned.txt 2022-05-17 18:33:21 +01:00
Nexus
3d9f7cc873 Update banned.txt 2022-05-17 18:32:40 +01:00
Nexus
92a031fc7f Update banned.txt 2022-05-17 18:30:18 +01:00
recroom2016
8a5396e8df Update banned.txt 2022-05-14 22:20:49 -04:00
recroom2016
9bac769056 Update banned.txt 2022-05-14 22:17:09 -04:00
recroom2016
38af2edbd8 Update banned.txt 2022-05-14 22:12:53 -04:00
recroom2016
5b5712bcc1 Update changelog.txt 2022-05-11 22:26:44 -04:00
recroom2016
51c6a2ace4 Update changelog.txt 2022-05-11 22:24:50 -04:00
recroom2016
5aa4f2c4ae Update version.txt 2022-05-11 22:22:53 -04:00
recroom2016tutorial
a7ace2f895 Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-05-11 21:51:06 -04:00
recroom2016tutorial
a2775a6d95 openrec 0.6.9 2022-05-11 21:51:00 -04:00
Nexus
a5ef24a1e1 Create README.md 2022-05-08 23:18:23 +01:00
recroom2016
dbfb132d6c Create contextdrops.json 2022-05-07 21:54:42 -04:00
recroom2016
6fe87123b5 Update avatar.txt 2022-05-07 21:16:32 -04:00
recroom2016tutorial
9a86d1d88e Merge branch 'master' of https://github.com/recroom2016/OpenRec 2022-05-07 17:57:58 -04:00
recroom2016tutorial
f39c7cefa3 openrec 0.7.0 2022-05-07 17:57:37 -04:00
recroom2016
1f94738349 Update motd.txt 2022-05-02 21:07:23 -04:00
recroom2016
02e55a3428 Update builds.txt 2022-05-02 21:07:02 -04:00
recroom2016
0137b18e98 Update hotrooms.txt 2022-05-02 21:06:30 -04:00
recroom2016
2a6788cf9d Update builds.txt 2022-05-01 21:01:03 -04:00
recroom2016
d615e009dd Create builds.txt 2022-05-01 20:35:58 -04:00
recroom2016
33540f1a25 Update banned.txt 2022-04-30 17:26:59 -04:00
recroom2016
aae35a6c28 Update banned.txt 2022-04-18 23:16:47 -04:00
recroom2016
e08fb285f8 Update version.txt 2022-04-18 10:12:02 -04:00
recroom2016
1ae28dc203 Update version.txt 2022-04-17 23:05:22 -04:00
recroom2016
e00ac817a1 Update banned.txt 2022-04-10 10:43:38 -04:00
recroom2016
c68360e030 Update rcslideshow.txt 2022-04-06 21:26:35 -04:00
recroom2016
1cc3ad4a0b Rename rcslideshow to rcslideshow.txt 2022-04-05 18:18:15 -04:00
recroom2016
230058717c Create rcslideshow 2022-04-05 18:16:01 -04:00
recroom2016
15e21f6610 Update version.txt 2022-04-03 22:43:32 -04:00
recroom2016
d8a619efcd Update changelog.txt 2022-04-03 22:43:09 -04:00
recroom2016
cb7414eb8d Update avataritems2.txt 2022-04-03 22:34:33 -04:00
recroom2016tutorial
02dfb1e409 0.6.1 2022-04-03 22:28:45 -04:00
recroom2016
5aff58844a Create avataritems.txt 2022-04-02 23:32:04 -04:00
recroom2016
21553584c1 Rename avataritems.txt to avataritems2.txt 2022-04-02 23:31:46 -04:00
recroom2016
41c603233e Update avataritems.txt 2022-04-02 23:30:34 -04:00
recroom2016
7d4c449151 Update avataritems.txt 2022-04-02 23:18:51 -04:00
recroom2016
ebd28aef74 Create motd.txt 2022-04-02 22:10:46 -04:00
recroom2016
8057427772 Update version.txt 2022-03-29 22:51:44 -04:00
recroom2016
0e0da58f81 Update changelog.txt 2022-03-29 22:51:34 -04:00
recroom2016tutorial
001423935c 0.6.0 2022-03-29 22:34:41 -04:00
recroom2016tutorial
c000b151bf new build 2022-03-28 23:12:13 -04:00
42 changed files with 1474 additions and 1037 deletions

63
.gitattributes vendored
View File

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

View File

@@ -18,7 +18,7 @@ namespace server
{ {
try try
{ {
Console.WriteLine("APIServer.cs has started."); Console.WriteLine("[APIServer.cs] has started.");
new Thread(new ThreadStart(this.StartListen)).Start(); new Thread(new ThreadStart(this.StartListen)).Start();
} }
catch (Exception ex) catch (Exception ex)
@@ -30,19 +30,21 @@ namespace server
{ {
try try
{ {
//2 different servers for 2 different stages of the game, the apis change so much idk anymore //2 different servers for 3 different stages of the game, the apis change so much idk anymore
this.listener.Prefixes.Add("http://localhost:" + start.Program.version + "/"); this.listener.Prefixes.Add("http://localhost:" + start.Program.version + "/");
if (start.Program.version == "2016") if (start.Program.version == "2016")
{ {
for (; ; ) for (; ; )
{ {
this.listener.Start(); this.listener.Start();
Console.WriteLine("APIServer.cs is listening."); Console.WriteLine("[APIServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext(); HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request; HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response; HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl; string rawUrl = request.RawUrl;
string Url = ""; string Url = "";
bool image = false;
byte[] imagebyte = null;
if (rawUrl.StartsWith("/api/")) if (rawUrl.StartsWith("/api/"))
{ {
Url = rawUrl.Remove(0, 5); Url = rawUrl.Remove(0, 5);
@@ -61,7 +63,10 @@ namespace server
{ {
Console.WriteLine("API Requested (rawUrl): " + rawUrl); Console.WriteLine("API Requested (rawUrl): " + rawUrl);
} }
if (!(Url == "images/v2/profile"))
{
Console.WriteLine("API Data: " + text); Console.WriteLine("API Data: " + text);
}
if (Url.StartsWith("versioncheck")) if (Url.StartsWith("versioncheck"))
{ {
s = VersionCheckResponse; s = VersionCheckResponse;
@@ -86,9 +91,14 @@ namespace server
{ {
s = Amplitude.amplitude(); s = Amplitude.amplitude();
} }
if (Url.StartsWith("players/v1/")) if (Url == "players/v1/getorcreate")
{ {
s = getorcreate.GetOrCreate(CachedPlayerID); 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") if (Url == "avatar/v2")
{ {
@@ -124,10 +134,6 @@ namespace server
{ {
s = File.ReadAllText("SaveData\\avataritems.txt"); s = File.ReadAllText("SaveData\\avataritems.txt");
} }
if (Url == "equipment/v1/getUnlocked")
{
s = File.ReadAllText("SaveData\\equipment.txt");
}
if (Url == "avatar/v2/gifts") if (Url == "avatar/v2/gifts")
{ {
s = BracketResponse; s = BracketResponse;
@@ -144,24 +150,26 @@ namespace server
{ {
s = Activities.Charades.words(); s = Activities.Charades.words();
} }
if (Url == "gamesessions/v2/joinrandom") if (Url == "images/v2/profile/") //disabled with a / at the end
{ {
s = gamesesh.GameSessions.JoinRandom(text); s = BracketResponse;
} int NewLength = text.Length - 50;
if (Url == "gamesessions/v2/create") File.WriteAllBytes("SaveData\\profileimage.png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(NewLength - 48, 48)));
{
s = gamesesh.GameSessions.Create(text);
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = JsonConvert.SerializeObject(Sanitize.GetSanitize());
} }
Console.WriteLine("API Response: " + s); Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s); byte[] bytes = null;
if (image == true)
{
bytes = imagebyte;
}
else
{
bytes = Encoding.UTF8.GetBytes(s);
}
response.ContentLength64 = (long)bytes.Length; response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream; Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length); outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(200); Thread.Sleep(20);
outputStream.Close(); outputStream.Close();
this.listener.Stop(); this.listener.Stop();
} }
@@ -171,7 +179,7 @@ namespace server
for (; ; ) for (; ; )
{ {
this.listener.Start(); this.listener.Start();
Console.WriteLine("APIServer.cs is listening."); Console.WriteLine("[APIServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext(); HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request; HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response; HttpListenerResponse response = context.Response;
@@ -237,10 +245,18 @@ namespace server
if (Url.StartsWith("players/v1/")) if (Url.StartsWith("players/v1/"))
{ {
s = getorcreate.GetOrCreate(CachedPlayerID); s = getorcreate.GetOrCreate(CachedPlayerID);
}
if (Url == "players/v1/list")
{
s = BracketResponse;
} }
if (Url == "avatar/v2") if (Url == "avatar/v2")
{ {
s = File.ReadAllText("SaveData\\avatar.txt"); s = File.ReadAllText("SaveData\\avatar.txt");
}
if (Url == "avatar/v2/saved")
{
s = BracketResponse;
} }
if (Url == "avatar/v2/set") if (Url == "avatar/v2/set")
{ {
@@ -302,14 +318,20 @@ namespace server
} }
if (rawUrl == "//api/sanitize/v1/isPure") if (rawUrl == "//api/sanitize/v1/isPure")
{ {
s = JsonConvert.SerializeObject(Sanitize.GetSanitize()); 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); Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s); byte[] bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length; response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream; Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length); outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(200); Thread.Sleep(20);
outputStream.Close(); outputStream.Close();
this.listener.Stop(); this.listener.Stop();
} }
@@ -319,7 +341,7 @@ namespace server
for (; ; ) for (; ; )
{ {
this.listener.Start(); this.listener.Start();
Console.WriteLine("APIServer.cs is listening."); Console.WriteLine("[APIServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext(); HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request; HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response; HttpListenerResponse response = context.Response;
@@ -433,7 +455,7 @@ namespace server
{ {
if (CachedVersionMonth == 09) if (CachedVersionMonth == 09)
{ {
s = File.ReadAllText("SaveData\\storefronts2.txt"); s = BracketResponse;
} }
else else
{ {
@@ -448,6 +470,10 @@ namespace server
{ {
s = File.ReadAllText("SaveData\\avatar.txt"); s = File.ReadAllText("SaveData\\avatar.txt");
} }
if (Url == "avatar/v2/saved")
{
s = BracketResponse;
}
if (Url == "avatar/v2/set") if (Url == "avatar/v2/set")
{ {
//for later 2018 builds compatibility //for later 2018 builds compatibility
@@ -476,7 +502,14 @@ namespace server
} }
if (Url == "avatar/v3/items") if (Url == "avatar/v3/items")
{ {
s = File.ReadAllText("SaveData\\avataritems.txt"); if (CachedVersionMonth == 09)
{
s = File.ReadAllText("SaveData\\avataritems2.txt");
}
else
{
s = File.ReadAllText("SaveData\\avataritems2.txt");
}
} }
if (Url == "equipment/v1/getUnlocked") if (Url == "equipment/v1/getUnlocked")
{ {
@@ -583,27 +616,35 @@ namespace server
} }
if (Url == "rooms/v1/clone") if (Url == "rooms/v1/clone")
{ {
s = BracketResponse; //JsonConvert.SerializeObject(c000099.m00000a(text)); s = JsonConvert.SerializeObject(c000099.m00000a(text));
} }
if (Url.StartsWith("rooms/v2/saveData")) if (Url.StartsWith("rooms/v2/saveData"))
{ {
string text26 = "5GDNL91ZY43PXN2YJENTBL"; //string text26 = "5GDNL91ZY43PXN2YJENTBL";
string path = c000004.m000007() + c000041.f000043.Room.Name; //string path = c000004.m000007() + c000041.f000043.Room.Name;
File.WriteAllBytes(string.Concat(new string[] //File.WriteAllBytes(string.Concat(new string[]
{ //{
c000004.m000007(), //c000004.m000007(),
c000041.f000043.Room.Name, //c000041.f000043.Room.Name,
"\\room\\", //"\\room\\",
text26, //text26,
".room" //".room"
}), m00005d(list.ToArray(), "data.dat")); //}), m00005d(list.ToArray(), "data.dat"));
c000041.f000043.Scenes[0].DataBlobName = text26 + ".room"; //c000041.f000043.Scenes[0].DataBlobName = text26 + ".room";
c000041.f000043.Scenes[0].DataModifiedAt = DateTime.Now; //c000041.f000043.Scenes[0].DataModifiedAt = DateTime.Now;
File.WriteAllText(c000004.m000007() + c000041.f000043.Room.Name + "\\RoomDetails.json", JsonConvert.SerializeObject(c000041.f000043)); //File.WriteAllText(c000004.m000007() + c000041.f000043.Room.Name + "\\RoomDetails.json", JsonConvert.SerializeObject(c000041.f000043));
s = JsonConvert.SerializeObject(c00005d.m000035()); //s = JsonConvert.SerializeObject(c00005d.m000035());
} }
if (Url == "presence/v3/heartbeat") 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())); s = JsonConvert.SerializeObject(Notification2018.Reponse.createResponse(4, c000020.m000027()));
} }
if (Url == "rooms/v1/featuredRoomGroup") if (Url == "rooms/v1/featuredRoomGroup")
@@ -614,18 +655,36 @@ namespace server
{ {
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/hotrooms.txt"); s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/hotrooms.txt");
} }
if (Url.StartsWith("rooms/v4/details/29")) if (Url.StartsWith("rooms/v2/instancedetails"))
{
s = BracketResponse;
}
if (Url.StartsWith("rooms/v2/search?value="))
{
CustomRooms.RoomGet(Url.Remove(0, 22));
}
if (Url == "rooms/v4/details/29")
{ {
s = File.ReadAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json"); s = File.ReadAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json");
Thread.Sleep(100);
}
else if (Url.StartsWith("rooms/v4/details"))
{
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); Console.WriteLine("API Response: " + s);
bytes = Encoding.UTF8.GetBytes(s); bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length; response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream; Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length); outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(100); Thread.Sleep(400);
outputStream.Close(); outputStream.Close();
this.listener.Stop(); this.listener.Stop();
} }
} }
} }
@@ -633,9 +692,11 @@ namespace server
{ {
Console.WriteLine(ex4); Console.WriteLine(ex4);
File.WriteAllText("crashdump.txt", Convert.ToString(ex4)); File.WriteAllText("crashdump.txt", Convert.ToString(ex4));
this.listener.Close();
new APIServer();
} }
} }
public static ulong CachedPlayerID = 1; public static ulong CachedPlayerID = ulong.Parse(File.ReadAllText("SaveData\\Profile\\userid.txt"));
public static ulong CachedPlatformID = 10000; public static ulong CachedPlatformID = 10000;
public static int CachedVersionMonth = 01; public static int CachedVersionMonth = 01;
@@ -643,161 +704,15 @@ namespace server
public static string BracketResponse = "[]"; public static string BracketResponse = "[]";
public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}"; public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}";
public static string VersionCheckResponse2 = "{\"VersionStatus\":0}";
public static string VersionCheckResponse = "{\"ValidVersion\":true}"; public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}"; 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 ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"DormRoomBucket\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2025-12-27T21:27:38.1880399-08:00\"}";
public static string ChallengesV1GetCurrent = "{\"Success\":true,\"Message\":\"OpenRec\"}"; 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 ChecklistV1Current = "[{\"Order\":0,\"Objective\":3000,\"Count\":3,\"CreditAmount\":100},{\"Order\":1,\"Objective\":3001,\"Count\":3,\"CreditAmount\":100},{\"Order\":2,\"Objective\":3002,\"Count\":3,\"CreditAmount\":100}]";
public static string Banned = "{\"ReportCategory\":1,\"Duration\":10000000000000000,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}"; public static string Banned = "{\"ReportCategory\":1,\"Duration\":10000000000000000,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}";
private HttpListener listener = new HttpListener(); private HttpListener listener = new HttpListener();
private static byte[] m00005d(byte[] p0, string p1)
{
BinaryReader binaryReader = new BinaryReader(new MemoryStream(p0));
try
{
while (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
bool flag = true;
bool flag2 = false;
APIServer.c0000a7 c0000a = new APIServer.c0000a7();
while (flag)
{
List<byte> list = new List<byte>();
bool flag3 = true;
while (flag3)
{
byte b = binaryReader.ReadByte();
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
if (b == 13)
{
binaryReader.ReadByte();
flag3 = false;
}
else
{
list.Add(b);
}
}
else
{
flag3 = false;
}
}
string @string = Encoding.ASCII.GetString(list.ToArray());
Console.WriteLine(@string);
if (@string.StartsWith("Content-Length: "))
{
string s = @string.Remove(0, 16);
c0000a.m000017(int.Parse(s));
}
if (@string.Contains(p1))
{
Console.WriteLine("Has file");
flag2 = true;
}
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
if (binaryReader.ReadByte() == 13)
{
flag = false;
binaryReader.ReadByte();
}
else
{
binaryReader.BaseStream.Position -= 1L;
}
}
else
{
flag = false;
}
}
if (flag2)
{
List<byte> list2 = new List<byte>();
for (; ; )
{
if (binaryReader.ReadByte() == 13)
{
if (binaryReader.ReadByte() == 10)
{
if (binaryReader.ReadByte() == 45)
{
break;
}
binaryReader.BaseStream.Position -= 3L;
}
else
{
binaryReader.BaseStream.Position -= 2L;
}
}
else
{
binaryReader.BaseStream.Position -= 1L;
}
byte item = binaryReader.ReadByte();
list2.Add(item);
}
return list2.ToArray();
}
if (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
{
binaryReader.ReadBytes(c0000a.m000016());
}
}
}
finally
{
((IDisposable)binaryReader).Dispose();
}
return null;
}
public sealed class c0000a7
{
public string m000001()
{
return this.f00000a;
}
public void m000034(string p0)
{
this.f00000a = p0;
}
public string m000005()
{
return this.f000002;
}
public void m00003f(string p0)
{
this.f000002 = p0;
}
public int m000016()
{
return this.f000020;
}
public void m000017(int p0)
{
this.f000020 = p0;
}
public byte[] m000061()
{
return this.f000084;
}
public void m000062(byte[] p0)
{
this.f000084 = p0;
}
private string f00000a;
private string f000002;
private int f000020;
private byte[] f000084;
}
} }
} }

View File

@@ -4,13 +4,13 @@ using Newtonsoft.Json;
namespace api namespace api
{ {
// Token: 0x0200000B RID: 11 // Token: 0x02000021 RID: 33
internal class Activities internal class Activities
{ {
// Token: 0x0200000C RID: 12 // Token: 0x02000069 RID: 105
public class Charades 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() public static string words()
{ {
List<Activities.Charades.word> value = new List<Activities.Charades.word> List<Activities.Charades.word> value = new List<Activities.Charades.word>
@@ -179,17 +179,17 @@ namespace api
return JsonConvert.SerializeObject(value); return JsonConvert.SerializeObject(value);
} }
// Token: 0x0200000D RID: 13 // Token: 0x02000073 RID: 115
public class word public class word
{ {
// Token: 0x17000004 RID: 4 // Token: 0x170001AA RID: 426
// (get) Token: 0x0600001F RID: 31 RVA: 0x000020DC File Offset: 0x000002DC // (get) Token: 0x060003F3 RID: 1011 RVA: 0x0000D196 File Offset: 0x0000B396
// (set) Token: 0x06000020 RID: 32 RVA: 0x000020E4 File Offset: 0x000002E4 // (set) Token: 0x060003F4 RID: 1012 RVA: 0x0000D19E File Offset: 0x0000B39E
public string EN_US { get; set; } public string EN_US { get; set; }
// Token: 0x17000005 RID: 5 // Token: 0x170001AB RID: 427
// (get) Token: 0x06000021 RID: 33 RVA: 0x000020ED File Offset: 0x000002ED // (get) Token: 0x060003F5 RID: 1013 RVA: 0x0000D1A7 File Offset: 0x0000B3A7
// (set) Token: 0x06000022 RID: 34 RVA: 0x000020F5 File Offset: 0x000002F5 // (set) Token: 0x060003F6 RID: 1014 RVA: 0x0000D1AF File Offset: 0x0000B3AF
public int Difficulty { get; set; } public int Difficulty { get; set; }
} }
} }

View File

@@ -51,7 +51,7 @@ namespace api
return JsonConvert.SerializeObject(new Config2 return JsonConvert.SerializeObject(new Config2
{ {
MessageOfTheDay = "Default MOTD", MessageOfTheDay = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/motd.txt"),
CdnBaseUri = "http://localhost:20182/", CdnBaseUri = "http://localhost:20182/",
LevelProgressionMaps = new List<LevelProgressionEntry> LevelProgressionMaps = new List<LevelProgressionEntry>
{ {

177
Consumable.cs Normal file
View File

@@ -0,0 +1,177 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace api
{
class Consumable
{
// Token: 0x040001E4 RID: 484
public static List<Consumable.c00009f> f000026;
// Token: 0x0200009F RID: 159
public class c00009f
{
// Token: 0x1700010B RID: 267
// (get) Token: 0x06000376 RID: 886
// (set) Token: 0x06000377 RID: 887
public long Id
{
get
{
return this.f00002c;
}
set
{
this.f00002c = value;
}
}
// Token: 0x1700010C RID: 268
// (get) Token: 0x06000378 RID: 888
// (set) Token: 0x06000379 RID: 889
public string ConsumableItemDesc
{
get
{
return this.f000002;
}
set
{
this.f000002 = value;
}
}
// Token: 0x1700010D RID: 269
// (get) Token: 0x0600037A RID: 890
// (set) Token: 0x0600037B RID: 891
public DateTime CreatedAt
{
get
{
return this.f00003a;
}
set
{
this.f00003a = value;
}
}
// Token: 0x1700010E RID: 270
// (get) Token: 0x0600037C RID: 892
// (set) Token: 0x0600037D RID: 893
public int Count
{
get
{
return this.f000004;
}
set
{
this.f000004 = value;
}
}
// Token: 0x1700010F RID: 271
// (get) Token: 0x0600037E RID: 894
// (set) Token: 0x0600037F RID: 895
public int InitialCount
{
get
{
return this.f000005;
}
set
{
this.f000005 = value;
}
}
// Token: 0x17000110 RID: 272
// (get) Token: 0x06000380 RID: 896
// (set) Token: 0x06000381 RID: 897
public int UnlockedLevel
{
get
{
return this.f000006;
}
set
{
this.f000006 = value;
}
}
// Token: 0x17000111 RID: 273
// (get) Token: 0x06000382 RID: 898
// (set) Token: 0x06000383 RID: 899
public bool IsActive
{
get
{
return this.f000016;
}
set
{
this.f000016 = value;
}
}
// Token: 0x17000112 RID: 274
// (get) Token: 0x06000384 RID: 900
// (set) Token: 0x06000385 RID: 901
public int? ActiveDurationMinutes
{
get
{
return this.f000081;
}
set
{
this.f000081 = value;
}
}
// Token: 0x040001E6 RID: 486
private long f00002c;
// Token: 0x040001E7 RID: 487
private string f000002;
// Token: 0x040001E8 RID: 488
private DateTime f00003a;
// Token: 0x040001E9 RID: 489
private int f000004;
// Token: 0x040001EA RID: 490
private int f000005;
// Token: 0x040001EB RID: 491
private int f000006;
// Token: 0x040001EC RID: 492
private bool f000016;
// Token: 0x040001ED RID: 493
private int? f000081;
}
}
}

View File

@@ -6,25 +6,30 @@ using Newtonsoft.Json;
using vaultgamesesh; using vaultgamesesh;
using System.IO; using System.IO;
using server; using server;
using api;
namespace api namespace api
{ {
class CustomRooms class CustomRooms
{ {
public static void RoomDecode(string roomname, string roomsceneid, string imagename, string datablob) public static void RoomDecode(string text)
{ {
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomname.txt", roomname); ModernRooms.Root root2 = JsonConvert.DeserializeObject<ModernRooms.Root>(text);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\datablob.txt", datablob); File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomname.txt", root2.Name);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt", roomsceneid); File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomid.txt", Convert.ToString(root2.RoomId));
File.WriteAllText("SaveData\\Rooms\\Downloaded\\imagename.txt", imagename); File.WriteAllText("SaveData\\Rooms\\Downloaded\\datablob.txt", root2.SubRooms[0].DataBlob);
ulong rand = Convert.ToUInt64(new Random().Next(0, 99)); 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));
room = new Room room = new Room
{ {
RoomId = rand, RoomId = 29,
Name = roomname, Name = root2.Name,
Description = "OpenRec Downloaded Room", Description = "OpenRec Downloaded Room",
ImageName = imagename, ImageName = root2.ImageName,
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -42,14 +47,14 @@ namespace api
new Scene() new Scene()
{ {
RoomSceneId = 1, RoomSceneId = 1,
RoomId = rand, RoomId = 29,
RoomSceneLocationId = "a75f7547-79eb-47c6-8986-6767abcb4f92", RoomSceneLocationId = root2.SubRooms[0].UnitySceneId,
Name = "Home", Name = "Home",
IsSandbox = true, IsSandbox = true,
DataBlobName = datablob, DataBlobName = root2.SubRooms[0].DataBlob,
MaxPlayers = 20, MaxPlayers = 20,
CanMatchmakeInto = true, CanMatchmakeInto = true,
DataModifiedAt = DateTime.Now, DataModifiedAt = root2.SubRooms[0].DataSavedAt,
ReplicationId = null, ReplicationId = null,
UseLevelBasedMatchmaking = false, UseLevelBasedMatchmaking = false,
UseAgeBasedMatchmaking = false, UseAgeBasedMatchmaking = false,
@@ -66,9 +71,9 @@ namespace api
InvitedCoOwners = new List<ulong>(), InvitedCoOwners = new List<ulong>(),
Hosts = new List<ulong>(), Hosts = new List<ulong>(),
InvitedHosts = new List<ulong>(), InvitedHosts = new List<ulong>(),
CheerCount = 999, CheerCount = root2.Stats.CheerCount,
FavoriteCount = 999, FavoriteCount = root2.Stats.FavoriteCount,
VisitCount = 999, VisitCount = root2.Stats.VisitCount,
Tags = new List<aTag> Tags = new List<aTag>
{ {
new aTag() new aTag()
@@ -82,6 +87,84 @@ namespace api
File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root)); File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root));
} }
public static void RoomGet(string roomnames)
{
string webdata = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomnames + "&include=297");
ModernRooms.Root root2 = JsonConvert.DeserializeObject<ModernRooms.Root>(webdata);
room = new Room
{
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<Scene>
{
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<ulong>(),
InvitedCoOwners = new List<ulong>(),
Hosts = new List<ulong>(),
InvitedHosts = new List<ulong>(),
CheerCount = root2.Stats.CheerCount,
FavoriteCount = root2.Stats.FavoriteCount,
VisitCount = root2.Stats.VisitCount,
Tags = new List<aTag>
{
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 Room room { get; set; }
public static List<Scene> scene { get; set; } public static List<Scene> scene { get; set; }
public static Root root { get; set; } public static Root root { get; set; }

View File

@@ -1 +1 @@
{"OutfitSelections":"b33dbeee-5bdd-443d-aa6a-761248054e08,,,,1;6d48c545-22bb-46c1-a29d-0a38af387143,,,,2;6d48c545-22bb-46c1-a29d-0a38af387143,,,,3;3757149b-f478-4975-81e5-d808a1bed8d5,,,,1;e15b13a7-9e9a-4b32-ba2c-0cb31ed55a8c,,,,1;3a790be3-2937-44d4-be01-b5d65353bd3d,,,,3;3a790be3-2937-44d4-be01-b5d65353bd3d,,,,2;b861e5f3-fc6d-43b3-9861-c1b45cb493a8,,,,0;61ba3c90-c81e-4deb-bc79-50c0f1fe3e83,,,,0","SkinColor":"2d398478-37c4-4c4a-a471-fbcbe3e5b1f5","HairColor":"5ee30295-b05f-4e96-819e-5ac865b2c63d","FaceFeatures":""} {"OutfitSelections":"b33dbeee-5bdd-443d-aa6a-761248054e08,,,,1;6d48c545-22bb-46c1-a29d-0a38af387143,,,,2;6d48c545-22bb-46c1-a29d-0a38af387143,,,,3;102c625b-b988-4bf8-a2aa-a31ad7029cdc,bd4a84e2-b67a-4269-a26a-17fb23ddb09e,ccf1ccc1-e229-4157-bb74-f2cdef01e547,,0;d0a9262f-5504-46a7-bb10-7507503db58e,ba6b6e1a-a09a-4ba0-9523-552869f03336,,d461ca71-45c9-415e-8e09-ba93e8d73450,1;193a3bf9-abc0-4d78-8d63-92046908b1c5,,,,0;3a790be3-2937-44d4-be01-b5d65353bd3d,,,,2;3a790be3-2937-44d4-be01-b5d65353bd3d,,,,3;e15b13a7-9e9a-4b32-ba2c-0cb31ed55a8c,,,,1","FaceFeatures":"{\"ver\":3,\"eyeId\":\"AjGMoJhEcEehacRZjUMuDg\",\"eyePos\":{\"x\":0.0,\"y\":0.0},\"eyeScl\":0.0,\"mouthId\":\"FrZBRanXEEK29yKJ4jiMjg\",\"mouthPos\":{\"x\":0.0,\"y\":0.0},\"mouthScl\":0.0,\"beardColorId\":\"befcc00a-a2e6-48e4-864c-593d57bbbb5b\"}","SkinColor":"85343b16-d58a-4091-96d8-083a81fb03ae","HairColor":"befcc00a-a2e6-48e4-864c-593d57bbbb5b"}

File diff suppressed because one or more lines are too long

View File

@@ -1,13 +1,16 @@
Fourth public release of OpenRec. Feature Patch v0.6.9: sex build
-Added tutorial and info hints
-Added custom rooms back into 2018 (no saving yet)
-Added Profile Downloader
-Added build links tab
-Improved profile image changing
-Updated the UI more
Supports: Note: This release DOES NOT feature friending yet! This is just a feature patch before that is released in version 0.7.0.
-October 19th 2017
-May 30th 2018
-Added banning system
-Removed unnecessary code
-Slight UI improvements
Credits: Credits:
@Nexus0821 - Programmed and helped add in a lot of new features
@LucasOnDiscord#0210 - Adding potions @LucasOnDiscord#0210 - Adding potions
@GabeTheFirst#7335 - Tester when my game was broken @GabeTheFirst#7335 - Tester when my game was broken
@andry6702#9812 - Discovered custom room downloading for 2018

1
Download/configv2.txt Normal file
View File

@@ -0,0 +1 @@
{"MessageOfTheDay":"Welcome to OpenRec!\n\nBTW IF YOU SEE THIS, SHUT UP\nTHANK YOU\n","CdnBaseUri":"http://localhost:20182/","LevelProgressionMaps":[{"Level":0,"RequiredXp":1},{"Level":1,"RequiredXp":2},{"Level":2,"RequiredXp":3},{"Level":3,"RequiredXp":4},{"Level":4,"RequiredXp":5},{"Level":5,"RequiredXp":6},{"Level":6,"RequiredXp":7},{"Level":7,"RequiredXp":8},{"Level":8,"RequiredXp":9},{"Level":9,"RequiredXp":10},{"Level":10,"RequiredXp":11},{"Level":11,"RequiredXp":12},{"Level":12,"RequiredXp":13},{"Level":13,"RequiredXp":14},{"Level":14,"RequiredXp":15},{"Level":15,"RequiredXp":16},{"Level":16,"RequiredXp":17},{"Level":17,"RequiredXp":18},{"Level":18,"RequiredXp":19},{"Level":19,"RequiredXp":20},{"Level":20,"RequiredXp":21}],"MatchmakingParams":{"PreferFullRoomsFrequency":1.0,"PreferEmptyRoomsFrequency":0.0},"DailyObjectives":[[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}],[{"type":20,"score":1},{"type":21,"score":1},{"type":22,"score":1}]],"ConfigTable":[{"Key":"Gift.DropChance","Value":"0.5"},{"Key":"Gift.XP","Value":"0.5"}],"PhotonConfig":{"CloudRegion":"us","CrcCheckEnabled":false,"EnableServerTracingAfterDisconnect":false}}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
0.5.0 0.6.95

View File

@@ -59,7 +59,7 @@ namespace gamesesh
{ {
return JsonConvert.SerializeObject(new GameSessions.PlayerStatus return JsonConvert.SerializeObject(new GameSessions.PlayerStatus
{ {
PlayerId = APIServer.CachedPlayerID, PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
IsOnline = true, IsOnline = true,
InScreenMode = false, InScreenMode = false,
GameSession = Config.localGameSession GameSession = Config.localGameSession
@@ -110,7 +110,7 @@ namespace gamesesh
{ {
return new GameSessions.PlayerStatus return new GameSessions.PlayerStatus
{ {
PlayerId = APIServer.CachedPlayerID, PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
IsOnline = true, IsOnline = true,
InScreenMode = false, InScreenMode = false,
GameSession = Config.localGameSession GameSession = Config.localGameSession

View File

@@ -54,6 +54,7 @@ namespace api2018
} }
} }
} }
}); });
} }

View File

@@ -51,13 +51,11 @@ namespace api2017
ForceJuniorImages = false, ForceJuniorImages = false,
HasBirthday = true HasBirthday = true
} }
}); });
} }
// Token: 0x06000199 RID: 409 RVA: 0x00002BBE File Offset: 0x00000DBE // Token: 0x06000199 RID: 409 RVA: 0x00002BBE File Offset: 0x00000DBE
public static string playerName()
{
return File.ReadAllText("playerNameConfig.txt");
}
} }
} }

View File

@@ -15,7 +15,7 @@ namespace server
{ {
try try
{ {
Console.WriteLine("ImageServer.cs has started."); Console.WriteLine("[ImageServer.cs] has started.");
new Thread(new ThreadStart(this.StartListen)).Start(); new Thread(new ThreadStart(this.StartListen)).Start();
} }
catch (Exception ex) catch (Exception ex)
@@ -30,22 +30,57 @@ namespace server
this.listener.Prefixes.Add("http://localhost:20182/"); this.listener.Prefixes.Add("http://localhost:20182/");
for (; ; ) for (; ; )
{ {
//image server always send out profile image for now, might cause issues later but ill fix it when I need too
this.listener.Start(); this.listener.Start();
Console.WriteLine("ImageServer.cs is listening."); Console.WriteLine("{ImageServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext(); HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request; HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response; HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl; string rawUrl = request.RawUrl;
string text; string text;
byte[] i = File.ReadAllBytes("SaveData\\profileimage.png"); byte[] i = File.ReadAllBytes("SaveData\\profileimage.png"); //File.ReadAllBytes("SaveData\\profileimage.png");
using (StreamReader streamReader = new StreamReader(request.InputStream, request.ContentEncoding)) using (StreamReader streamReader = new StreamReader(request.InputStream, request.ContentEncoding))
{ {
text = streamReader.ReadToEnd(); text = streamReader.ReadToEnd();
} }
if (rawUrl.StartsWith("//room/")) if (rawUrl.StartsWith("/alt/"))
{ {
i = new WebClient().DownloadData("https://cdn.rec.net/" + rawUrl.Remove(0, 2)); i = File.ReadAllBytes("SaveData\\profileimage.png");
}
else if (rawUrl.StartsWith("/" + File.ReadAllText("SaveData\\Profile\\username.txt")))
{
i = File.ReadAllBytes("SaveData\\profileimage.png");
}
else if (rawUrl.StartsWith("//room/"))
{
i = new WebClient().DownloadData("https://cdn.rec.net" + rawUrl.Remove(0, 1));
}
else if (rawUrl.StartsWith("//data/"))
{
i = new WebClient().DownloadData("https://cdn.rec.net" + rawUrl.Remove(0, 1));
}
else
{
try
{
i = new WebClient().DownloadData("https://img.rec.net" + rawUrl);
}
catch
{
Console.WriteLine("[ImageServer.cs] Image not found on img.rec.net.");
}
}
if (rawUrl.StartsWith("/CustomRoom.png"))
{
try
{
i = new WebClient().DownloadData("https://img.rec.net/" + File.ReadAllText("SaveData\\Rooms\\Downloaded\\imagename.txt"));
}
catch
{
Console.WriteLine("[ImageServer.cs] Image not found on img.rec.net.");
i = new WebClient().DownloadData("https://img.rec.net/DefaultRoomImage.jpg");
}
} }
Console.WriteLine("Image Requested: " + rawUrl); Console.WriteLine("Image Requested: " + rawUrl);
Console.WriteLine("Image Data: " + text); Console.WriteLine("Image Data: " + text);
@@ -54,7 +89,7 @@ namespace server
response.ContentLength64 = (long)bytes.Length; response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream; Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length); outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(400); Thread.Sleep(1);
outputStream.Close(); outputStream.Close();
this.listener.Stop(); this.listener.Stop();
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

BIN
Launcher/Untitled.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

7
Launcher/changelog.txt Normal file
View File

@@ -0,0 +1,7 @@
hello beta testers!
please press start openrec at the bottom
and just see if it works with 2016 pls
thanks@!!
-recroom2016

1
Launcher/download.txt Normal file
View File

@@ -0,0 +1 @@
https://cdn.discordapp.com/attachments/982455350819188816/982460494759751680/OpenRec.exe

12
ModerationBlockDetails.cs Normal file
View File

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

71
ModernRooms.cs Normal file
View File

@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace api
{
class ModernRooms
{
public class Stats
{
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitorCount { get; set; }
public int VisitCount { get; set; }
}
public class SubRoom
{
public int SubRoomId { get; set; }
public ulong RoomId { get; set; }
public string UnitySceneId { get; set; }
public string Name { get; set; }
public string DataBlob { get; set; }
public DateTime DataSavedAt { get; set; }
public bool IsSandbox { get; set; }
public int MaxPlayers { get; set; }
public int Accessibility { get; set; }
}
public class Root
{
public ulong RoomId { get; set; }
public bool IsDorm { get; set; }
public int MaxPlayerCalculationMode { get; set; }
public int MaxPlayers { get; set; }
public bool CloningAllowed { get; set; }
public bool DisableMicAutoMute { get; set; }
public bool DisableRoomComments { get; set; }
public bool EncryptVoiceChat { get; set; }
public bool LoadScreenLocked { get; set; }
public int Version { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string ImageName { get; set; }
public int WarningMask { get; set; }
public object CustomWarning { get; set; }
public int CreatorAccountId { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsRRO { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public bool SupportsVRLow { get; set; }
public bool SupportsQuest2 { get; set; }
public bool SupportsMobile { get; set; }
public bool SupportsJuniors { get; set; }
public int MinLevel { get; set; }
public DateTime CreatedAt { get; set; }
public Stats Stats { get; set; }
public List<SubRoom> SubRooms { get; set; }
public List<object> Tags { get; set; }
public List<object> PromoImages { get; set; }
public List<object> PromoExternalContent { get; set; }
public List<object> LoadScreens { get; set; }
}
}
}

View File

@@ -3,6 +3,8 @@ using System.IO;
using System.Net; using System.Net;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using Newtonsoft.Json;
using start;
namespace server namespace server
{ {
@@ -15,8 +17,9 @@ namespace server
{ {
try try
{ {
Console.WriteLine("NameServer.cs has started."); Console.WriteLine("[NameServer.cs] has started.");
new Thread(new ThreadStart(this.StartListen)).Start(); new Thread(new ThreadStart(this.StartListen)).Start();
new Thread(new ThreadStart(this.StartListen2)).Start();
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -32,13 +35,19 @@ namespace server
for (; ; ) for (; ; )
{ {
this.listener.Start(); this.listener.Start();
Console.WriteLine("NameServer.cs is listening."); Console.WriteLine("[NameServer.cs] is listening.");
HttpListenerContext context = this.listener.GetContext(); HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request; HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response; HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl; string rawUrl = request.RawUrl;
string s = ""; string s = "";
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); Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s); byte[] bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length; response.ContentLength64 = (long)bytes.Length;
@@ -50,12 +59,49 @@ namespace server
} }
} }
private void StartListen2()
{
//nameserver is ONLY for 2018
this.listener2.Prefixes.Add("http://localhost:56/");
for (; ; )
{
this.listener2.Start();
Console.WriteLine("[NameServer2.cs] is listening.");
HttpListenerContext context = this.listener2.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl;
string s = "";
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);
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(500);
outputStream.Close();
this.listener2.Stop();
}
}
public static string VersionCheckResponse = "{\"ValidVersion\":true}"; public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string BlankResponse = ""; public static string BlankResponse = "";
public class NSData
{
public string API { get; set; }
public string Notifications { get; set; }
public string Images { get; set; }
}
// Token: 0x04000192 RID: 402 // Token: 0x04000192 RID: 402
private HttpListener listener = new HttpListener(); private HttpListener listener = new HttpListener();
private HttpListener listener2 = new HttpListener();
} }
} }

View File

@@ -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<c00006b.c00006c>(text);
return string.Empty;
}
public class GameSession
{
public int GameSessionId { get; set; }
public string PhotonRegionId { get; set; }
public string PhotonRoomId { get; set; }
public string Name { get; set; }
public int RoomId { get; set; }
public int RoomSceneId { get; set; }
public string RoomSceneLocationId { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public object PlayerEventId { get; set; }
public bool Private { get; set; }
public bool GameInProgress { get; set; }
public int MaxCapacity { get; set; }
public bool IsFull { get; set; }
}
public class Room
{
public int RoomId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int CreatorPlayerId { get; set; }
public string ImageName { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsAGRoom { get; set; }
public bool CloningAllowed { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public string ReplicationId { get; set; }
public int ReleaseStatus { get; set; }
}
public class Scene
{
public int RoomSceneId { get; set; }
public int RoomId { get; set; }
public string RoomSceneLocationId { get; set; }
public string Name { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public int MaxPlayers { get; set; }
public bool CanMatchmakeInto { get; set; }
public DateTime DataModifiedAt { get; set; }
public string ReplicationId { get; set; }
public bool UseLevelBasedMatchmaking { get; set; }
public bool UseAgeBasedMatchmaking { get; set; }
public bool UseRecRoyaleMatchmaking { get; set; }
public int ReleaseStatus { get; set; }
public bool SupportsJoinInProgress { get; set; }
}
public class aTag
{
public string Tag { get; set; }
public int Type { get; set; }
}
public class RoomDetails
{
public Room Room { get; set; }
public List<Scene> Scenes { get; set; }
public List<object> CoOwners { get; set; }
public List<object> InvitedCoOwners { get; set; }
public List<object> Hosts { get; set; }
public List<object> InvitedHosts { get; set; }
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitCount { get; set; }
public List<aTag> Tags { get; set; }
}
public class Root
{
public int Result { get; set; }
public GameSession GameSession { get; set; }
public RoomDetails RoomDetails { get; set; }
}
}
}

View File

@@ -41,58 +41,43 @@ namespace ws
} }
// Token: 0x0200002B RID: 43 // Token: 0x0200002B RID: 43
public enum ResponseResult public enum ResponseResults
{ {
// Token: 0x04000090 RID: 144
RelationshipChanged = 1, RelationshipChanged = 1,
// Token: 0x04000091 RID: 145
MessageReceived, MessageReceived,
// Token: 0x04000092 RID: 146
MessageDeleted, MessageDeleted,
// Token: 0x04000093 RID: 147
PresenceHeartbeatResponse, PresenceHeartbeatResponse,
// Token: 0x04000094 RID: 148
SubscriptionListUpdated = 9, SubscriptionListUpdated = 9,
// Token: 0x04000095 RID: 149
SubscriptionUpdateProfile = 11, SubscriptionUpdateProfile = 11,
// Token: 0x04000096 RID: 150
SubscriptionUpdatePresence, SubscriptionUpdatePresence,
// Token: 0x04000097 RID: 151
SubscriptionUpdateGameSession, SubscriptionUpdateGameSession,
// Token: 0x04000098 RID: 152 SubscriptionUpdateRoom = 15,
SubscriptionUpdateRoom,
// Token: 0x04000099 RID: 153
ModerationQuitGame = 20, ModerationQuitGame = 20,
// Token: 0x0400009A RID: 154
ModerationUpdateRequired, ModerationUpdateRequired,
// Token: 0x0400009B RID: 155
ModerationKick, ModerationKick,
// Token: 0x0400009C RID: 156
ModerationKickAttemptFailed, ModerationKickAttemptFailed,
// Token: 0x0400009D RID: 157 ServerMaintenance = 25,
GiftPackageReceived = 30, GiftPackageReceived = 30,
// Token: 0x0400009E RID: 158
ProfileJuniorStatusUpdate = 40, ProfileJuniorStatusUpdate = 40,
// Token: 0x0400009F RID: 159
RelationshipsInvalid = 50, 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 public class Reponse
{ {
// Token: 0x1700005F RID: 95
// (get) Token: 0x0600010D RID: 269
// (set) Token: 0x0600010E RID: 270
public int Id { get; set; } public int Id { get; set; }
// Token: 0x17000060 RID: 96
// (get) Token: 0x0600010F RID: 271
// (set) Token: 0x06000110 RID: 272
public object Msg { get; set; } public object Msg { get; set; }
// Token: 0x06000111 RID: 273
public static Notification.Reponse createResponse(int id, object msg) public static Notification.Reponse createResponse(int id, object msg)
{ {
return new Notification.Reponse return new Notification.Reponse
@@ -101,6 +86,21 @@ namespace ws
Msg = msg 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."
}
};
}
} }
} }
} }

View File

@@ -5,27 +5,30 @@ using ws;
namespace vaultgamesesh namespace vaultgamesesh
{ {
// Token: 0x0200000B RID: 11 // Token: 0x02000005 RID: 5
public class Notification2018 public class Notification2018
{ {
// Token: 0x06000025 RID: 37 // Token: 0x06000015 RID: 21 RVA: 0x00002A18 File Offset: 0x00000C18
public static string ProcessRequest(string jsonData) public static string ProcessRequest(string jsonData)
{ {
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData); Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
bool flag = dictionary.ContainsKey("api");
string result; string result;
if (dictionary.ContainsKey("api")) if (flag)
{ {
string text = (string)dictionary["api"]; string text = (string)dictionary["api"];
string text2 = text; 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."); Console.WriteLine("[18CWS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, c000020.m000027())); 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."); Console.WriteLine("[18CWS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027())); return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027()));
@@ -41,59 +44,59 @@ namespace vaultgamesesh
return result; return result;
} }
// Token: 0x0200003B RID: 59 // Token: 0x02000038 RID: 56
public enum ResponseResult public enum ResponseResult
{ {
// Token: 0x040000DF RID: 223 // Token: 0x040000A8 RID: 168
RelationshipChanged = 1, RelationshipChanged = 1,
// Token: 0x040000E0 RID: 224 // Token: 0x040000A9 RID: 169
MessageReceived, MessageReceived,
// Token: 0x040000E1 RID: 225 // Token: 0x040000AA RID: 170
MessageDeleted, MessageDeleted,
// Token: 0x040000E2 RID: 226 // Token: 0x040000AB RID: 171
PresenceHeartbeatResponse, PresenceHeartbeatResponse,
// Token: 0x040000E3 RID: 227 // Token: 0x040000AC RID: 172
SubscriptionListUpdated = 9, SubscriptionListUpdated = 9,
// Token: 0x040000E4 RID: 228 // Token: 0x040000AD RID: 173
SubscriptionUpdateProfile = 11, SubscriptionUpdateProfile = 11,
// Token: 0x040000E5 RID: 229 // Token: 0x040000AE RID: 174
SubscriptionUpdatePresence, SubscriptionUpdatePresence,
// Token: 0x040000E6 RID: 230 // Token: 0x040000AF RID: 175
SubscriptionUpdateGameSession, SubscriptionUpdateGameSession,
// Token: 0x040000E7 RID: 231 // Token: 0x040000B0 RID: 176
SubscriptionUpdateRoom, SubscriptionUpdateRoom,
// Token: 0x040000E8 RID: 232 // Token: 0x040000B1 RID: 177
ModerationQuitGame = 20, ModerationQuitGame = 20,
// Token: 0x040000E9 RID: 233 // Token: 0x040000B2 RID: 178
ModerationUpdateRequired, ModerationUpdateRequired,
// Token: 0x040000EA RID: 234 // Token: 0x040000B3 RID: 179
ModerationKick, ModerationKick,
// Token: 0x040000EB RID: 235 // Token: 0x040000B4 RID: 180
ModerationKickAttemptFailed, ModerationKickAttemptFailed,
// Token: 0x040000EC RID: 236 // Token: 0x040000B5 RID: 181
GiftPackageReceived = 30, GiftPackageReceived = 30,
// Token: 0x040000ED RID: 237 // Token: 0x040000B6 RID: 182
ProfileJuniorStatusUpdate = 40, ProfileJuniorStatusUpdate = 40,
// Token: 0x040000EE RID: 238 // Token: 0x040000B7 RID: 183
RelationshipsInvalid = 50, RelationshipsInvalid = 50,
// Token: 0x040000EF RID: 239 // Token: 0x040000B8 RID: 184
StorefrontBalanceAdd = 60 StorefrontBalanceAdd = 60
} }
// Token: 0x0200003C RID: 60 // Token: 0x02000039 RID: 57
public class Reponse public class Reponse
{ {
// Token: 0x1700008A RID: 138 // Token: 0x1700007E RID: 126
// (get) Token: 0x06000185 RID: 389 // (get) Token: 0x06000167 RID: 359 RVA: 0x0000A5EB File Offset: 0x000087EB
// (set) Token: 0x06000186 RID: 390 // (set) Token: 0x06000168 RID: 360 RVA: 0x0000A5F3 File Offset: 0x000087F3
public int Id { get; set; } public int Id { get; set; }
// Token: 0x1700008B RID: 139 // Token: 0x1700007F RID: 127
// (get) Token: 0x06000187 RID: 391 // (get) Token: 0x06000169 RID: 361 RVA: 0x0000A5FC File Offset: 0x000087FC
// (set) Token: 0x06000188 RID: 392 // (set) Token: 0x0600016A RID: 362 RVA: 0x0000A604 File Offset: 0x00008804
public object Msg { get; set; } 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) public static Notification.Reponse createResponse(int id, object msg)
{ {
return new Notification.Reponse return new Notification.Reponse

View File

@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework> <TargetFramework>net6.0</TargetFramework>
<ApplicationIcon>icon2.ico</ApplicationIcon> <ApplicationIcon>icon2.ico</ApplicationIcon>
<AssemblyName>OpenRec</AssemblyName> <AssemblyName>OpenRec</AssemblyName>
<RootNamespace>OpenRec</RootNamespace> <RootNamespace>OpenRec</RootNamespace>
@@ -15,6 +15,10 @@
<Version>0.4.0</Version> <Version>0.4.0</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<None Remove="NewFile1.txt" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup> </ItemGroup>

36
ProfieStealer.cs Normal file
View File

@@ -0,0 +1,36 @@
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<Root> profile = JsonConvert.DeserializeObject<List<Root>>(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; }
}
}
}

View File

@@ -6,6 +6,8 @@ using api;
using System.Net; using System.Net;
using System.Diagnostics; using System.Diagnostics;
using vaultgamesesh; using vaultgamesesh;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace start namespace start
{ {
@@ -16,12 +18,54 @@ namespace start
//startup for openrec //startup for openrec
Setup.setup(); Setup.setup();
goto Tutorial;
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; goto Start;
}
else
{
Console.Clear();
goto Start;
}
}
else
{
goto Start;
}
Start: Start:
Console.Title = "OpenRec Startup Menu"; Console.Title = "OpenRec Startup Menu";
Console.ForegroundColor = ConsoleColor.Green; 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("Made and provided by RecRoom 2016.");
Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec"); Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec");
Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine); Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine);
@@ -29,17 +73,9 @@ namespace start
{ {
Console.WriteLine("This version of OpenRec is outdated. We recommend you install the latest version, OpenRec " + new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt")); Console.WriteLine("This version of OpenRec is outdated. We recommend you install the latest version, OpenRec " + new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt"));
} }
if (File.Exists("SaveData\\Profile\\userid.txt"))
{ Console.WriteLine("//Custom Room Downloader has been moved to the settings tab!" + Environment.NewLine);
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt"))) 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");
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
bannedflag = true;
}
}
Console.WriteLine("1) Changelog" + Environment.NewLine +"2) Change Settings" + Environment.NewLine + "3) Modify Profile" + Environment.NewLine + "4) Custom Room Downloader" + Environment.NewLine + "5) Start Server");
string readline = Console.ReadLine(); string readline = Console.ReadLine();
if (readline == "1") if (readline == "1")
{ {
@@ -58,7 +94,7 @@ namespace start
Settings: Settings:
Console.Title = "OpenRec Settings Menu"; 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(); string readline4 = Console.ReadLine();
if (readline4 == "1") if (readline4 == "1")
{ {
@@ -76,14 +112,23 @@ namespace start
} }
else if (readline4 == "2") 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.Clear();
Console.WriteLine("Success!"); Console.WriteLine("Success!");
goto Settings; goto Settings;
@@ -102,9 +147,20 @@ namespace start
File.Delete("SaveData\\myrooms.txt"); File.Delete("SaveData\\myrooms.txt");
File.Delete("SaveData\\settings.txt"); File.Delete("SaveData\\settings.txt");
File.Delete("SaveData\\App\\privaterooms.txt"); File.Delete("SaveData\\App\\privaterooms.txt");
File.Delete("SaveData\\App\\showopenrecinfo.txt");
File.Delete("SaveData\\App\\facefeaturesadd.txt"); File.Delete("SaveData\\App\\facefeaturesadd.txt");
File.Delete("SaveData\\profileimage.png"); 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!"); Console.WriteLine("Success!");
Setup.setup(); Setup.setup();
goto Settings; goto Settings;
@@ -122,7 +178,7 @@ namespace start
Profile: Profile:
Console.Title = "OpenRec Profile Menu"; 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(); string readline3 = Console.ReadLine();
if (readline3 == "1") if (readline3 == "1")
{ {
@@ -137,7 +193,7 @@ namespace start
else if (readline3 == "2") else if (readline3 == "2")
{ {
Console.Clear(); 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(); string readline4 = Console.ReadLine();
if (readline4 == "1") if (readline4 == "1")
{ {
@@ -147,7 +203,7 @@ namespace start
{ {
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData(medialink)); File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData(medialink));
} }
catch (Exception ex4) catch
{ {
Console.Clear(); Console.Clear();
Console.WriteLine("Invalid Media Link"); Console.WriteLine("Invalid Media Link");
@@ -166,6 +222,7 @@ namespace start
byte[] imagefile = File.ReadAllBytes(imagedir); byte[] imagefile = File.ReadAllBytes(imagedir);
File.Replace(imagedir, "SaveData\\profileimage.png", "backupfilename.png"); File.Replace(imagedir, "SaveData\\profileimage.png", "backupfilename.png");
File.WriteAllBytes(imagedir, imagefile); File.WriteAllBytes(imagedir, imagefile);
File.Delete("backupfilename.png");
} }
catch (Exception ex4) catch (Exception ex4)
{ {
@@ -178,6 +235,43 @@ namespace start
goto Profile; goto Profile;
} }
else if (readline4 == "3") 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<ProfieStealer.Root> profile = JsonConvert.DeserializeObject<List<ProfieStealer.Root>>(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(); Console.Clear();
goto Start; goto Start;
@@ -194,6 +288,35 @@ namespace start
goto Profile; goto Profile;
} }
else if (readline3 == "4") 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(); Console.Clear();
goto Start; goto Start;
@@ -201,28 +324,19 @@ namespace start
} }
if (readline == "4") if (readline == "4")
{ {
Console.Title = "OpenRec Custom Room Downloader"; Console.Title = "OpenRec Build Downloads";
Console.Clear();
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.Clear();
Console.WriteLine("Please type in the name of the room you would like to download: (Case sensitive)");
string roomname = Console.ReadLine();
Console.WriteLine("Now, please go to the link below and help us gather info about your room for you.");
Console.WriteLine("https://rooms.rec.net/rooms?name=" + roomname + "&include=297");
Console.WriteLine("Please find the string called ImageName and paste it below:");
string imagename = Console.ReadLine();
Console.WriteLine("Please find the string called UnitySceneId and paste it below:");
string roomsceneid = Console.ReadLine();
Console.WriteLine("Please find the string called DataBlob and paste it below:");
string datablob = Console.ReadLine();
CustomRooms.RoomDecode(roomname, roomsceneid, imagename, datablob);
goto Start; goto Start;
} }
if (readline == "5") if (readline == "5")
{ {
Console.Title = "OpenRec Version Select"; Console.Title = "OpenRec Version Select";
Console.WriteLine("Please select the version of RecRoom the server should host: (2016, 2017, 2018)"); Console.WriteLine("Please select the version of RecRoom the server should host: (2016, 2017, 2018)");
Console.WriteLine("fuck you all");
//imagine if yall actually look in the code one day and just find a random note signed tucker at the bottom of it and then i go missing for a very long time otherwise known as forever
string readline2 = Console.ReadLine(); string readline2 = Console.ReadLine();
if (readline2 == "2016") if (readline2 == "2016")
{ {
@@ -244,7 +358,7 @@ namespace start
} }
else if (readline2 == "2018") else if (readline2 == "2018")
{ {
Console.WriteLine("May or September (Beta) 2018: (M, S)"); Console.WriteLine("May, July or September (SEPTEMBER MIGHT NOT WORK) 2018: (M, J, S)");
string readline3 = Console.ReadLine(); string readline3 = Console.ReadLine();
if ((readline3 == "M") || (readline3 == "m")) if ((readline3 == "M") || (readline3 == "m"))
{ {
@@ -257,7 +371,7 @@ namespace start
new APIServer(); new APIServer();
new WebSocket(); new WebSocket();
} }
if ((readline3 == "S") || (readline3 == "s")) else if ((readline3 == "S") || (readline3 == "s"))
{ {
Console.Title = "OpenRec September 27th 2018"; Console.Title = "OpenRec September 27th 2018";
version = "2018"; version = "2018";
@@ -268,11 +382,25 @@ namespace start
new APIServer(); new APIServer();
new Late2018WebSock(); 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();
}
}
Console.WriteLine(msg);
} }
} }
} public static string msg = "//This is the server sending and recieving data from recroom." + Environment.NewLine + "//Ignore this if you don't know what this means." + Environment.NewLine + "//Please start up the build now.";
public static string version = ""; public static string version = "";
public static string appversion = "0.6.0"; public static string appversion = "0.6.9";
public static bool bannedflag = false; public static bool bannedflag = false;
} }

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
# Welcome to OpenRec!
---
OpenRec is a RecRoom server software made by recroom2016!
### Branches
- Master / main
- Nightly
The master branch is the public branch where all the latest updates are published.
The nightly branch is where all the experimental updates that are needed to be tested before release are.
---
### Getting in contact with the community
If you are new to this we recommend you joining our Discord!
Link: https://discord.com/invite/daC8QUhnFP

View File

@@ -8,15 +8,22 @@ namespace start
{ {
class Setup class Setup
{ {
public static bool firsttime = false;
public static void setup() public static void setup()
{ {
//sets up all the important files so openrec doesnt crash like lame vaultserver xD //sets up all the important files so openrec doesnt crash like lame vaultserver xD
Console.WriteLine("Setting up... (May take a minute to download everything.)"); Console.WriteLine("Setting up... (May take a minute to download everything.)");
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\App\\"); Directory.CreateDirectory("SaveData\\App\\");
Directory.CreateDirectory("SaveData\\Profile\\"); Directory.CreateDirectory("SaveData\\Profile\\");
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\Rooms\\"); Directory.CreateDirectory("SaveData\\Rooms\\");
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\Rooms\\Downloaded\\"); 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"))) if (!(File.Exists("SaveData\\avatar.txt")))
{ {
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt")); File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
@@ -29,6 +36,10 @@ namespace start
{ {
File.WriteAllText("SaveData\\avataritems.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems.txt")); File.WriteAllText("SaveData\\avataritems.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems.txt"));
} }
if (!(File.Exists("SaveData\\avataritems2.txt")))
{
File.WriteAllText("SaveData\\avataritems2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems2.txt"));
}
if (!(File.Exists("SaveData\\equipment.txt"))) if (!(File.Exists("SaveData\\equipment.txt")))
{ {
File.WriteAllText("SaveData\\equipment.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/equipment.txt")); File.WriteAllText("SaveData\\equipment.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/equipment.txt"));
@@ -51,7 +62,7 @@ namespace start
} }
if (!(File.Exists("SaveData\\Profile\\username.txt"))) 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"))) if (!(File.Exists("SaveData\\Profile\\level.txt")))
{ {
@@ -69,6 +80,10 @@ namespace start
{ {
File.WriteAllText("SaveData\\settings.txt", Newtonsoft.Json.JsonConvert.SerializeObject(api.Settings.CreateDefaultSettings())); 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"))) if (!(File.Exists("SaveData\\App\\privaterooms.txt")))
{ {
File.WriteAllText("SaveData\\App\\privaterooms.txt", "Disabled"); File.WriteAllText("SaveData\\App\\privaterooms.txt", "Disabled");
@@ -81,13 +96,20 @@ namespace start
{ {
File.WriteAllText("SaveData\\App\\facefeaturesadd.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/facefeaturesadd.txt")); 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"))) goto tryagain;
tryagain:
if (!File.Exists("SaveData\\Rooms\\Downloaded\\roomname.txt"))
{ {
File.WriteAllText("SaveData\\Images\\count.txt", "0"); try
{
api.CustomRooms.RoomGet("gogo9");
} }
if (!(File.Exists("SaveData\\profileimage.png"))) catch
{ {
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png")); goto tryagain;
}
} }
Console.WriteLine("Done!"); Console.WriteLine("Done!");
Console.Clear(); Console.Clear();

View File

@@ -1 +1 @@
[487454, 4701796, 1623123] [{"UserId":487454,"Reason":"Banned."}, {"UserId":4701796,"Reason":"Banned."}, {"UserId":1623123,"Reason":"Banned."}, {"UserId":1423224,"Reason":"Banned."}]

11
Update/builds.txt Normal file
View File

@@ -0,0 +1,11 @@
September 27th 2018 (UNSTABLE, WILL ONLY WORK FOR SOME PEOPLE):
https://drive.google.com/file/d/13atQRl6Bh_JStPug7GcKLiLYqVaRgUsW/view?usp=sharing
May 30th 2018:
https://drive.google.com/file/d/1jZps2nesIcHsabZo3ueomivq98zfKZzj/view?usp=sharing
October 19th 2017:
https://drive.google.com/file/d/1Noljjg667NzUeOc1P7D7Fq9KmN_6AfeE/view?usp=sharing
December 23rd 2016:
https://drive.google.com/file/d/1mM3VKK7mFK8qMingVkEFQW-PwRe5Wh39/view?usp=sharing

View File

@@ -269,21 +269,6 @@
"SupportsWalkVR": true, "SupportsWalkVR": true,
"SupportsTeleportVR": true "SupportsTeleportVR": true
}, },
{
"RoomId": 1,
"Name": "DormRoom",
"Description": "Your private room",
"CreatorPlayerId": 72963398,
"ImageName": "DefaultRoomImage.jpg",
"State": 0,
"Accessibility": 1,
"SupportsLevelVoting": false,
"IsAGRoom": true,
"CloningAllowed": false,
"SupportsScreens": true,
"SupportsWalkVR": true,
"SupportsTeleportVR": true
},
{ {
"RoomId": 2, "RoomId": 2,
"Name": "RecCenter", "Name": "RecCenter",

4
Update/motd.txt Normal file
View File

@@ -0,0 +1,4 @@
Welcome to OpenRec!
BTW IF YOU SEE THIS, SHUT UP
THANK YOU

23
Update/rcslideshow.txt Normal file
View File

@@ -0,0 +1,23 @@
{
"Images": [
{
"SavedImageId": 1,
"ImageName": "1c603274267b4f45858f7506ab48b4fa",
"Username": "Origami",
"RoomName": "forsophie"
},
{
"SavedImageId": 2,
"ImageName": "dRoGHY4JvU-t1L51gbdhqQ",
"Username": "Sublime",
"RoomName": "TheOfficePvP"
},
{
"SavedImageId": 3,
"ImageName": "v9_qfp0bH0a3KL0xGz4Zsg",
"Username": "Jbluna",
"RoomName": "USSCoach"
}
],
"ValidTill": "2024-06-09T19:06:44.927Z"
}

View File

@@ -53,7 +53,7 @@ namespace vaultgamesesh
} }
else else
{ {
c000041.f000043 = c00005d.f000050[File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt")]; c000041.f000043 = c00005d.f000050["DormRoom"];
} }
} }
int num = 0; int num = 0;
@@ -77,9 +77,16 @@ namespace vaultgamesesh
{ {
text += string.Format("Pri{0}", server.APIServer.CachedPlayerID); text += string.Format("Pri{0}", server.APIServer.CachedPlayerID);
} }
long gameseshid = 20181L;
if (start.Program.bannedflag == true)
{
gameseshid = 100L;
text += "BANNED";
}
c000041.f000013 = new c000041.c000044 c000041.f000013 = new c000041.c000044
{ {
GameSessionId = 20181L, GameSessionId = gameseshid,
PhotonRegionId = "us", PhotonRegionId = "us",
PhotonRoomId = text, PhotonRoomId = text,
Name = c000041.f000043.Room.Name, Name = c000041.f000043.Room.Name,

View File

@@ -1,43 +1,61 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using Newtonsoft.Json; using Newtonsoft.Json;
using start;
using WebSocketSharp; using WebSocketSharp;
using WebSocketSharp.Server; using WebSocketSharp.Server;
using System.Net; using ws;
using System.IO;
namespace vaultgamesesh namespace vaultgamesesh
{ {
// Token: 0x02000018 RID: 24 public class Late2018WebSock
internal class Late2018WebSock
{ {
// Token: 0x06000094 RID: 148 RVA: 0x00006EB0 File Offset: 0x000050B0
public Late2018WebSock() public Late2018WebSock()
{ {
Late2018WebSock.instance = this;
this.WebSock.AddWebSocketService<Late2018WebSock.NotificationWS>("/api/notification/v2"); this.WebSock.AddWebSocketService<Late2018WebSock.NotificationWS>("/api/notification/v2");
this.WebSock.AddWebSocketService<Late2018WebSock.HubWS>("/hub/v1"); this.WebSock.AddWebSocketService<Late2018WebSock.HubWS>("/hub/v1");
this.WebSock.Start(); this.WebSock.Start();
Console.WriteLine("2018 WebSocket server started!"); Console.WriteLine("[LateWebSocket.cs] has started.");
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/"); public WebSocketServer WebSock = new WebSocketServer("ws://localhost:20161/");
// Token: 0x0200004A RID: 74
public class HubWS : WebSocketBehavior public class HubWS : WebSocketBehavior
{ {
// Token: 0x060001EA RID: 490 RVA: 0x0000C215 File Offset: 0x0000A415
protected override void OnMessage(MessageEventArgs e) protected override void OnMessage(MessageEventArgs e)
{ {
Console.WriteLine("LateWebSocket.cs Hub Requested."); Console.WriteLine("LateWebSocket.cs Hub Requested.");
base.Send(JsonConvert.SerializeObject(new Late2018WebSock.Hub())); base.Send(JsonConvert.SerializeObject(new Late2018WebSock.Hub()));
} }
public HubWS()
{
}
} }
// Token: 0x0200004B RID: 75
public class Hub : WebSocketBehavior public class Hub : WebSocketBehavior
{ {
// Token: 0x060001EC RID: 492 RVA: 0x0000C240 File Offset: 0x0000A440
public Hub() public Hub()
{ {
this.accessToken = "AccessDeezNuts"; this.accessToken = "AccessDeezNuts";
@@ -46,37 +64,33 @@ namespace vaultgamesesh
this.url = new Uri(string.Format("http://localhost:{0}/", "2018")); 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; } 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; } public string accessToken { get; set; }
// Token: 0x170000B6 RID: 182
// (get) Token: 0x060001F1 RID: 497 RVA: 0x0000C2B2 File Offset: 0x0000A4B2
// (set) Token: 0x060001F2 RID: 498 RVA: 0x0000C2BA File Offset: 0x0000A4BA
public List<string> SupportedTransports { get; set; } public List<string> SupportedTransports { get; set; }
// Token: 0x170000B7 RID: 183
// (get) Token: 0x060001F3 RID: 499 RVA: 0x0000C2C3 File Offset: 0x0000A4C3
// (set) Token: 0x060001F4 RID: 500 RVA: 0x0000C2CB File Offset: 0x0000A4CB
public int negotiateVersion { get; set; } public int negotiateVersion { get; set; }
} }
// Token: 0x0200004C RID: 76
public class NotificationWS : WebSocketBehavior public class NotificationWS : WebSocketBehavior
{ {
// Token: 0x060001F5 RID: 501 RVA: 0x0000C2D4 File Offset: 0x0000A4D4
protected override void OnMessage(MessageEventArgs p0) protected override void OnMessage(MessageEventArgs p0)
{ {
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."); Console.WriteLine("LateWebSocket.cs Notif Requested.");
bool flag = p0.Data == null; bool flag2 = p0.Data == null;
bool flag2 = flag; bool flag3 = flag2;
if (flag2) bool flag4 = flag3;
if (flag4)
{ {
base.Send(string.Empty); base.Send(string.Empty);
} }
@@ -84,13 +98,10 @@ namespace vaultgamesesh
{ {
base.Send(Notification2018.ProcessRequest(p0.Data)); 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"))) }
public NotificationWS()
{ {
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;
}
} }
} }
} }

View File

@@ -1,42 +1,41 @@
using System; using System;
using System.Collections.Generic; using System.IO;
using System.Net;
using start;
using WebSocketSharp; using WebSocketSharp;
using WebSocketSharp.Server; using WebSocketSharp.Server;
using Newtonsoft.Json;
using server;
using start;
using System.Net;
using System.IO;
namespace ws namespace ws
{ {
// Token: 0x02000008 RID: 8 // Token: 0x02000010 RID: 16
internal class WebSocket internal class WebSocket
{ {
// Token: 0x06000012 RID: 18 RVA: 0x0000418C File Offset: 0x0000238C // Token: 0x06000031 RID: 49 RVA: 0x000066D4 File Offset: 0x000048D4
public WebSocket() public WebSocket()
{ {
WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161")); WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161", Array.Empty<object>()));
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/api/notification/v2"); webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/api/notification/v2");
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/hub/v1"); webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/hub/v1");
webSocketServer.Start(); webSocketServer.Start();
Console.WriteLine("WebSocket.cs has started."); Console.WriteLine("[WebSocket.cs] has started.");
Console.WriteLine("WebSocket.cs is listening."); Console.WriteLine("[WebSocket.cs] is listening.");
} }
// Token: 0x02000058 RID: 88
public class NotificationV2 : WebSocketBehavior 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) protected override void OnMessage(MessageEventArgs e)
{ {
Console.WriteLine("WebSocket.cs called for."); Console.WriteLine("WebSocket.cs called for.");
base.Send(Notification.ProcessRequest(e.Data)); 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.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.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true; Program.bannedflag = true;
} }
} }
} }

View File

@@ -1,19 +1,20 @@
using System; using System;
using System.IO;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using server;
namespace vaultgamesesh namespace vaultgamesesh
{ {
// Token: 0x02000004 RID: 4 // Token: 0x02000007 RID: 7
internal sealed class c000020 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() public static c000020.c000022 m000027()
{ {
bool flag = c000041.f000013 == null; bool flag = c000041.f000013 == null;
bool flag2 = flag; bool flag2 = flag;
bool flag3 = flag2;
c000041.c000044 gameSession; c000041.c000044 gameSession;
if (flag2) if (flag3)
{ {
gameSession = c000041.m00002f(); gameSession = c000041.m00002f();
} }
@@ -23,25 +24,20 @@ namespace vaultgamesesh
} }
return new c000020.c000022 return new c000020.c000022
{ {
PlayerId = APIServer.CachedPlayerID, PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
IsOnline = true, IsOnline = true,
PlayerType = 2, PlayerType = 2,
GameSession = gameSession GameSession = gameSession
}; };
} }
// Token: 0x02000026 RID: 38
public enum enum021
{
} // Token: 0x0200003C RID: 60
// Token: 0x02000027 RID: 39
public sealed class c000022 public sealed class c000022
{ {
// Token: 0x17000035 RID: 53 // Token: 0x17000088 RID: 136
// (get) Token: 0x060000CE RID: 206 RVA: 0x0000B1F8 File Offset: 0x000093F8 // (get) Token: 0x0600017E RID: 382 RVA: 0x0000A768 File Offset: 0x00008968
// (set) Token: 0x060000CF RID: 207 RVA: 0x0000B210 File Offset: 0x00009410 // (set) Token: 0x0600017F RID: 383 RVA: 0x0000A780 File Offset: 0x00008980
public ulong PlayerId public ulong PlayerId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -56,9 +52,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000036 RID: 54 // Token: 0x17000089 RID: 137
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000B21C File Offset: 0x0000941C // (get) Token: 0x06000180 RID: 384 RVA: 0x0000A78C File Offset: 0x0000898C
// (set) Token: 0x060000D1 RID: 209 RVA: 0x0000B234 File Offset: 0x00009434 // (set) Token: 0x06000181 RID: 385 RVA: 0x0000A7A4 File Offset: 0x000089A4
public bool IsOnline public bool IsOnline
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -73,9 +69,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000037 RID: 55 // Token: 0x1700008A RID: 138
// (get) Token: 0x060000D2 RID: 210 RVA: 0x0000B240 File Offset: 0x00009440 // (get) Token: 0x06000182 RID: 386 RVA: 0x0000A7B0 File Offset: 0x000089B0
// (set) Token: 0x060000D3 RID: 211 RVA: 0x0000B258 File Offset: 0x00009458 // (set) Token: 0x06000183 RID: 387 RVA: 0x0000A7C8 File Offset: 0x000089C8
public int PlayerType public int PlayerType
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -90,9 +86,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000038 RID: 56 // Token: 0x1700008B RID: 139
// (get) Token: 0x060000D4 RID: 212 RVA: 0x0000B264 File Offset: 0x00009464 // (get) Token: 0x06000184 RID: 388 RVA: 0x0000A7D4 File Offset: 0x000089D4
// (set) Token: 0x060000D5 RID: 213 RVA: 0x0000B27C File Offset: 0x0000947C // (set) Token: 0x06000185 RID: 389 RVA: 0x0000A7EC File Offset: 0x000089EC
public c000041.c000044 GameSession public c000041.c000044 GameSession
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -107,16 +103,16 @@ namespace vaultgamesesh
} }
} }
// Token: 0x04000071 RID: 113 // Token: 0x040000C4 RID: 196
private ulong f000001; private ulong f000001;
// Token: 0x04000072 RID: 114 // Token: 0x040000C5 RID: 197
private bool f000037; private bool f000037;
// Token: 0x04000073 RID: 115 // Token: 0x040000C6 RID: 198
private int f000020; private int f000020;
// Token: 0x04000074 RID: 116 // Token: 0x040000C7 RID: 199
private c000041.c000044 f000038; private c000041.c000044 f000038;
} }
} }

View File

@@ -2,15 +2,15 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using server;
using Newtonsoft.Json; using Newtonsoft.Json;
using server;
namespace vaultgamesesh namespace vaultgamesesh
{ {
// Token: 0x02000006 RID: 6 // Token: 0x02000008 RID: 8
internal sealed class c00005d 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<string, c00005d.c000060> m00003a() public static Dictionary<string, c00005d.c000060> m00003a()
{ {
Dictionary<string, c00005d.c000060> dictionary = new Dictionary<string, c00005d.c000060>(); Dictionary<string, c00005d.c000060> dictionary = new Dictionary<string, c00005d.c000060>();
@@ -22,6 +22,8 @@ namespace vaultgamesesh
} }
return dictionary; return dictionary;
} }
// Token: 0x0600001D RID: 29 RVA: 0x00002BFC File Offset: 0x00000DFC
public static List<c00005d.c000061> m000035() public static List<c00005d.c000061> m000035()
{ {
List<c00005d.c000061> list = new List<c00005d.c000061>(); List<c00005d.c000061> list = new List<c00005d.c000061>();
@@ -31,7 +33,8 @@ namespace vaultgamesesh
} }
return list; return list;
} }
// Token: 0x06000012 RID: 18 RVA: 0x00002688 File Offset: 0x00000888
// Token: 0x0600001E RID: 30 RVA: 0x00002C6C File Offset: 0x00000E6C
public static Dictionary<string, c00005d.c000060> m00003b() public static Dictionary<string, c00005d.c000060> m00003b()
{ {
Dictionary<string, c00005d.c000060> result; Dictionary<string, c00005d.c000060> result;
@@ -52,13 +55,14 @@ namespace vaultgamesesh
return result; 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) public static c00005d.c000060 m000023(int p0)
{ {
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000050) foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000050)
{ {
bool flag = keyValuePair.Value.Room.RoomId == (ulong)((long)p0); bool flag = keyValuePair.Value.Room.RoomId == (ulong)((long)p0);
if (flag) bool flag2 = flag;
if (flag2)
{ {
return keyValuePair.Value; return keyValuePair.Value;
} }
@@ -66,7 +70,7 @@ namespace vaultgamesesh
return c00005d.f000050["DormRoom"]; return c00005d.f000050["DormRoom"];
} }
// Token: 0x0400000D RID: 13 // Token: 0x04000008 RID: 8
public static Dictionary<string, c00005d.c000060> f000024 = new Dictionary<string, c00005d.c000060> public static Dictionary<string, c00005d.c000060> f000024 = new Dictionary<string, c00005d.c000060>
{ {
{ {
@@ -326,7 +330,7 @@ namespace vaultgamesesh
} }
}; };
// Token: 0x0400000E RID: 14 // Token: 0x04000009 RID: 9
public static Dictionary<string, c00005d.c000060> f000050 = new Dictionary<string, c00005d.c000060> public static Dictionary<string, c00005d.c000060> f000050 = new Dictionary<string, c00005d.c000060>
{ {
{ {
@@ -341,7 +345,7 @@ namespace vaultgamesesh
ReleaseStatus = 2, ReleaseStatus = 2,
ReplicationId = "DormRoom", ReplicationId = "DormRoom",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = APIServer.CachedPlayerID,
ImageName = "Dorm.png", ImageName = "DefaultRoomImage.jpg",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -399,7 +403,7 @@ namespace vaultgamesesh
Name = "RecCenter", Name = "RecCenter",
Description = "A social hub to meet and mingle with friends new and old.", Description = "A social hub to meet and mingle with friends new and old.",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = APIServer.CachedPlayerID,
ImageName = "RecCenter.png", ImageName = "22eefa3219f046fd9e2090814650ede3",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -455,7 +459,7 @@ namespace vaultgamesesh
Name = "3DCharades", Name = "3DCharades",
Description = "Take turns drawing, acting, and guessing funny phrases with your friends!", Description = "Take turns drawing, acting, and guessing funny phrases with your friends!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "ActivityCharades.png", ImageName = "a446d5808ed14401a27f53e631c31b93.png",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -505,7 +509,7 @@ namespace vaultgamesesh
Name = "DiscGolfLake", Name = "DiscGolfLake",
Description = "Throw your disc into the goal. Sounds easy, right?", Description = "Throw your disc into the goal. Sounds easy, right?",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "DiscGolfLake.png", ImageName = "52cf6c3271894ecd95fb0c9b2d2209a7",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -560,7 +564,7 @@ namespace vaultgamesesh
Name = "DiscGolfPropulsion", Name = "DiscGolfPropulsion",
Description = "Throw your disc through hazards and around wind machines on this challenging course!", Description = "Throw your disc through hazards and around wind machines on this challenging course!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "DiscGolfPropulsion.png", ImageName = "fc9a1acc47514b64a30d199d5ccdeca9",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -615,7 +619,7 @@ namespace vaultgamesesh
Name = "Dodgeball", Name = "Dodgeball",
Description = "Throw dodgeballs to knock out your friends in this gym classic!", Description = "Throw dodgeballs to knock out your friends in this gym classic!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Dodgeball.png", ImageName = "6d5c494668784816bbc41d9b870e5003",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -670,7 +674,7 @@ namespace vaultgamesesh
Name = "Paddleball", Name = "Paddleball",
Description = "A simple rally game between two players in a plexiglass tube with a zero-g ball.", Description = "A simple rally game between two players in a plexiglass tube with a zero-g ball.",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "ActivityPaddleball.png", ImageName = "ffdca6ed8bd94631ac15e3e894acb6c6",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -725,7 +729,7 @@ namespace vaultgamesesh
Name = "Paintball", Name = "Paintball",
Description = "Red and Blue teams splat each other in capture the flag and team battle.", Description = "Red and Blue teams splat each other in capture the flag and team battle.",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Paintball.png", ImageName = "93a53ced93a04f658795a87f4a4aab85",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = true, SupportsLevelVoting = true,
@@ -828,7 +832,7 @@ namespace vaultgamesesh
Name = "GoldenTrophy", Name = "GoldenTrophy",
Description = "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!", Description = "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Golden.png", ImageName = "38e9d0d4eff94556a0b106508249dcf9",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -883,7 +887,7 @@ namespace vaultgamesesh
Name = "TheRiseofJumbotron", Name = "TheRiseofJumbotron",
Description = "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!", Description = "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Jumbo.png", ImageName = "51296f28105b48178708e389b6daf057",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -938,7 +942,7 @@ namespace vaultgamesesh
Name = "CrimsonCauldron", Name = "CrimsonCauldron",
Description = "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?", Description = "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Crimson.png", ImageName = "3ab82779dff94d11920ebf38df249395",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -993,7 +997,7 @@ namespace vaultgamesesh
Name = "IsleOfLostSkulls", Name = "IsleOfLostSkulls",
Description = "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?", Description = "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Isle.png", ImageName = "45ad53aa002646d0ab3eb509b9f260ef",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1048,7 +1052,7 @@ namespace vaultgamesesh
Name = "Soccer", Name = "Soccer",
Description = "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!", Description = "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Soccer.png", ImageName = "51c6f5ac5e6f4777b573e7e43f8a85ea",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1103,7 +1107,7 @@ namespace vaultgamesesh
Name = "LaserTag", Name = "LaserTag",
Description = "Teams battle each other and waves of robots.", Description = "Teams battle each other and waves of robots.",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "LaserTag.png", ImageName = "c5a72193d6904811b2d0195a6deb3125",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1170,7 +1174,7 @@ namespace vaultgamesesh
Name = "RecRoyaleSquads", Name = "RecRoyaleSquads",
Description = "Squads of three battle it out on Frontier Island. Last squad standing wins!", Description = "Squads of three battle it out on Frontier Island. Last squad standing wins!",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = APIServer.CachedPlayerID,
ImageName = "ActivityRecRoyale.png", ImageName = "69fc525056014e39a435c4d2fdf2b887",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1225,7 +1229,7 @@ namespace vaultgamesesh
Name = "RecRoyaleSolos", Name = "RecRoyaleSolos",
Description = "Battle it out on Frontier Island. Last person standing wins!", Description = "Battle it out on Frontier Island. Last person standing wins!",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = APIServer.CachedPlayerID,
ImageName = "RecRoyale.png", ImageName = "f9e112bb67fb430d979e5ad6c2c116d4",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1280,7 +1284,7 @@ namespace vaultgamesesh
Name = "Lounge", Name = "Lounge",
Description = "A low-key lounge to chill with your friends. Great for private parties!", Description = "A low-key lounge to chill with your friends. Great for private parties!",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = APIServer.CachedPlayerID,
ImageName = "Lounge.png", ImageName = "3e8c2458f1e542ab8aa275e4083ee47a",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1314,7 +1318,7 @@ namespace vaultgamesesh
{ {
new c00005d.c000063 new c00005d.c000063
{ {
Tag = "recroomoriginal", Tag = "rro",
Type = 2 Type = 2
} }
} }
@@ -1330,7 +1334,7 @@ namespace vaultgamesesh
Name = "Park", Name = "Park",
Description = "A sprawling park with amphitheater, play fields, and a cave.", Description = "A sprawling park with amphitheater, play fields, and a cave.",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "Park.png", ImageName = "79ee7af2532247f397867e48daa9d264.png",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1380,7 +1384,7 @@ namespace vaultgamesesh
Name = "QuestForDraucula", 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!", 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, CreatorPlayerId = 782441001UL,
ImageName = "DraccIsBack.png", ImageName = "d0df003353914adfaecdd23f428208b6",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1430,7 +1434,7 @@ namespace vaultgamesesh
Name = "Bowling", Name = "Bowling",
Description = "shut up coffeeman this bowling description was so annoying", Description = "shut up coffeeman this bowling description was so annoying",
CreatorPlayerId = 782441001UL, CreatorPlayerId = 782441001UL,
ImageName = "bowling.png", ImageName = "4d143a3359e8483e8d48116ab6cacecb",
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
SupportsLevelVoting = false, SupportsLevelVoting = false,
@@ -1481,10 +1485,10 @@ namespace vaultgamesesh
{ {
Room = new c00005d.c000061 Room = new c00005d.c000061
{ {
RoomId = 29UL, RoomId = Convert.ToUInt64(File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomid.txt")),
Name = File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt"), Name = File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt"),
Description = "OpenRec Downloaded Custom Room", Description = "OpenRec Downloaded Custom Room",
CreatorPlayerId = APIServer.CachedPlayerID, CreatorPlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
ImageName = File.ReadAllText("SaveData\\Rooms\\Downloaded\\imagename.txt"), ImageName = File.ReadAllText("SaveData\\Rooms\\Downloaded\\imagename.txt"),
State = 0, State = 0,
Accessibility = 1, Accessibility = 1,
@@ -1500,7 +1504,7 @@ namespace vaultgamesesh
new c00005d.c00005f new c00005d.c00005f
{ {
RoomSceneId = 1L, RoomSceneId = 1L,
RoomId = 29UL, RoomId = Convert.ToUInt64(File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomid.txt")),
RoomSceneLocationId = File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt"), RoomSceneLocationId = File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt"),
Name = "Home", Name = "Home",
IsSandbox = true, IsSandbox = true,
@@ -1519,32 +1523,31 @@ namespace vaultgamesesh
{ {
new c00005d.c000063 new c00005d.c000063
{ {
Tag = "rro", Tag = "custom",
Type = 2 Type = 2
}, },
new c00005d.c000063 new c00005d.c000063
{ {
Tag = "sport", Tag = "",
Type = 0 Type = 0
} }
} }
} }
} }
}; };
// Token: 0x0200002B RID: 43 // Token: 0x0200003D RID: 61
public enum enum05e public enum enum05e
{ {
} }
// Token: 0x0200002C RID: 44 // Token: 0x0200003E RID: 62
public sealed class c00005f public sealed class c00005f
{ {
// Token: 0x1700004A RID: 74 // Token: 0x1700008C RID: 140
// (get) Token: 0x060000FB RID: 251 RVA: 0x0000B4F0 File Offset: 0x000096F0 // (get) Token: 0x06000187 RID: 391 RVA: 0x0000A800 File Offset: 0x00008A00
// (set) Token: 0x060000FC RID: 252 RVA: 0x0000B508 File Offset: 0x00009708 // (set) Token: 0x06000188 RID: 392 RVA: 0x0000A818 File Offset: 0x00008A18
public long RoomSceneId public long RoomSceneId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1559,9 +1562,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700004B RID: 75 // Token: 0x1700008D RID: 141
// (get) Token: 0x060000FD RID: 253 RVA: 0x0000B514 File Offset: 0x00009714 // (get) Token: 0x06000189 RID: 393 RVA: 0x0000A824 File Offset: 0x00008A24
// (set) Token: 0x060000FE RID: 254 RVA: 0x0000B52C File Offset: 0x0000972C // (set) Token: 0x0600018A RID: 394 RVA: 0x0000A83C File Offset: 0x00008A3C
public ulong RoomId public ulong RoomId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1576,9 +1579,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700004C RID: 76 // Token: 0x1700008E RID: 142
// (get) Token: 0x060000FF RID: 255 RVA: 0x0000B538 File Offset: 0x00009738 // (get) Token: 0x0600018B RID: 395 RVA: 0x0000A848 File Offset: 0x00008A48
// (set) Token: 0x06000100 RID: 256 RVA: 0x0000B550 File Offset: 0x00009750 // (set) Token: 0x0600018C RID: 396 RVA: 0x0000A860 File Offset: 0x00008A60
public string RoomSceneLocationId public string RoomSceneLocationId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1593,9 +1596,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700004D RID: 77 // Token: 0x1700008F RID: 143
// (get) Token: 0x06000101 RID: 257 RVA: 0x0000B55C File Offset: 0x0000975C // (get) Token: 0x0600018D RID: 397 RVA: 0x0000A86C File Offset: 0x00008A6C
// (set) Token: 0x06000102 RID: 258 RVA: 0x0000B574 File Offset: 0x00009774 // (set) Token: 0x0600018E RID: 398 RVA: 0x0000A884 File Offset: 0x00008A84
public string Name public string Name
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1610,9 +1613,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700004E RID: 78 // Token: 0x17000090 RID: 144
// (get) Token: 0x06000103 RID: 259 RVA: 0x0000B580 File Offset: 0x00009780 // (get) Token: 0x0600018F RID: 399 RVA: 0x0000A890 File Offset: 0x00008A90
// (set) Token: 0x06000104 RID: 260 RVA: 0x0000B598 File Offset: 0x00009798 // (set) Token: 0x06000190 RID: 400 RVA: 0x0000A8A8 File Offset: 0x00008AA8
public bool IsSandbox public bool IsSandbox
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1627,9 +1630,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700004F RID: 79 // Token: 0x17000091 RID: 145
// (get) Token: 0x06000105 RID: 261 RVA: 0x0000B5A4 File Offset: 0x000097A4 // (get) Token: 0x06000191 RID: 401 RVA: 0x0000A8B4 File Offset: 0x00008AB4
// (set) Token: 0x06000106 RID: 262 RVA: 0x0000B5BC File Offset: 0x000097BC // (set) Token: 0x06000192 RID: 402 RVA: 0x0000A8CC File Offset: 0x00008ACC
public string DataBlobName public string DataBlobName
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1644,9 +1647,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000050 RID: 80 // Token: 0x17000092 RID: 146
// (get) Token: 0x06000107 RID: 263 RVA: 0x0000B5C8 File Offset: 0x000097C8 // (get) Token: 0x06000193 RID: 403 RVA: 0x0000A8D8 File Offset: 0x00008AD8
// (set) Token: 0x06000108 RID: 264 RVA: 0x0000B5E0 File Offset: 0x000097E0 // (set) Token: 0x06000194 RID: 404 RVA: 0x0000A8F0 File Offset: 0x00008AF0
public int MaxPlayers public int MaxPlayers
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1661,9 +1664,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000051 RID: 81 // Token: 0x17000093 RID: 147
// (get) Token: 0x06000109 RID: 265 RVA: 0x0000B5EC File Offset: 0x000097EC // (get) Token: 0x06000195 RID: 405 RVA: 0x0000A8FC File Offset: 0x00008AFC
// (set) Token: 0x0600010A RID: 266 RVA: 0x0000B604 File Offset: 0x00009804 // (set) Token: 0x06000196 RID: 406 RVA: 0x0000A914 File Offset: 0x00008B14
public bool CanMatchmakeInto public bool CanMatchmakeInto
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1678,9 +1681,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000052 RID: 82 // Token: 0x17000094 RID: 148
// (get) Token: 0x0600010B RID: 267 RVA: 0x0000B610 File Offset: 0x00009810 // (get) Token: 0x06000197 RID: 407 RVA: 0x0000A920 File Offset: 0x00008B20
// (set) Token: 0x0600010C RID: 268 RVA: 0x0000B628 File Offset: 0x00009828 // (set) Token: 0x06000198 RID: 408 RVA: 0x0000A938 File Offset: 0x00008B38
public DateTime DataModifiedAt public DateTime DataModifiedAt
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1695,70 +1698,70 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000053 RID: 83 // Token: 0x17000095 RID: 149
// (get) Token: 0x0600010D RID: 269 RVA: 0x0000B632 File Offset: 0x00009832 // (get) Token: 0x06000199 RID: 409 RVA: 0x0000A942 File Offset: 0x00008B42
// (set) Token: 0x0600010E RID: 270 RVA: 0x0000B63A File Offset: 0x0000983A // (set) Token: 0x0600019A RID: 410 RVA: 0x0000A94A File Offset: 0x00008B4A
public string ReplicationId { get; set; } public string ReplicationId { get; set; }
// Token: 0x17000054 RID: 84 // Token: 0x17000096 RID: 150
// (get) Token: 0x0600010F RID: 271 RVA: 0x0000B643 File Offset: 0x00009843 // (get) Token: 0x0600019B RID: 411 RVA: 0x0000A953 File Offset: 0x00008B53
// (set) Token: 0x06000110 RID: 272 RVA: 0x0000B64B File Offset: 0x0000984B // (set) Token: 0x0600019C RID: 412 RVA: 0x0000A95B File Offset: 0x00008B5B
public bool UseLevelBasedMatchmaking { get; set; } public bool UseLevelBasedMatchmaking { get; set; }
// Token: 0x17000055 RID: 85 // Token: 0x17000097 RID: 151
// (get) Token: 0x06000111 RID: 273 RVA: 0x0000B654 File Offset: 0x00009854 // (get) Token: 0x0600019D RID: 413 RVA: 0x0000A964 File Offset: 0x00008B64
// (set) Token: 0x06000112 RID: 274 RVA: 0x0000B65C File Offset: 0x0000985C // (set) Token: 0x0600019E RID: 414 RVA: 0x0000A96C File Offset: 0x00008B6C
public bool UseAgeBasedMatchmaking { get; set; } public bool UseAgeBasedMatchmaking { get; set; }
// Token: 0x17000056 RID: 86 // Token: 0x17000098 RID: 152
// (get) Token: 0x06000113 RID: 275 RVA: 0x0000B665 File Offset: 0x00009865 // (get) Token: 0x0600019F RID: 415 RVA: 0x0000A975 File Offset: 0x00008B75
// (set) Token: 0x06000114 RID: 276 RVA: 0x0000B66D File Offset: 0x0000986D // (set) Token: 0x060001A0 RID: 416 RVA: 0x0000A97D File Offset: 0x00008B7D
public bool UseRecRoyaleMatchmaking { get; set; } public bool UseRecRoyaleMatchmaking { get; set; }
// Token: 0x17000057 RID: 87 // Token: 0x17000099 RID: 153
// (get) Token: 0x06000115 RID: 277 RVA: 0x0000B676 File Offset: 0x00009876 // (get) Token: 0x060001A1 RID: 417 RVA: 0x0000A986 File Offset: 0x00008B86
// (set) Token: 0x06000116 RID: 278 RVA: 0x0000B67E File Offset: 0x0000987E // (set) Token: 0x060001A2 RID: 418 RVA: 0x0000A98E File Offset: 0x00008B8E
public int ReleaseStatus { get; set; } public int ReleaseStatus { get; set; }
// Token: 0x17000058 RID: 88 // Token: 0x1700009A RID: 154
// (get) Token: 0x06000117 RID: 279 RVA: 0x0000B687 File Offset: 0x00009887 // (get) Token: 0x060001A3 RID: 419 RVA: 0x0000A997 File Offset: 0x00008B97
// (set) Token: 0x06000118 RID: 280 RVA: 0x0000B68F File Offset: 0x0000988F // (set) Token: 0x060001A4 RID: 420 RVA: 0x0000A99F File Offset: 0x00008B9F
public bool SupportsJoinInProgress { get; set; } public bool SupportsJoinInProgress { get; set; }
// Token: 0x0400008F RID: 143 // Token: 0x040000CF RID: 207
private long f00002c; private long f00002c;
// Token: 0x04000090 RID: 144 // Token: 0x040000D0 RID: 208
private ulong f000023; private ulong f000023;
// Token: 0x04000091 RID: 145 // Token: 0x040000D1 RID: 209
private string f000003; private string f000003;
// Token: 0x04000092 RID: 146 // Token: 0x040000D2 RID: 210
private string f000035; private string f000035;
// Token: 0x04000093 RID: 147 // Token: 0x040000D3 RID: 211
private bool f000073; private bool f000073;
// Token: 0x04000094 RID: 148 // Token: 0x040000D4 RID: 212
private string f00000e; private string f00000e;
// Token: 0x04000095 RID: 149 // Token: 0x040000D5 RID: 213
private int f000007; private int f000007;
// Token: 0x04000096 RID: 150 // Token: 0x040000D6 RID: 214
private bool f000017; private bool f000017;
// Token: 0x04000097 RID: 151 // Token: 0x040000D7 RID: 215
private DateTime f000074; private DateTime f000074;
} }
// Token: 0x0200002D RID: 45 // Token: 0x0200003F RID: 63
public sealed class c000060 public sealed class c000060
{ {
// Token: 0x17000059 RID: 89 // Token: 0x1700009B RID: 155
// (get) Token: 0x0600011A RID: 282 RVA: 0x0000B6A4 File Offset: 0x000098A4 // (get) Token: 0x060001A6 RID: 422 RVA: 0x0000A9B4 File Offset: 0x00008BB4
// (set) Token: 0x0600011B RID: 283 RVA: 0x0000B6BC File Offset: 0x000098BC // (set) Token: 0x060001A7 RID: 423 RVA: 0x0000A9CC File Offset: 0x00008BCC
public c00005d.c000061 Room public c00005d.c000061 Room
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1773,9 +1776,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005A RID: 90 // Token: 0x1700009C RID: 156
// (get) Token: 0x0600011C RID: 284 RVA: 0x0000B6C8 File Offset: 0x000098C8 // (get) Token: 0x060001A8 RID: 424 RVA: 0x0000A9D8 File Offset: 0x00008BD8
// (set) Token: 0x0600011D RID: 285 RVA: 0x0000B6E0 File Offset: 0x000098E0 // (set) Token: 0x060001A9 RID: 425 RVA: 0x0000A9F0 File Offset: 0x00008BF0
public List<c00005d.c00005f> Scenes public List<c00005d.c00005f> Scenes
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1790,9 +1793,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005B RID: 91 // Token: 0x1700009D RID: 157
// (get) Token: 0x0600011E RID: 286 RVA: 0x0000B6EC File Offset: 0x000098EC // (get) Token: 0x060001AA RID: 426 RVA: 0x0000A9FC File Offset: 0x00008BFC
// (set) Token: 0x0600011F RID: 287 RVA: 0x0000B704 File Offset: 0x00009904 // (set) Token: 0x060001AB RID: 427 RVA: 0x0000AA14 File Offset: 0x00008C14
public List<int> CoOwners public List<int> CoOwners
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1807,9 +1810,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005C RID: 92 // Token: 0x1700009E RID: 158
// (get) Token: 0x06000120 RID: 288 RVA: 0x0000B710 File Offset: 0x00009910 // (get) Token: 0x060001AC RID: 428 RVA: 0x0000AA20 File Offset: 0x00008C20
// (set) Token: 0x06000121 RID: 289 RVA: 0x0000B728 File Offset: 0x00009928 // (set) Token: 0x060001AD RID: 429 RVA: 0x0000AA38 File Offset: 0x00008C38
public List<int> InvitedCoOwners public List<int> InvitedCoOwners
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1824,9 +1827,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005D RID: 93 // Token: 0x1700009F RID: 159
// (get) Token: 0x06000122 RID: 290 RVA: 0x0000B734 File Offset: 0x00009934 // (get) Token: 0x060001AE RID: 430 RVA: 0x0000AA44 File Offset: 0x00008C44
// (set) Token: 0x06000123 RID: 291 RVA: 0x0000B74C File Offset: 0x0000994C // (set) Token: 0x060001AF RID: 431 RVA: 0x0000AA5C File Offset: 0x00008C5C
public List<int> Hosts public List<int> Hosts
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1841,9 +1844,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005E RID: 94 // Token: 0x170000A0 RID: 160
// (get) Token: 0x06000124 RID: 292 RVA: 0x0000B758 File Offset: 0x00009958 // (get) Token: 0x060001B0 RID: 432 RVA: 0x0000AA68 File Offset: 0x00008C68
// (set) Token: 0x06000125 RID: 293 RVA: 0x0000B770 File Offset: 0x00009970 // (set) Token: 0x060001B1 RID: 433 RVA: 0x0000AA80 File Offset: 0x00008C80
public List<int> InvitedHosts public List<int> InvitedHosts
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1858,9 +1861,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700005F RID: 95 // Token: 0x170000A1 RID: 161
// (get) Token: 0x06000126 RID: 294 RVA: 0x0000B77C File Offset: 0x0000997C // (get) Token: 0x060001B2 RID: 434 RVA: 0x0000AA8C File Offset: 0x00008C8C
// (set) Token: 0x06000127 RID: 295 RVA: 0x0000B794 File Offset: 0x00009994 // (set) Token: 0x060001B3 RID: 435 RVA: 0x0000AAA4 File Offset: 0x00008CA4
public int CheerCount public int CheerCount
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1875,9 +1878,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000060 RID: 96 // Token: 0x170000A2 RID: 162
// (get) Token: 0x06000128 RID: 296 RVA: 0x0000B7A0 File Offset: 0x000099A0 // (get) Token: 0x060001B4 RID: 436 RVA: 0x0000AAB0 File Offset: 0x00008CB0
// (set) Token: 0x06000129 RID: 297 RVA: 0x0000B7B8 File Offset: 0x000099B8 // (set) Token: 0x060001B5 RID: 437 RVA: 0x0000AAC8 File Offset: 0x00008CC8
public int FavoriteCount public int FavoriteCount
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1892,9 +1895,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000061 RID: 97 // Token: 0x170000A3 RID: 163
// (get) Token: 0x0600012A RID: 298 RVA: 0x0000B7C4 File Offset: 0x000099C4 // (get) Token: 0x060001B6 RID: 438 RVA: 0x0000AAD4 File Offset: 0x00008CD4
// (set) Token: 0x0600012B RID: 299 RVA: 0x0000B7DC File Offset: 0x000099DC // (set) Token: 0x060001B7 RID: 439 RVA: 0x0000AAEC File Offset: 0x00008CEC
public int VisitCount public int VisitCount
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1909,9 +1912,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000062 RID: 98 // Token: 0x170000A4 RID: 164
// (get) Token: 0x0600012C RID: 300 RVA: 0x0000B7E8 File Offset: 0x000099E8 // (get) Token: 0x060001B8 RID: 440 RVA: 0x0000AAF8 File Offset: 0x00008CF8
// (set) Token: 0x0600012D RID: 301 RVA: 0x0000B800 File Offset: 0x00009A00 // (set) Token: 0x060001B9 RID: 441 RVA: 0x0000AB10 File Offset: 0x00008D10
public List<c00005d.c000063> Tags public List<c00005d.c000063> Tags
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1926,37 +1929,37 @@ namespace vaultgamesesh
} }
} }
// Token: 0x04000098 RID: 152 // Token: 0x040000D8 RID: 216
private c00005d.c000061 f00002d; private c00005d.c000061 f00002d;
// Token: 0x04000099 RID: 153 // Token: 0x040000D9 RID: 217
private List<c00005d.c00005f> f000031; private List<c00005d.c00005f> f000031;
// Token: 0x0400009A RID: 154 // Token: 0x040000DA RID: 218
private List<int> f000034; private List<int> f000034;
// Token: 0x0400009B RID: 155 // Token: 0x040000DB RID: 219
private List<int> f00002a; private List<int> f00002a;
// Token: 0x0400009C RID: 156 // Token: 0x040000DC RID: 220
private int f000005; private int f000005;
// Token: 0x0400009D RID: 157 // Token: 0x040000DD RID: 221
private int f000006; private int f000006;
// Token: 0x0400009E RID: 158 // Token: 0x040000DE RID: 222
private int f000007; private int f000007;
// Token: 0x0400009F RID: 159 // Token: 0x040000DF RID: 223
private List<c00005d.c000063> f000075; private List<c00005d.c000063> f000075;
} }
// Token: 0x0200002E RID: 46 // Token: 0x02000040 RID: 64
public sealed class c000061 public sealed class c000061
{ {
// Token: 0x17000063 RID: 99 // Token: 0x170000A5 RID: 165
// (get) Token: 0x0600012F RID: 303 RVA: 0x0000B814 File Offset: 0x00009A14 // (get) Token: 0x060001BB RID: 443 RVA: 0x0000AB24 File Offset: 0x00008D24
// (set) Token: 0x06000130 RID: 304 RVA: 0x0000B82C File Offset: 0x00009A2C // (set) Token: 0x060001BC RID: 444 RVA: 0x0000AB3C File Offset: 0x00008D3C
public ulong RoomId public ulong RoomId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1971,9 +1974,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000064 RID: 100 // Token: 0x170000A6 RID: 166
// (get) Token: 0x06000131 RID: 305 RVA: 0x0000B838 File Offset: 0x00009A38 // (get) Token: 0x060001BD RID: 445 RVA: 0x0000AB48 File Offset: 0x00008D48
// (set) Token: 0x06000132 RID: 306 RVA: 0x0000B850 File Offset: 0x00009A50 // (set) Token: 0x060001BE RID: 446 RVA: 0x0000AB60 File Offset: 0x00008D60
public string Name public string Name
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -1988,9 +1991,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000065 RID: 101 // Token: 0x170000A7 RID: 167
// (get) Token: 0x06000133 RID: 307 RVA: 0x0000B85C File Offset: 0x00009A5C // (get) Token: 0x060001BF RID: 447 RVA: 0x0000AB6C File Offset: 0x00008D6C
// (set) Token: 0x06000134 RID: 308 RVA: 0x0000B874 File Offset: 0x00009A74 // (set) Token: 0x060001C0 RID: 448 RVA: 0x0000AB84 File Offset: 0x00008D84
public string Description public string Description
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2005,9 +2008,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000066 RID: 102 // Token: 0x170000A8 RID: 168
// (get) Token: 0x06000135 RID: 309 RVA: 0x0000B880 File Offset: 0x00009A80 // (get) Token: 0x060001C1 RID: 449 RVA: 0x0000AB90 File Offset: 0x00008D90
// (set) Token: 0x06000136 RID: 310 RVA: 0x0000B898 File Offset: 0x00009A98 // (set) Token: 0x060001C2 RID: 450 RVA: 0x0000ABA8 File Offset: 0x00008DA8
public ulong CreatorPlayerId public ulong CreatorPlayerId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2022,9 +2025,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000067 RID: 103 // Token: 0x170000A9 RID: 169
// (get) Token: 0x06000137 RID: 311 RVA: 0x0000B8A4 File Offset: 0x00009AA4 // (get) Token: 0x060001C3 RID: 451 RVA: 0x0000ABB4 File Offset: 0x00008DB4
// (set) Token: 0x06000138 RID: 312 RVA: 0x0000B8BC File Offset: 0x00009ABC // (set) Token: 0x060001C4 RID: 452 RVA: 0x0000ABCC File Offset: 0x00008DCC
public string ImageName public string ImageName
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2039,9 +2042,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000068 RID: 104 // Token: 0x170000AA RID: 170
// (get) Token: 0x06000139 RID: 313 RVA: 0x0000B8C8 File Offset: 0x00009AC8 // (get) Token: 0x060001C5 RID: 453 RVA: 0x0000ABD8 File Offset: 0x00008DD8
// (set) Token: 0x0600013A RID: 314 RVA: 0x0000B8E0 File Offset: 0x00009AE0 // (set) Token: 0x060001C6 RID: 454 RVA: 0x0000ABF0 File Offset: 0x00008DF0
public int State public int State
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2056,9 +2059,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000069 RID: 105 // Token: 0x170000AB RID: 171
// (get) Token: 0x0600013B RID: 315 RVA: 0x0000B8EC File Offset: 0x00009AEC // (get) Token: 0x060001C7 RID: 455 RVA: 0x0000ABFC File Offset: 0x00008DFC
// (set) Token: 0x0600013C RID: 316 RVA: 0x0000B904 File Offset: 0x00009B04 // (set) Token: 0x060001C8 RID: 456 RVA: 0x0000AC14 File Offset: 0x00008E14
public int Accessibility public int Accessibility
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2073,9 +2076,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006A RID: 106 // Token: 0x170000AC RID: 172
// (get) Token: 0x0600013D RID: 317 RVA: 0x0000B910 File Offset: 0x00009B10 // (get) Token: 0x060001C9 RID: 457 RVA: 0x0000AC20 File Offset: 0x00008E20
// (set) Token: 0x0600013E RID: 318 RVA: 0x0000B928 File Offset: 0x00009B28 // (set) Token: 0x060001CA RID: 458 RVA: 0x0000AC38 File Offset: 0x00008E38
public bool SupportsLevelVoting public bool SupportsLevelVoting
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2090,9 +2093,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006B RID: 107 // Token: 0x170000AD RID: 173
// (get) Token: 0x0600013F RID: 319 RVA: 0x0000B934 File Offset: 0x00009B34 // (get) Token: 0x060001CB RID: 459 RVA: 0x0000AC44 File Offset: 0x00008E44
// (set) Token: 0x06000140 RID: 320 RVA: 0x0000B94C File Offset: 0x00009B4C // (set) Token: 0x060001CC RID: 460 RVA: 0x0000AC5C File Offset: 0x00008E5C
public bool IsAGRoom public bool IsAGRoom
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2107,9 +2110,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006C RID: 108 // Token: 0x170000AE RID: 174
// (get) Token: 0x06000141 RID: 321 RVA: 0x0000B958 File Offset: 0x00009B58 // (get) Token: 0x060001CD RID: 461 RVA: 0x0000AC68 File Offset: 0x00008E68
// (set) Token: 0x06000142 RID: 322 RVA: 0x0000B970 File Offset: 0x00009B70 // (set) Token: 0x060001CE RID: 462 RVA: 0x0000AC80 File Offset: 0x00008E80
public bool CloningAllowed public bool CloningAllowed
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2124,9 +2127,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006D RID: 109 // Token: 0x170000AF RID: 175
// (get) Token: 0x06000143 RID: 323 RVA: 0x0000B97C File Offset: 0x00009B7C // (get) Token: 0x060001CF RID: 463 RVA: 0x0000AC8C File Offset: 0x00008E8C
// (set) Token: 0x06000144 RID: 324 RVA: 0x0000B994 File Offset: 0x00009B94 // (set) Token: 0x060001D0 RID: 464 RVA: 0x0000ACA4 File Offset: 0x00008EA4
public bool SupportsScreens public bool SupportsScreens
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2141,9 +2144,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006E RID: 110 // Token: 0x170000B0 RID: 176
// (get) Token: 0x06000145 RID: 325 RVA: 0x0000B9A0 File Offset: 0x00009BA0 // (get) Token: 0x060001D1 RID: 465 RVA: 0x0000ACB0 File Offset: 0x00008EB0
// (set) Token: 0x06000146 RID: 326 RVA: 0x0000B9B8 File Offset: 0x00009BB8 // (set) Token: 0x060001D2 RID: 466 RVA: 0x0000ACC8 File Offset: 0x00008EC8
public bool SupportsWalkVR public bool SupportsWalkVR
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2158,9 +2161,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x1700006F RID: 111 // Token: 0x170000B1 RID: 177
// (get) Token: 0x06000147 RID: 327 RVA: 0x0000B9C4 File Offset: 0x00009BC4 // (get) Token: 0x060001D3 RID: 467 RVA: 0x0000ACD4 File Offset: 0x00008ED4
// (set) Token: 0x06000148 RID: 328 RVA: 0x0000B9DC File Offset: 0x00009BDC // (set) Token: 0x060001D4 RID: 468 RVA: 0x0000ACEC File Offset: 0x00008EEC
public bool SupportsTeleportVR public bool SupportsTeleportVR
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2175,62 +2178,62 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000070 RID: 112 // Token: 0x170000B2 RID: 178
// (get) Token: 0x06000149 RID: 329 RVA: 0x0000B9E6 File Offset: 0x00009BE6 // (get) Token: 0x060001D5 RID: 469 RVA: 0x0000ACF6 File Offset: 0x00008EF6
// (set) Token: 0x0600014A RID: 330 RVA: 0x0000B9EE File Offset: 0x00009BEE // (set) Token: 0x060001D6 RID: 470 RVA: 0x0000ACFE File Offset: 0x00008EFE
public string ReplicationId { get; set; } public string ReplicationId { get; set; }
// Token: 0x17000071 RID: 113 // Token: 0x170000B3 RID: 179
// (get) Token: 0x0600014B RID: 331 RVA: 0x0000B9F7 File Offset: 0x00009BF7 // (get) Token: 0x060001D7 RID: 471 RVA: 0x0000AD07 File Offset: 0x00008F07
// (set) Token: 0x0600014C RID: 332 RVA: 0x0000B9FF File Offset: 0x00009BFF // (set) Token: 0x060001D8 RID: 472 RVA: 0x0000AD0F File Offset: 0x00008F0F
public int ReleaseStatus { get; set; } public int ReleaseStatus { get; set; }
// Token: 0x040000A2 RID: 162 // Token: 0x040000E2 RID: 226
private ulong f000001; private ulong f000001;
// Token: 0x040000A3 RID: 163 // Token: 0x040000E3 RID: 227
private string f000002; private string f000002;
// Token: 0x040000A4 RID: 164 // Token: 0x040000E4 RID: 228
private string f000003; private string f000003;
// Token: 0x040000A5 RID: 165 // Token: 0x040000E5 RID: 229
private ulong f000076; private ulong f000076;
// Token: 0x040000A6 RID: 166 // Token: 0x040000E6 RID: 230
private string f000036; private string f000036;
// Token: 0x040000A7 RID: 167 // Token: 0x040000E7 RID: 231
private int f000006; private int f000006;
// Token: 0x040000A8 RID: 168 // Token: 0x040000E8 RID: 232
private int f000007; private int f000007;
// Token: 0x040000A9 RID: 169 // Token: 0x040000E9 RID: 233
private bool f000017; private bool f000017;
// Token: 0x040000AA RID: 170 // Token: 0x040000EA RID: 234
private bool f000077; private bool f000077;
// Token: 0x040000AB RID: 171 // Token: 0x040000EB RID: 235
private bool f000018; private bool f000018;
// Token: 0x040000AC RID: 172 // Token: 0x040000EC RID: 236
private bool f000019; private bool f000019;
// Token: 0x040000AD RID: 173 // Token: 0x040000ED RID: 237
private bool f00001a; private bool f00001a;
// Token: 0x040000AE RID: 174 // Token: 0x040000EE RID: 238
private bool f00001b; private bool f00001b;
} }
// Token: 0x0200002F RID: 47 // Token: 0x02000041 RID: 65
public sealed class c000062 public sealed class c000062
{ {
// Token: 0x17000072 RID: 114 // Token: 0x170000B4 RID: 180
// (get) Token: 0x0600014E RID: 334 RVA: 0x0000BA14 File Offset: 0x00009C14 // (get) Token: 0x060001DA RID: 474 RVA: 0x0000AD24 File Offset: 0x00008F24
// (set) Token: 0x0600014F RID: 335 RVA: 0x0000BA2C File Offset: 0x00009C2C // (set) Token: 0x060001DB RID: 475 RVA: 0x0000AD3C File Offset: 0x00008F3C
public string RoomName public string RoomName
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2245,9 +2248,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000073 RID: 115 // Token: 0x170000B5 RID: 181
// (get) Token: 0x06000150 RID: 336 RVA: 0x0000BA38 File Offset: 0x00009C38 // (get) Token: 0x060001DC RID: 476 RVA: 0x0000AD48 File Offset: 0x00008F48
// (set) Token: 0x06000151 RID: 337 RVA: 0x0000BA50 File Offset: 0x00009C50 // (set) Token: 0x060001DD RID: 477 RVA: 0x0000AD60 File Offset: 0x00008F60
public long RoomId public long RoomId
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2262,9 +2265,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000074 RID: 116 // Token: 0x170000B6 RID: 182
// (get) Token: 0x06000152 RID: 338 RVA: 0x0000BA5C File Offset: 0x00009C5C // (get) Token: 0x060001DE RID: 478 RVA: 0x0000AD6C File Offset: 0x00008F6C
// (set) Token: 0x06000153 RID: 339 RVA: 0x0000BA74 File Offset: 0x00009C74 // (set) Token: 0x060001DF RID: 479 RVA: 0x0000AD84 File Offset: 0x00008F84
public string ImageName public string ImageName
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2279,22 +2282,22 @@ namespace vaultgamesesh
} }
} }
// Token: 0x040000AF RID: 175 // Token: 0x040000EF RID: 239
private string f00000a; private string f00000a;
// Token: 0x040000B0 RID: 176 // Token: 0x040000F0 RID: 240
private long f00002e; private long f00002e;
// Token: 0x040000B1 RID: 177 // Token: 0x040000F1 RID: 241
private string f000003; private string f000003;
} }
// Token: 0x02000030 RID: 48 // Token: 0x02000042 RID: 66
public sealed class c000063 public sealed class c000063
{ {
// Token: 0x17000075 RID: 117 // Token: 0x170000B7 RID: 183
// (get) Token: 0x06000155 RID: 341 RVA: 0x0000BA88 File Offset: 0x00009C88 // (get) Token: 0x060001E1 RID: 481 RVA: 0x0000AD98 File Offset: 0x00008F98
// (set) Token: 0x06000156 RID: 342 RVA: 0x0000BAA0 File Offset: 0x00009CA0 // (set) Token: 0x060001E2 RID: 482 RVA: 0x0000ADB0 File Offset: 0x00008FB0
public string Tag public string Tag
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2309,9 +2312,9 @@ namespace vaultgamesesh
} }
} }
// Token: 0x17000076 RID: 118 // Token: 0x170000B8 RID: 184
// (get) Token: 0x06000157 RID: 343 RVA: 0x0000BAAC File Offset: 0x00009CAC // (get) Token: 0x060001E3 RID: 483 RVA: 0x0000ADBC File Offset: 0x00008FBC
// (set) Token: 0x06000158 RID: 344 RVA: 0x0000BAC4 File Offset: 0x00009CC4 // (set) Token: 0x060001E4 RID: 484 RVA: 0x0000ADD4 File Offset: 0x00008FD4
public int Type public int Type
{ {
[CompilerGenerated] [CompilerGenerated]
@@ -2326,32 +2329,32 @@ namespace vaultgamesesh
} }
} }
// Token: 0x040000B2 RID: 178 // Token: 0x040000F2 RID: 242
private string f00000a; private string f00000a;
// Token: 0x040000B3 RID: 179 // Token: 0x040000F3 RID: 243
private int f00000b; private int f00000b;
} }
// Token: 0x02000031 RID: 49 // Token: 0x02000043 RID: 67
public enum enum064 public enum enum064
{ {
} }
// Token: 0x02000032 RID: 50 // Token: 0x02000044 RID: 68
public enum enum065 public enum enum065
{ {
} }
// Token: 0x02000033 RID: 51 // Token: 0x02000045 RID: 69
public enum enum066 public enum enum066
{ {
} }
// Token: 0x02000034 RID: 52 // Token: 0x02000046 RID: 70
public enum enum067 public enum enum067
{ {