mirror of
https://github.com/recroom2016/OpenRec.git
synced 2026-04-22 21:25:51 +00:00
Compare commits
106 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b97080e3a | ||
|
|
0555b44676 | ||
|
|
869f5ff80b | ||
|
|
bb7c545caf | ||
|
|
1bdf95f5e9 | ||
|
|
74c8487c65 | ||
|
|
a331672d4f | ||
|
|
d8c03700cc | ||
|
|
32ba6f8d12 | ||
|
|
5e276a02cd | ||
|
|
f4547c9dc3 | ||
|
|
bf34030107 | ||
|
|
154220dace | ||
|
|
696feb3887 | ||
|
|
02d5026f7a | ||
|
|
07aff4769c | ||
|
|
25bb2f2db8 | ||
|
|
0f1955581b | ||
|
|
b81f3a1945 | ||
|
|
f80b4e1ea2 | ||
|
|
16c581c73f | ||
|
|
fd2c36f3dd | ||
|
|
17f85974bd | ||
|
|
3d9f7cc873 | ||
|
|
92a031fc7f | ||
|
|
8a5396e8df | ||
|
|
9bac769056 | ||
|
|
38af2edbd8 | ||
|
|
5b5712bcc1 | ||
|
|
51c6a2ace4 | ||
|
|
5aa4f2c4ae | ||
|
|
a7ace2f895 | ||
|
|
a2775a6d95 | ||
|
|
a5ef24a1e1 | ||
|
|
dbfb132d6c | ||
|
|
6fe87123b5 | ||
|
|
9a86d1d88e | ||
|
|
f39c7cefa3 | ||
|
|
1f94738349 | ||
|
|
02e55a3428 | ||
|
|
0137b18e98 | ||
|
|
2a6788cf9d | ||
|
|
d615e009dd | ||
|
|
33540f1a25 | ||
|
|
aae35a6c28 | ||
|
|
e08fb285f8 | ||
|
|
1ae28dc203 | ||
|
|
e00ac817a1 | ||
|
|
c68360e030 | ||
|
|
1cc3ad4a0b | ||
|
|
230058717c | ||
|
|
15e21f6610 | ||
|
|
d8a619efcd | ||
|
|
cb7414eb8d | ||
|
|
02dfb1e409 | ||
|
|
5aff58844a | ||
|
|
21553584c1 | ||
|
|
41c603233e | ||
|
|
7d4c449151 | ||
|
|
ebd28aef74 | ||
|
|
8057427772 | ||
|
|
0e0da58f81 | ||
|
|
001423935c | ||
|
|
c000b151bf | ||
|
|
467230ef1b | ||
|
|
907fd6c472 | ||
|
|
dfb0bf7a66 | ||
|
|
540f18f19b | ||
|
|
30f6657c74 | ||
|
|
76c86ca4f6 | ||
|
|
0297845357 | ||
|
|
73202952da | ||
|
|
8be5b35339 | ||
|
|
8e6207c335 | ||
|
|
3fc8f954c1 | ||
|
|
2344b111d5 | ||
|
|
3d26270a55 | ||
|
|
9d5fb0432f | ||
|
|
81249c9efe | ||
|
|
e8ffebaf2f | ||
|
|
83ca99fbcb | ||
|
|
38c33ff4a2 | ||
|
|
7b7eb4326b | ||
|
|
10cfabf1d0 | ||
|
|
203a3e0002 | ||
|
|
a8f6aaf90d | ||
|
|
bc3701e9e4 | ||
|
|
c4f1e97a51 | ||
|
|
07c12f2cb7 | ||
|
|
cf81be7329 | ||
|
|
f702725b9b | ||
|
|
3bd0fa5ba3 | ||
|
|
59330ea345 | ||
|
|
57a2ff3462 | ||
|
|
aab1932199 | ||
|
|
857a1768ba | ||
|
|
2d54a04613 | ||
|
|
3f81862763 | ||
|
|
9c18f042b9 | ||
|
|
dc949325a1 | ||
|
|
88b37a9bbc | ||
|
|
3a8c07098d | ||
|
|
ada0777275 | ||
|
|
21706a82fb | ||
|
|
8024724946 | ||
|
|
009a5d48e2 |
63
.gitattributes
vendored
63
.gitattributes
vendored
@@ -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
|
||||
346
APIServer.cs
346
APIServer.cs
@@ -7,6 +7,8 @@ using api;
|
||||
using api2018;
|
||||
using api2017;
|
||||
using Newtonsoft.Json;
|
||||
using vaultgamesesh;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace server
|
||||
{
|
||||
@@ -16,7 +18,7 @@ namespace server
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine("APIServer.cs has started.");
|
||||
Console.WriteLine("[APIServer.cs] has started.");
|
||||
new Thread(new ThreadStart(this.StartListen)).Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -28,14 +30,156 @@ namespace server
|
||||
{
|
||||
try
|
||||
{
|
||||
//3 different servers for 3 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 + "/");
|
||||
if (start.Program.version == "2016")
|
||||
{
|
||||
for (; ; )
|
||||
{
|
||||
this.listener.Start();
|
||||
Console.WriteLine("[APIServer.cs] is listening.");
|
||||
HttpListenerContext context = this.listener.GetContext();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
string rawUrl = request.RawUrl;
|
||||
string Url = "";
|
||||
bool image = false;
|
||||
byte[] imagebyte = null;
|
||||
if (rawUrl.StartsWith("/api/"))
|
||||
{
|
||||
Url = rawUrl.Remove(0, 5);
|
||||
}
|
||||
string text;
|
||||
string s = "";
|
||||
using (StreamReader streamReader = new StreamReader(request.InputStream, request.ContentEncoding))
|
||||
{
|
||||
text = streamReader.ReadToEnd();
|
||||
}
|
||||
if (!(Url == ""))
|
||||
{
|
||||
Console.WriteLine("API Requested: " + Url);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
|
||||
}
|
||||
if (!(Url == "images/v2/profile"))
|
||||
{
|
||||
Console.WriteLine("API Data: " + text);
|
||||
}
|
||||
if (Url.StartsWith("versioncheck"))
|
||||
{
|
||||
s = VersionCheckResponse;
|
||||
}
|
||||
if (Url == ("config/v2"))
|
||||
{
|
||||
s = Config2.GetDebugConfig();
|
||||
}
|
||||
if (Url == "notification/v2")
|
||||
{
|
||||
s = "[]";
|
||||
}
|
||||
if (Url == "PlayerReporting/v1/moderationBlockDetails")
|
||||
{
|
||||
s = ModerationBlockDetails;
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
s = Banned;
|
||||
}
|
||||
}
|
||||
if (Url == "config/v1/amplitude")
|
||||
{
|
||||
s = Amplitude.amplitude();
|
||||
}
|
||||
if (Url == "players/v1/getorcreate")
|
||||
{
|
||||
s = getorcreate.GetOrCreate((ulong.Parse(text.Remove(0, 32).Remove(7, text.Length - 39))));
|
||||
}
|
||||
if (Url.StartsWith("images/v1/profile/"))
|
||||
{
|
||||
image = true;
|
||||
imagebyte = File.ReadAllBytes("SaveData\\profileimage.png");
|
||||
}
|
||||
if (Url == "avatar/v2")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\avatar.txt");
|
||||
}
|
||||
if (Url == "avatar/v2/set")
|
||||
{
|
||||
//for later 2018 builds compatibility
|
||||
if (!(text.Contains("FaceFeatures")))
|
||||
{
|
||||
string postdatacache = text;
|
||||
text = postdatacache.Remove(postdatacache.Length - 1, 1) + File.ReadAllText("SaveData\\App\\facefeaturesadd.txt");
|
||||
}
|
||||
File.WriteAllText("SaveData\\avatar.txt", text);
|
||||
}
|
||||
if (Url == "messages/v2/get")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "relationships/v2/get")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "settings/v2/")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\settings.txt");
|
||||
}
|
||||
if (Url == "settings/v2/set")
|
||||
{
|
||||
Settings.SetPlayerSettings(text);
|
||||
}
|
||||
if (Url == "avatar/v3/items")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\avataritems.txt");
|
||||
}
|
||||
if (Url == "avatar/v2/gifts")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "events/v3/list")
|
||||
{
|
||||
s = Events.list();
|
||||
}
|
||||
if (Url == "playerevents/v1/all")
|
||||
{
|
||||
s = PlayerEventsResponse;
|
||||
}
|
||||
if (Url == "activities/charades/v1/words")
|
||||
{
|
||||
s = Activities.Charades.words();
|
||||
}
|
||||
if (Url == "images/v2/profile/") //disabled with a / at the end
|
||||
{
|
||||
s = BracketResponse;
|
||||
int NewLength = text.Length - 50;
|
||||
File.WriteAllBytes("SaveData\\profileimage.png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(NewLength - 48, 48)));
|
||||
}
|
||||
Console.WriteLine("API Response: " + s);
|
||||
byte[] bytes = null;
|
||||
if (image == true)
|
||||
{
|
||||
bytes = imagebyte;
|
||||
}
|
||||
else
|
||||
{
|
||||
bytes = Encoding.UTF8.GetBytes(s);
|
||||
}
|
||||
response.ContentLength64 = (long)bytes.Length;
|
||||
Stream outputStream = response.OutputStream;
|
||||
outputStream.Write(bytes, 0, bytes.Length);
|
||||
Thread.Sleep(20);
|
||||
outputStream.Close();
|
||||
this.listener.Stop();
|
||||
}
|
||||
}
|
||||
if (start.Program.version == "2017")
|
||||
{
|
||||
for (; ; )
|
||||
{
|
||||
this.listener.Start();
|
||||
Console.WriteLine("APIServer.cs is listening.");
|
||||
Console.WriteLine("[APIServer.cs] is listening.");
|
||||
HttpListenerContext context = this.listener.GetContext();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
@@ -57,7 +201,7 @@ namespace server
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("API Requested: " + rawUrl);
|
||||
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
|
||||
}
|
||||
Console.WriteLine("API Data: " + text);
|
||||
if (Url.StartsWith("versioncheck"))
|
||||
@@ -74,6 +218,13 @@ namespace server
|
||||
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
|
||||
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
|
||||
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
|
||||
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
start.Program.bannedflag = true;
|
||||
}
|
||||
}
|
||||
if (Url == "platformlogin/v6")
|
||||
{
|
||||
@@ -82,6 +233,10 @@ namespace server
|
||||
if (Url == "PlayerReporting/v1/moderationBlockDetails")
|
||||
{
|
||||
s = ModerationBlockDetails;
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
s = Banned;
|
||||
}
|
||||
}
|
||||
if (Url == "config/v1/amplitude")
|
||||
{
|
||||
@@ -90,10 +245,18 @@ namespace server
|
||||
if (Url.StartsWith("players/v1/"))
|
||||
{
|
||||
s = getorcreate.GetOrCreate(CachedPlayerID);
|
||||
}
|
||||
if (Url == "players/v1/list")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "avatar/v2")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\avatar.txt");
|
||||
}
|
||||
if (Url == "avatar/v2/saved")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "avatar/v2/set")
|
||||
{
|
||||
@@ -141,20 +304,34 @@ namespace server
|
||||
{
|
||||
s = PlayerEventsResponse;
|
||||
}
|
||||
if (Url == "activities/charades/v1/words")
|
||||
{
|
||||
s = Activities.Charades.words();
|
||||
}
|
||||
if (Url == "gamesessions/v2/joinrandom")
|
||||
{
|
||||
s = gamesessions2018.GameSessions.JoinRandom(text);
|
||||
s = gamesesh.GameSessions.JoinRandom(text);
|
||||
}
|
||||
if (Url == "gamesessions/v2/create")
|
||||
{
|
||||
s = gamesessions2018.GameSessions.Create(text);
|
||||
s = gamesesh.GameSessions.Create(text);
|
||||
}
|
||||
if (rawUrl == "//api/sanitize/v1/isPure")
|
||||
{
|
||||
s = "{\"IsPure\":true}";
|
||||
}
|
||||
if (Url == "images/v3/profile")
|
||||
{
|
||||
s = BracketResponse;
|
||||
int NewLength = text.Length - 50;
|
||||
File.WriteAllBytes("SaveData\\profileimage.png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(NewLength - 48, 48)));
|
||||
}
|
||||
Console.WriteLine("API Response: " + s);
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(s);
|
||||
response.ContentLength64 = (long)bytes.Length;
|
||||
Stream outputStream = response.OutputStream;
|
||||
outputStream.Write(bytes, 0, bytes.Length);
|
||||
Thread.Sleep(200);
|
||||
Thread.Sleep(20);
|
||||
outputStream.Close();
|
||||
this.listener.Stop();
|
||||
}
|
||||
@@ -164,13 +341,15 @@ namespace server
|
||||
for (; ; )
|
||||
{
|
||||
this.listener.Start();
|
||||
Console.WriteLine("APIServer.cs is listening.");
|
||||
Console.WriteLine("[APIServer.cs] is listening.");
|
||||
HttpListenerContext context = this.listener.GetContext();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
List<byte> list = new List<byte>();
|
||||
string rawUrl = request.RawUrl;
|
||||
string Url = "";
|
||||
byte[] bytes = null;
|
||||
string signature = request.Headers.Get("X-RNSIG");
|
||||
if (rawUrl.StartsWith("/api/"))
|
||||
{
|
||||
Url = rawUrl.Remove(0, 5);
|
||||
@@ -181,7 +360,7 @@ namespace server
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("API Requested: " + rawUrl);
|
||||
Console.WriteLine("API Requested (rawUrl): " + rawUrl);
|
||||
}
|
||||
string text;
|
||||
string s = "";
|
||||
@@ -212,6 +391,13 @@ namespace server
|
||||
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
|
||||
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
|
||||
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
|
||||
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
start.Program.bannedflag = true;
|
||||
}
|
||||
}
|
||||
if (Url == "platformlogin/v1/loginaccount")
|
||||
{
|
||||
@@ -244,6 +430,10 @@ namespace server
|
||||
if (Url == "PlayerReporting/v1/moderationBlockDetails")
|
||||
{
|
||||
s = ModerationBlockDetails;
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
s = Banned;
|
||||
}
|
||||
}
|
||||
if (Url == "//api/chat/v2/myChats?mode=0&count=50")
|
||||
{
|
||||
@@ -261,21 +451,29 @@ namespace server
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\gameconfigs.txt");
|
||||
}
|
||||
if (Url.StartsWith("storefronts"))
|
||||
if (Url.StartsWith("storefronts/v3/giftdropstore"))
|
||||
{
|
||||
if (CachedVersionMonth == 09)
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\storefronts2.txt");
|
||||
s = BracketResponse;
|
||||
}
|
||||
else
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
}
|
||||
if (Url.StartsWith("storefronts/v3/balance/"))
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "avatar/v2")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\avatar.txt");
|
||||
}
|
||||
if (Url == "avatar/v2/saved")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "avatar/v2/set")
|
||||
{
|
||||
//for later 2018 builds compatibility
|
||||
@@ -294,17 +492,24 @@ namespace server
|
||||
{
|
||||
Settings.SetPlayerSettings(text);
|
||||
}
|
||||
if (rawUrl == "//api/chat/v2/myChats?mode=0&count=50")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "playersubscriptions/v1/my")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "avatar/v3/items")
|
||||
{
|
||||
if (CachedVersionMonth == 09)
|
||||
{
|
||||
s = BracketResponse;
|
||||
s = File.ReadAllText("SaveData\\avataritems2.txt");
|
||||
}
|
||||
else
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\avataritems.txt");
|
||||
s = File.ReadAllText("SaveData\\avataritems2.txt");
|
||||
}
|
||||
|
||||
}
|
||||
if (Url == "equipment/v1/getUnlocked")
|
||||
{
|
||||
@@ -333,6 +538,10 @@ namespace server
|
||||
{
|
||||
s = BlankResponse;
|
||||
}
|
||||
if (Url == "storefronts/v1/allGiftDrops/2")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "objectives/v1/myprogress")
|
||||
{
|
||||
s = JsonConvert.SerializeObject(new Objective2018());
|
||||
@@ -345,6 +554,10 @@ namespace server
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "rooms/v2/baserooms")
|
||||
{
|
||||
s = File.ReadAllText("SaveData\\baserooms.txt");
|
||||
}
|
||||
if (Url == "rooms/v1/mybookmarkedrooms")
|
||||
{
|
||||
s = BracketResponse;
|
||||
@@ -361,23 +574,25 @@ namespace server
|
||||
{
|
||||
s = PlayerEventsResponse;
|
||||
}
|
||||
if (Url == "activities/charades/v1/words")
|
||||
{
|
||||
s = Activities.Charades.words();
|
||||
}
|
||||
if (Url == "gamesessions/v2/joinrandom")
|
||||
{
|
||||
s = gamesessions2018.GameSessions.JoinRandom(text);
|
||||
s = gamesesh.GameSessions.JoinRandom(text);
|
||||
}
|
||||
if (Url == "gamesessions/v2/create")
|
||||
{
|
||||
s = gamesessions2018.GameSessions.Create(text);
|
||||
s = gamesesh.GameSessions.Create(text);
|
||||
}
|
||||
if (Url == "gamesessions/v3/joinroom")
|
||||
{
|
||||
bytes = Encoding.UTF8.GetBytes((JsonConvert.SerializeObject(gamesessions2018.GameSessions2.JoinRoom(text))));
|
||||
s = JsonConvert.SerializeObject(c000041.m000030(text));
|
||||
}
|
||||
if (rawUrl.Contains("//api/images/v4/uploadtransient?gameSessionId=2018"))
|
||||
if (rawUrl == "//api/sanitize/v1/isPure")
|
||||
{
|
||||
File.WriteAllBytes("SaveData\\Images\\image" + Convert.ToString(int.Parse(File.ReadAllText("SaveData\\Images\\count.txt") + 1)) + ".png", Encoding.UTF8.GetBytes(text.Remove(0, 50).Remove(text.Length - 48, 48)));
|
||||
int imagecount = int.Parse(File.ReadAllText("SaveData\\Images\\count.txt"));
|
||||
File.WriteAllText("SaveData\\Images\\count.txt", Convert.ToString(imagecount + 1));
|
||||
s = "{\"IsPure\":true}";
|
||||
}
|
||||
if (Url == "avatar/v3/saved")
|
||||
{
|
||||
@@ -385,23 +600,91 @@ namespace server
|
||||
}
|
||||
if (Url == "checklist/v1/current")
|
||||
{
|
||||
s = BracketResponse;
|
||||
s = ChecklistV1Current;
|
||||
}
|
||||
if (Url == "presence/v1/setplayertype")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
Console.WriteLine("API Response: " + s);
|
||||
if (!(Url == "gamesessions/v3/joinroom"))
|
||||
if (Url == "challenge/v1/getCurrent")
|
||||
{
|
||||
bytes = Encoding.UTF8.GetBytes(s);
|
||||
s = ChallengesV1GetCurrent;
|
||||
}
|
||||
if (Url == "rooms/v1/featuredRoomGroup")
|
||||
{
|
||||
s = BracketResponse;
|
||||
}
|
||||
if (Url == "rooms/v1/clone")
|
||||
{
|
||||
s = JsonConvert.SerializeObject(c000099.m00000a(text));
|
||||
}
|
||||
if (Url.StartsWith("rooms/v2/saveData"))
|
||||
{
|
||||
//string text26 = "5GDNL91ZY43PXN2YJENTBL";
|
||||
//string path = c000004.m000007() + c000041.f000043.Room.Name;
|
||||
//File.WriteAllBytes(string.Concat(new string[]
|
||||
//{
|
||||
//c000004.m000007(),
|
||||
//c000041.f000043.Room.Name,
|
||||
//"\\room\\",
|
||||
//text26,
|
||||
//".room"
|
||||
//}), m00005d(list.ToArray(), "data.dat"));
|
||||
//c000041.f000043.Scenes[0].DataBlobName = text26 + ".room";
|
||||
//c000041.f000043.Scenes[0].DataModifiedAt = DateTime.Now;
|
||||
//File.WriteAllText(c000004.m000007() + c000041.f000043.Room.Name + "\\RoomDetails.json", JsonConvert.SerializeObject(c000041.f000043));
|
||||
//s = JsonConvert.SerializeObject(c00005d.m000035());
|
||||
}
|
||||
if (Url == "presence/v3/heartbeat")
|
||||
{
|
||||
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
start.Program.bannedflag = true;
|
||||
Late2018WebSock.instance.Broadcast(ws.Notification.Reponse.createBannedResponse());
|
||||
}
|
||||
s = JsonConvert.SerializeObject(Notification2018.Reponse.createResponse(4, c000020.m000027()));
|
||||
}
|
||||
if (Url == "rooms/v1/featuredRoomGroup")
|
||||
{
|
||||
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/dormslideshow.txt");
|
||||
}
|
||||
if (Url.StartsWith("rooms/v1/hot"))
|
||||
{
|
||||
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/hotrooms.txt");
|
||||
}
|
||||
if (Url.StartsWith("rooms/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");
|
||||
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);
|
||||
bytes = Encoding.UTF8.GetBytes(s);
|
||||
response.ContentLength64 = (long)bytes.Length;
|
||||
Stream outputStream = response.OutputStream;
|
||||
outputStream.Write(bytes, 0, bytes.Length);
|
||||
Thread.Sleep(200);
|
||||
Thread.Sleep(400);
|
||||
outputStream.Close();
|
||||
this.listener.Stop();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -409,9 +692,11 @@ namespace server
|
||||
{
|
||||
Console.WriteLine(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 int CachedVersionMonth = 01;
|
||||
|
||||
@@ -419,9 +704,14 @@ namespace server
|
||||
public static string BracketResponse = "[]";
|
||||
|
||||
public static string PlayerEventsResponse = "{\"Created\":[],\"Responses\":[]}";
|
||||
public static string VersionCheckResponse2 = "{\"VersionStatus\":0}";
|
||||
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
|
||||
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}";
|
||||
public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"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 ChecklistV1Current = "[{\"Order\":0,\"Objective\":3000,\"Count\":3,\"CreditAmount\":100},{\"Order\":1,\"Objective\":3001,\"Count\":3,\"CreditAmount\":100},{\"Order\":2,\"Objective\":3002,\"Count\":3,\"CreditAmount\":100}]";
|
||||
|
||||
public static string Banned = "{\"ReportCategory\":1,\"Duration\":10000000000000000,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}";
|
||||
|
||||
private HttpListener listener = new HttpListener();
|
||||
}
|
||||
|
||||
197
Activities.cs
Normal file
197
Activities.cs
Normal file
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace api
|
||||
{
|
||||
// Token: 0x02000021 RID: 33
|
||||
internal class Activities
|
||||
{
|
||||
// Token: 0x02000069 RID: 105
|
||||
public class Charades
|
||||
{
|
||||
// Token: 0x06000322 RID: 802 RVA: 0x0000C5F4 File Offset: 0x0000A7F4
|
||||
public static string words()
|
||||
{
|
||||
List<Activities.Charades.word> value = new List<Activities.Charades.word>
|
||||
{
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "talking ben",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "lemon",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "grape",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "roblox",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "tree",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "cloud",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "iphone",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "your house",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "spaghetti",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "lean",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "bitcoin",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "nft",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "grass",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "recroom2016",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "joker",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "fortnite",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "woman",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "spiderman",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "vr",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "among us",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "coach",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "coach with a gun",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "funny fish",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "skinwalker",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "christmas tree",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "ur mom",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "stick of ram",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "big mac",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "ninetndo switch",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "crescendo",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "boxing",
|
||||
Difficulty = 0
|
||||
},
|
||||
new Activities.Charades.word
|
||||
{
|
||||
EN_US = "angry birds",
|
||||
Difficulty = 0
|
||||
}
|
||||
};
|
||||
return JsonConvert.SerializeObject(value);
|
||||
}
|
||||
|
||||
// Token: 0x02000073 RID: 115
|
||||
public class word
|
||||
{
|
||||
// Token: 0x170001AA RID: 426
|
||||
// (get) Token: 0x060003F3 RID: 1011 RVA: 0x0000D196 File Offset: 0x0000B396
|
||||
// (set) Token: 0x060003F4 RID: 1012 RVA: 0x0000D19E File Offset: 0x0000B39E
|
||||
public string EN_US { get; set; }
|
||||
|
||||
// Token: 0x170001AB RID: 427
|
||||
// (get) Token: 0x060003F5 RID: 1013 RVA: 0x0000D1A7 File Offset: 0x0000B3A7
|
||||
// (set) Token: 0x060003F6 RID: 1014 RVA: 0x0000D1AF File Offset: 0x0000B3AF
|
||||
public int Difficulty { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,7 @@ namespace api
|
||||
Console.WriteLine("Done!");
|
||||
Console.Clear();
|
||||
}
|
||||
public static gamesessions2018.GameSessions.SessionInstance localGameSession;
|
||||
public static gamesesh.GameSessions.SessionInstance localGameSession;
|
||||
public static Objective[][] dailyObjectives = new Objective[][]
|
||||
{
|
||||
new Objective[]
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace api
|
||||
|
||||
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/",
|
||||
LevelProgressionMaps = new List<LevelProgressionEntry>
|
||||
{
|
||||
|
||||
177
Consumable.cs
Normal file
177
Consumable.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
229
CustomRooms.cs
Normal file
229
CustomRooms.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Net;
|
||||
using Newtonsoft.Json;
|
||||
using vaultgamesesh;
|
||||
using System.IO;
|
||||
using server;
|
||||
using api;
|
||||
|
||||
namespace api
|
||||
{
|
||||
class CustomRooms
|
||||
{
|
||||
public static void RoomDecode(string text)
|
||||
{
|
||||
ModernRooms.Root root2 = JsonConvert.DeserializeObject<ModernRooms.Root>(text);
|
||||
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));
|
||||
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\\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 List<Scene> scene { get; set; }
|
||||
public static Root root { get; set; }
|
||||
//2018 rooms
|
||||
public class Room
|
||||
{
|
||||
public ulong RoomId { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string Description { get; set; }
|
||||
public ulong CreatorPlayerId { get; set; }
|
||||
public string ImageName { get; set; }
|
||||
public int State { get; set; }
|
||||
public int Accessibility { get; set; }
|
||||
public bool SupportsLevelVoting { get; set; }
|
||||
public bool IsAGRoom { get; set; }
|
||||
public bool CloningAllowed { get; set; }
|
||||
public bool SupportsScreens { get; set; }
|
||||
public bool SupportsWalkVR { get; set; }
|
||||
public bool SupportsTeleportVR { get; set; }
|
||||
public object ReplicationId { get; set; }
|
||||
public int ReleaseStatus { get; set; }
|
||||
}
|
||||
|
||||
public class Scene
|
||||
{
|
||||
public int RoomSceneId { get; set; }
|
||||
public ulong RoomId { get; set; }
|
||||
public string RoomSceneLocationId { get; set; }
|
||||
public string Name { get; set; }
|
||||
public bool IsSandbox { get; set; }
|
||||
public string DataBlobName { get; set; }
|
||||
public int MaxPlayers { get; set; }
|
||||
public bool CanMatchmakeInto { get; set; }
|
||||
public DateTime DataModifiedAt { get; set; }
|
||||
public object ReplicationId { get; set; }
|
||||
public bool UseLevelBasedMatchmaking { get; set; }
|
||||
public bool UseAgeBasedMatchmaking { get; set; }
|
||||
public bool UseRecRoyaleMatchmaking { get; set; }
|
||||
public int ReleaseStatus { get; set; }
|
||||
public bool SupportsJoinInProgress { get; set; }
|
||||
}
|
||||
|
||||
public class Root
|
||||
{
|
||||
public Room Room { get; set; }
|
||||
public List<Scene> Scenes { get; set; }
|
||||
public List<ulong> CoOwners { get; set; }
|
||||
public List<ulong> InvitedCoOwners { get; set; }
|
||||
public List<ulong> Hosts { get; set; }
|
||||
public List<ulong> InvitedHosts { get; set; }
|
||||
public int CheerCount { get; set; }
|
||||
public int FavoriteCount { get; set; }
|
||||
public int VisitCount { get; set; }
|
||||
public List<aTag> Tags { get; set; }
|
||||
}
|
||||
public class aTag
|
||||
{
|
||||
public string Tag { get; set; }
|
||||
public int Type { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"}
|
||||
|
||||
2
Download/avataritems2.txt
Normal file
2
Download/avataritems2.txt
Normal file
File diff suppressed because one or more lines are too long
1
Download/banned.txt
Normal file
1
Download/banned.txt
Normal file
@@ -0,0 +1 @@
|
||||
[487454,4701796]
|
||||
1
Download/baserooms.txt
Normal file
1
Download/baserooms.txt
Normal file
@@ -0,0 +1 @@
|
||||
[{"RoomId":24,"Name":"MakerRoom","Description":"This room is a blank canvas. Make it into whatever you like!","CreatorPlayerId":1,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":25,"Name":"Park","Description":"A sprawling park with amphitheater, play fields, and a cave.","CreatorPlayerId":114785367,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":22,"Name":"Lounge","Description":"A low-key lounge to chill with your friends. Great for private parties!","CreatorPlayerId":114785367,"ImageName":"ActivityLounge.png","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":23,"Name":"PerformanceHall","Description":"A theater for plays, music, comedy and other performances.","CreatorPlayerId":1,"ImageName":"","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true},{"RoomId":18,"Name":"Hangar","Description":"Teams battle each other and waves of robots.","CreatorPlayerId":114785367,"ImageName":"ActivityLaserTag.png","State":0,"Accessibility":1,"SupportsLevelVoting":false,"IsAGRoom":true,"CloningAllowed":false,"SupportsScreens":true,"SupportsWalkVR":true,"SupportsTeleportVR":true}]
|
||||
@@ -1,8 +1,16 @@
|
||||
Second release of OpenRec, with still only support for May 30th, 2018.
|
||||
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
|
||||
|
||||
-Added profile image changing function
|
||||
-Slightly improved UI
|
||||
-Added settings saving function
|
||||
-Added level changing feature
|
||||
Note: This release DOES NOT feature friending yet! This is just a feature patch before that is released in version 0.7.0.
|
||||
|
||||
by recroom2016
|
||||
Credits:
|
||||
@Nexus0821 - Programmed and helped add in a lot of new features
|
||||
|
||||
@LucasOnDiscord#0210 - Adding potions
|
||||
@GabeTheFirst#7335 - Tester when my game was broken
|
||||
@andry6702#9812 - Discovered custom room downloading for 2018
|
||||
|
||||
1
Download/configv2.txt
Normal file
1
Download/configv2.txt
Normal 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}}
|
||||
1
Download/contextdrops.json
Normal file
1
Download/contextdrops.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
Download/storefront2.txt
Normal file
1
Download/storefront2.txt
Normal file
@@ -0,0 +1 @@
|
||||
{"StorefrontType":2,"NextUpdate":"2024-02-16T11:04:54.4129449-07:00","StoreItems":[{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":30000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"HAHA I can communicate via raw data","Tooltip":"your balls are mine now, raw data geek","AvatarItemDesc":"274cb9b2-2f59-47ea-9a8d-a5b656d148c6,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":1,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":35000}],"GiftDrops":[{"GiftDropId":1,"FriendlyName":"anal sex","Tooltip":"with the cum","AvatarItemDesc":"2c679f89-c76e-4cfb-94e9-448c8fd44d55,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":2,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":10000}],"GiftDrops":[{"GiftDropId":2,"FriendlyName":"I'm laughing so hard, some may say","Tooltip":"Bawling (at Two FootWear Coridors, now in September 2018's Play Menu!)","AvatarItemDesc":"50c9c6f8-2963-4ef3-95d5-e999a898269f,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":15000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Bishop Hair","Tooltip":"","AvatarItemDesc":"b861e5f3-fc6d-43b3-9861-c1b45cb493a8,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":4,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":4,"FriendlyName":"Bishop Shirt","Tooltip":"","AvatarItemDesc":"6930ce13-4be4-4ab9-9817-667bd261ffc3,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":5,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":5,"FriendlyName":"Bishop Gloves","Tooltip":"","AvatarItemDesc":"abc25091-ed5f-4c72-9364-fffeef1bc239,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":30000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Saija Helmet","Tooltip":"","AvatarItemDesc":"274cb9b2-2f59-47ea-9a8d-a5b656d148c6,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":1,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":35000}],"GiftDrops":[{"GiftDropId":1,"FriendlyName":"Saija Shirt","Tooltip":"","AvatarItemDesc":"2c679f89-c76e-4cfb-94e9-448c8fd44d55,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":2,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":10000}],"GiftDrops":[{"GiftDropId":2,"FriendlyName":"Saija Gloves","Tooltip":"","AvatarItemDesc":"50c9c6f8-2963-4ef3-95d5-e999a898269f,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":0,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":15000}],"GiftDrops":[{"GiftDropId":0,"FriendlyName":"Bishop Hair","Tooltip":"","AvatarItemDesc":"b861e5f3-fc6d-43b3-9861-c1b45cb493a8,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":4,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":4,"FriendlyName":"Bishop Shirt","Tooltip":"","AvatarItemDesc":"6930ce13-4be4-4ab9-9817-667bd261ffc3,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]},{"PurchasableItemId":5,"Type":0,"IsFeatured":false,"Prices":[{"CurrencyType":2,"Price":20000}],"GiftDrops":[{"GiftDropId":5,"FriendlyName":"Bishop Gloves","Tooltip":"","AvatarItemDesc":"abc25091-ed5f-4c72-9364-fffeef1bc239,,,","ConsumableItemDesc":"","EquipmentPrefabName":"","EquipmentModificationGuid":"","Rarity":50,"IsQuery":false,"Unique":false,"Level":50,"Context":100010}]}]}
|
||||
@@ -1 +1 @@
|
||||
0.3
|
||||
0.6.95
|
||||
|
||||
@@ -3,7 +3,8 @@ using Newtonsoft.Json;
|
||||
using api;
|
||||
using server;
|
||||
using System.IO;
|
||||
namespace gamesessions2018
|
||||
namespace gamesesh
|
||||
|
||||
{
|
||||
// Token: 0x02000020 RID: 32
|
||||
public class GameSessions
|
||||
@@ -11,14 +12,22 @@ namespace gamesessions2018
|
||||
// Token: 0x060000BE RID: 190 RVA: 0x00004C08 File Offset: 0x00002E08
|
||||
public static string JoinRandom(string jsonData)
|
||||
{
|
||||
long gamesessionid = 2018L;
|
||||
long? creatorid = 1243409L;
|
||||
long gamesessionid = long.Parse(start.Program.version + "1");
|
||||
Console.WriteLine("OpenRec GameSession Room");
|
||||
GameSessions.JoinRandomRequest joinRandomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRandomRequest>(jsonData);
|
||||
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
|
||||
{
|
||||
gamesessionid = new Random().Next(0, 100);
|
||||
gamesessionid = new Random().Next(0, 99);
|
||||
}
|
||||
if (start.Program.version == "2017")
|
||||
{
|
||||
creatorid = (long?)APIServer.CachedPlayerID;
|
||||
}
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
gamesessionid = 100L;
|
||||
}
|
||||
Config.localGameSession = new GameSessions.SessionInstance
|
||||
{
|
||||
GameSessionId = gamesessionid,
|
||||
@@ -26,7 +35,7 @@ namespace gamesessions2018
|
||||
RoomId = joinRandomRequest.ActivityLevelIds[0],
|
||||
RecRoomId = null,
|
||||
EventId = null,
|
||||
CreatorPlayerId = 1243409L,
|
||||
CreatorPlayerId = creatorid,
|
||||
Name = "OpenRec Room",
|
||||
ActivityLevelId = joinRandomRequest.ActivityLevelIds[0],
|
||||
Private = false,
|
||||
@@ -37,7 +46,7 @@ namespace gamesessions2018
|
||||
MaxCapacity = 20,
|
||||
IsFull = false
|
||||
};
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new GameSessions.JoinResult
|
||||
{
|
||||
Result = 0,
|
||||
@@ -50,7 +59,7 @@ namespace gamesessions2018
|
||||
{
|
||||
return JsonConvert.SerializeObject(new GameSessions.PlayerStatus
|
||||
{
|
||||
PlayerId = APIServer.CachedPlayerID,
|
||||
PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
|
||||
IsOnline = true,
|
||||
InScreenMode = false,
|
||||
GameSession = Config.localGameSession
|
||||
@@ -60,11 +69,15 @@ namespace gamesessions2018
|
||||
// Token: 0x060000C0 RID: 192 RVA: 0x00004D24 File Offset: 0x00002F24
|
||||
public static string Create(string jsonData)
|
||||
{
|
||||
long gamesessionid = 2016L;
|
||||
long gamesessionid = 20161L;
|
||||
Console.WriteLine("OpenRec GameSession Custom Room");
|
||||
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
|
||||
{
|
||||
gamesessionid = new Random().Next(0, 100);
|
||||
gamesessionid = new Random().Next(0, 99);
|
||||
}
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
gamesessionid = 100L;
|
||||
}
|
||||
GameSessions.CreateRequest createRequest = JsonConvert.DeserializeObject<GameSessions.CreateRequest>(jsonData);
|
||||
Config.localGameSession = new GameSessions.SessionInstance
|
||||
@@ -74,8 +87,8 @@ namespace gamesessions2018
|
||||
RoomId = createRequest.ActivityLevelId,
|
||||
RecRoomId = null,
|
||||
EventId = null,
|
||||
CreatorPlayerId = 1243409L,
|
||||
Name = "Custom Room",
|
||||
CreatorPlayerId = (long?)APIServer.CachedPlayerID,
|
||||
Name = "OpenRec Custom Room",
|
||||
ActivityLevelId = createRequest.ActivityLevelId,
|
||||
Private = false,
|
||||
Sandbox = true,
|
||||
@@ -97,7 +110,7 @@ namespace gamesessions2018
|
||||
{
|
||||
return new GameSessions.PlayerStatus
|
||||
{
|
||||
PlayerId = APIServer.CachedPlayerID,
|
||||
PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
|
||||
IsOnline = true,
|
||||
InScreenMode = false,
|
||||
GameSession = Config.localGameSession
|
||||
|
||||
231
GameSessions2.cs
231
GameSessions2.cs
@@ -1,231 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
using rooms2018;
|
||||
using System.IO;
|
||||
|
||||
namespace gamesessions2018
|
||||
{
|
||||
// Token: 0x0200000F RID: 15
|
||||
internal class GameSessions2
|
||||
{
|
||||
// Token: 0x06000033 RID: 51 RVA: 0x000048F0 File Offset: 0x00002AF0
|
||||
public static GameSessions2.JoinResult JoinRoom(string postData)
|
||||
{
|
||||
|
||||
GameSessions.JoinRoomRequest2 joinRoomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRoomRequest2>(postData);
|
||||
bool flag = Rooms.RecRoomOriginalRooms.ContainsKey(joinRoomRequest.RoomName);
|
||||
if (flag)
|
||||
{
|
||||
GameSessions2.currentRoom = Rooms.RecRoomOriginalRooms[joinRoomRequest.RoomName];
|
||||
}
|
||||
else
|
||||
{
|
||||
GameSessions2.currentRoom = Rooms.RecRoomOriginalRooms["DormRoom"];
|
||||
}
|
||||
int num = 0;
|
||||
for (int i = 0; i < GameSessions2.currentRoom.Scenes.Count<Rooms.Scene>(); i++)
|
||||
{
|
||||
bool flag2 = GameSessions2.currentRoom.Scenes[i].Name == joinRoomRequest.SceneName;
|
||||
if (flag2)
|
||||
{
|
||||
num = i;
|
||||
}
|
||||
}
|
||||
long gamesessionid = 2018L;
|
||||
bool sandboxmode = false;
|
||||
if (File.ReadAllText("SaveData\\App\\sandbox.txt") == "Enabled")
|
||||
{
|
||||
sandboxmode = true;
|
||||
}
|
||||
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
|
||||
{
|
||||
gamesessionid = new Random().Next(0, 100);
|
||||
}
|
||||
GameSessions2.currentSession = new GameSessions2.SessionData
|
||||
{
|
||||
GameSessionId = gamesessionid,
|
||||
PhotonRegionId = "us",
|
||||
PhotonRoomId = GameSessions2.currentRoom.Room.RoomId.ToString(),
|
||||
Name = GameSessions2.currentRoom.Room.Name,
|
||||
RoomId = GameSessions2.currentRoom.Room.RoomId,
|
||||
RoomSceneId = (long)(num + 1),
|
||||
RoomSceneLocationId = GameSessions2.currentRoom.Scenes[num].RoomSceneLocationId,
|
||||
IsSandbox = sandboxmode,
|
||||
DataBlobName = "",
|
||||
PlayerEventId = null,
|
||||
Private = false,
|
||||
GameInProgress = false,
|
||||
MaxCapacity = 20,
|
||||
IsFull = false
|
||||
};
|
||||
return new GameSessions2.JoinResult
|
||||
{
|
||||
Result = 0,
|
||||
GameSession = GameSessions2.currentSession,
|
||||
RoomDetails = GameSessions2.currentRoom
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x04000019 RID: 25
|
||||
public static Rooms.RoomDetail currentRoom;
|
||||
|
||||
// Token: 0x0400001A RID: 26
|
||||
public static GameSessions2.SessionData placeholderSession = new GameSessions2.SessionData
|
||||
{
|
||||
GameSessionId = 1L,
|
||||
PhotonRegionId = "us",
|
||||
PhotonRoomId = "1",
|
||||
Name = "Dorm Room",
|
||||
RoomId = 1L,
|
||||
RoomSceneId = 1L,
|
||||
RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163",
|
||||
IsSandbox = false,
|
||||
DataBlobName = "",
|
||||
PlayerEventId = null,
|
||||
Private = false,
|
||||
GameInProgress = false,
|
||||
MaxCapacity = 20,
|
||||
IsFull = false
|
||||
};
|
||||
|
||||
// Token: 0x0400001B RID: 27
|
||||
public static GameSessions2.SessionData currentSession;
|
||||
|
||||
// Token: 0x02000010 RID: 16
|
||||
public class JoinResult
|
||||
{
|
||||
// Token: 0x1700000F RID: 15
|
||||
// (get) Token: 0x06000036 RID: 54 RVA: 0x00002202 File Offset: 0x00000402
|
||||
// (set) Token: 0x06000037 RID: 55 RVA: 0x0000220A File Offset: 0x0000040A
|
||||
public int Result { get; set; }
|
||||
|
||||
// Token: 0x17000010 RID: 16
|
||||
// (get) Token: 0x06000038 RID: 56 RVA: 0x00002213 File Offset: 0x00000413
|
||||
// (set) Token: 0x06000039 RID: 57 RVA: 0x0000221B File Offset: 0x0000041B
|
||||
public GameSessions2.SessionData GameSession { get; set; }
|
||||
|
||||
// Token: 0x17000011 RID: 17
|
||||
// (get) Token: 0x0600003A RID: 58 RVA: 0x00002224 File Offset: 0x00000424
|
||||
// (set) Token: 0x0600003B RID: 59 RVA: 0x0000222C File Offset: 0x0000042C
|
||||
public Rooms.RoomDetail RoomDetails { get; set; }
|
||||
}
|
||||
|
||||
// Token: 0x02000011 RID: 17
|
||||
public class SessionData
|
||||
{
|
||||
// Token: 0x17000012 RID: 18
|
||||
// (get) Token: 0x0600003D RID: 61 RVA: 0x00002235 File Offset: 0x00000435
|
||||
// (set) Token: 0x0600003E RID: 62 RVA: 0x0000223D File Offset: 0x0000043D
|
||||
public long GameSessionId { get; set; }
|
||||
|
||||
// Token: 0x17000013 RID: 19
|
||||
// (get) Token: 0x0600003F RID: 63 RVA: 0x00002246 File Offset: 0x00000446
|
||||
// (set) Token: 0x06000040 RID: 64 RVA: 0x0000224E File Offset: 0x0000044E
|
||||
public string PhotonRegionId { get; set; }
|
||||
|
||||
// Token: 0x17000014 RID: 20
|
||||
// (get) Token: 0x06000041 RID: 65 RVA: 0x00002257 File Offset: 0x00000457
|
||||
// (set) Token: 0x06000042 RID: 66 RVA: 0x0000225F File Offset: 0x0000045F
|
||||
public string PhotonRoomId { get; set; }
|
||||
|
||||
// Token: 0x17000015 RID: 21
|
||||
// (get) Token: 0x06000043 RID: 67 RVA: 0x00002268 File Offset: 0x00000468
|
||||
// (set) Token: 0x06000044 RID: 68 RVA: 0x00002270 File Offset: 0x00000470
|
||||
public string Name { get; set; }
|
||||
|
||||
// Token: 0x17000016 RID: 22
|
||||
// (get) Token: 0x06000045 RID: 69 RVA: 0x00002279 File Offset: 0x00000479
|
||||
// (set) Token: 0x06000046 RID: 70 RVA: 0x00002281 File Offset: 0x00000481
|
||||
public long RoomId { get; set; }
|
||||
|
||||
// Token: 0x17000017 RID: 23
|
||||
// (get) Token: 0x06000047 RID: 71 RVA: 0x0000228A File Offset: 0x0000048A
|
||||
// (set) Token: 0x06000048 RID: 72 RVA: 0x00002292 File Offset: 0x00000492
|
||||
public long RoomSceneId { get; set; }
|
||||
|
||||
// Token: 0x17000018 RID: 24
|
||||
// (get) Token: 0x06000049 RID: 73 RVA: 0x0000229B File Offset: 0x0000049B
|
||||
// (set) Token: 0x0600004A RID: 74 RVA: 0x000022A3 File Offset: 0x000004A3
|
||||
public string RoomSceneLocationId { get; set; }
|
||||
|
||||
// Token: 0x17000019 RID: 25
|
||||
// (get) Token: 0x0600004B RID: 75 RVA: 0x000022AC File Offset: 0x000004AC
|
||||
// (set) Token: 0x0600004C RID: 76 RVA: 0x000022B4 File Offset: 0x000004B4
|
||||
public bool IsSandbox { get; set; }
|
||||
|
||||
// Token: 0x1700001A RID: 26
|
||||
// (get) Token: 0x0600004D RID: 77 RVA: 0x000022BD File Offset: 0x000004BD
|
||||
// (set) Token: 0x0600004E RID: 78 RVA: 0x000022C5 File Offset: 0x000004C5
|
||||
public string DataBlobName { get; set; }
|
||||
|
||||
// Token: 0x1700001B RID: 27
|
||||
// (get) Token: 0x0600004F RID: 79 RVA: 0x000022CE File Offset: 0x000004CE
|
||||
// (set) Token: 0x06000050 RID: 80 RVA: 0x000022D6 File Offset: 0x000004D6
|
||||
public long? PlayerEventId { get; set; }
|
||||
|
||||
// Token: 0x1700001C RID: 28
|
||||
// (get) Token: 0x06000051 RID: 81 RVA: 0x000022DF File Offset: 0x000004DF
|
||||
// (set) Token: 0x06000052 RID: 82 RVA: 0x000022E7 File Offset: 0x000004E7
|
||||
public bool Private { get; set; }
|
||||
|
||||
// Token: 0x1700001D RID: 29
|
||||
// (get) Token: 0x06000053 RID: 83 RVA: 0x000022F0 File Offset: 0x000004F0
|
||||
// (set) Token: 0x06000054 RID: 84 RVA: 0x000022F8 File Offset: 0x000004F8
|
||||
public bool GameInProgress { get; set; }
|
||||
|
||||
// Token: 0x1700001E RID: 30
|
||||
// (get) Token: 0x06000055 RID: 85 RVA: 0x00002301 File Offset: 0x00000501
|
||||
// (set) Token: 0x06000056 RID: 86 RVA: 0x00002309 File Offset: 0x00000509
|
||||
public int MaxCapacity { get; set; }
|
||||
|
||||
// Token: 0x1700001F RID: 31
|
||||
// (get) Token: 0x06000057 RID: 87 RVA: 0x00002312 File Offset: 0x00000512
|
||||
// (set) Token: 0x06000058 RID: 88 RVA: 0x0000231A File Offset: 0x0000051A
|
||||
public bool IsFull { get; set; }
|
||||
}
|
||||
|
||||
// Token: 0x02000012 RID: 18
|
||||
public enum JoinResultIDs
|
||||
{
|
||||
// Token: 0x0400002E RID: 46
|
||||
Success,
|
||||
// Token: 0x0400002F RID: 47
|
||||
NoSuchGame,
|
||||
// Token: 0x04000030 RID: 48
|
||||
PlayerNotOnline,
|
||||
// Token: 0x04000031 RID: 49
|
||||
InsufficientSpace,
|
||||
// Token: 0x04000032 RID: 50
|
||||
EventNotStarted,
|
||||
// Token: 0x04000033 RID: 51
|
||||
EventAlreadyFinished,
|
||||
// Token: 0x04000034 RID: 52
|
||||
EventCreatorNotReady,
|
||||
// Token: 0x04000035 RID: 53
|
||||
BlockedFromRoom,
|
||||
// Token: 0x04000036 RID: 54
|
||||
ProfileLocked,
|
||||
// Token: 0x04000037 RID: 55
|
||||
NoBirthday,
|
||||
// Token: 0x04000038 RID: 56
|
||||
MarkedForDelete,
|
||||
// Token: 0x04000039 RID: 57
|
||||
JuniorNotAllowed,
|
||||
// Token: 0x0400003A RID: 58
|
||||
Banned,
|
||||
// Token: 0x0400003B RID: 59
|
||||
NoSuchRoom = 20,
|
||||
// Token: 0x0400003C RID: 60
|
||||
RoomCreatorNotReady,
|
||||
// Token: 0x0400003D RID: 61
|
||||
RoomIsNotActive,
|
||||
// Token: 0x0400003E RID: 62
|
||||
RoomBlockedByCreator,
|
||||
// Token: 0x0400003F RID: 63
|
||||
RoomBlockingCreator,
|
||||
// Token: 0x04000040 RID: 64
|
||||
RoomIsPrivate
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,7 @@ namespace api2018
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -51,13 +51,11 @@ namespace api2017
|
||||
ForceJuniorImages = false,
|
||||
HasBirthday = true
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// Token: 0x06000199 RID: 409 RVA: 0x00002BBE File Offset: 0x00000DBE
|
||||
public static string playerName()
|
||||
{
|
||||
return File.ReadAllText("playerNameConfig.txt");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace server
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine("ImageServer.cs has started.");
|
||||
Console.WriteLine("[ImageServer.cs] has started.");
|
||||
new Thread(new ThreadStart(this.StartListen)).Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -30,19 +30,58 @@ namespace server
|
||||
this.listener.Prefixes.Add("http://localhost:20182/");
|
||||
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();
|
||||
Console.WriteLine("ImageServer.cs is listening.");
|
||||
Console.WriteLine("{ImageServer.cs] is listening.");
|
||||
HttpListenerContext context = this.listener.GetContext();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
string rawUrl = request.RawUrl;
|
||||
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))
|
||||
{
|
||||
text = streamReader.ReadToEnd();
|
||||
}
|
||||
if (rawUrl.StartsWith("/alt/"))
|
||||
{
|
||||
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 Data: " + text);
|
||||
Console.WriteLine("Image Response: ");
|
||||
@@ -50,19 +89,14 @@ namespace server
|
||||
response.ContentLength64 = (long)bytes.Length;
|
||||
Stream outputStream = response.OutputStream;
|
||||
outputStream.Write(bytes, 0, bytes.Length);
|
||||
Thread.Sleep(400);
|
||||
Thread.Sleep(1);
|
||||
outputStream.Close();
|
||||
this.listener.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
|
||||
|
||||
public static string BlankResponse = "";
|
||||
|
||||
|
||||
// Token: 0x04000192 RID: 402
|
||||
private HttpListener listener = new HttpListener();
|
||||
}
|
||||
}
|
||||
|
||||
BIN
Launcher/ProfileComputer_Background01.png
Normal file
BIN
Launcher/ProfileComputer_Background01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 216 KiB |
BIN
Launcher/Untitled.png
Normal file
BIN
Launcher/Untitled.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 610 B |
7
Launcher/changelog.txt
Normal file
7
Launcher/changelog.txt
Normal 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
1
Launcher/download.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://cdn.discordapp.com/attachments/982455350819188816/982460494759751680/OpenRec.exe
|
||||
12
ModerationBlockDetails.cs
Normal file
12
ModerationBlockDetails.cs
Normal 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
71
ModernRooms.cs
Normal 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; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Newtonsoft.Json;
|
||||
using start;
|
||||
|
||||
namespace server
|
||||
{
|
||||
@@ -15,8 +17,9 @@ namespace server
|
||||
{
|
||||
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.StartListen2)).Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -32,13 +35,19 @@ namespace server
|
||||
for (; ; )
|
||||
{
|
||||
this.listener.Start();
|
||||
Console.WriteLine("NameServer.cs is listening.");
|
||||
Console.WriteLine("[NameServer.cs] is listening.");
|
||||
HttpListenerContext context = this.listener.GetContext();
|
||||
HttpListenerRequest request = context.Request;
|
||||
HttpListenerResponse response = context.Response;
|
||||
string rawUrl = request.RawUrl;
|
||||
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);
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(s);
|
||||
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 BlankResponse = "";
|
||||
public class NSData
|
||||
{
|
||||
public string API { get; set; }
|
||||
public string Notifications { get; set; }
|
||||
public string Images { get; set; }
|
||||
}
|
||||
|
||||
|
||||
// Token: 0x04000192 RID: 402
|
||||
private HttpListener listener = new HttpListener();
|
||||
|
||||
private HttpListener listener2 = new HttpListener();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using gamesessions2018;
|
||||
using gamesesh;
|
||||
|
||||
namespace ws
|
||||
{
|
||||
@@ -21,16 +21,16 @@ namespace ws
|
||||
{
|
||||
if (text2 == "playerSubscriptions/v1/update")
|
||||
{
|
||||
Console.WriteLine("WebSocket.cs game client sent presence update.");
|
||||
Console.WriteLine("[WSS] Game client sent presence update.");
|
||||
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, GameSessions.StatusSessionInstance()));
|
||||
}
|
||||
if (text2 == "heartbeat2")
|
||||
{
|
||||
Console.WriteLine("WebSocket.cs heartbeat 2 sent by game client.");
|
||||
Console.WriteLine("[WSS] Heartbeat 2 sent by game client.");
|
||||
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, GameSessions.StatusSessionInstance()));
|
||||
}
|
||||
}
|
||||
Console.WriteLine("WebSocket.cs unknown API call: " + text);
|
||||
Console.WriteLine("[WSS] Unknown API call: " + text);
|
||||
result = "";
|
||||
}
|
||||
else
|
||||
@@ -41,58 +41,43 @@ namespace ws
|
||||
}
|
||||
|
||||
// Token: 0x0200002B RID: 43
|
||||
public enum ResponseResult
|
||||
public enum ResponseResults
|
||||
{
|
||||
// Token: 0x04000092 RID: 146
|
||||
RelationshipChanged = 1,
|
||||
// Token: 0x04000093 RID: 147
|
||||
MessageReceived,
|
||||
// Token: 0x04000094 RID: 148
|
||||
MessageDeleted,
|
||||
// Token: 0x04000095 RID: 149
|
||||
PresenceHeartbeatResponse,
|
||||
// Token: 0x04000096 RID: 150
|
||||
SubscriptionListUpdated = 9,
|
||||
// Token: 0x04000097 RID: 151
|
||||
SubscriptionUpdateProfile = 11,
|
||||
// Token: 0x04000098 RID: 152
|
||||
SubscriptionUpdatePresence,
|
||||
// Token: 0x04000099 RID: 153
|
||||
SubscriptionUpdateGameSession,
|
||||
// Token: 0x0400009A RID: 154
|
||||
SubscriptionUpdateRoom,
|
||||
// Token: 0x0400009B RID: 155
|
||||
SubscriptionUpdateRoom = 15,
|
||||
ModerationQuitGame = 20,
|
||||
// Token: 0x0400009C RID: 156
|
||||
ModerationUpdateRequired,
|
||||
// Token: 0x0400009D RID: 157
|
||||
ModerationKick,
|
||||
// Token: 0x0400009E RID: 158
|
||||
ModerationKickAttemptFailed,
|
||||
// Token: 0x0400009F RID: 159
|
||||
ServerMaintenance = 25,
|
||||
GiftPackageReceived = 30,
|
||||
// Token: 0x040000A0 RID: 160
|
||||
ProfileJuniorStatusUpdate = 40,
|
||||
// Token: 0x040000A1 RID: 161
|
||||
RelationshipsInvalid = 50,
|
||||
// Token: 0x040000A2 RID: 162
|
||||
StorefrontBalanceAdd = 60
|
||||
StorefrontBalanceAdd = 60,
|
||||
ConsumableMappingAdded = 70,
|
||||
ConsumableMappingRemoved,
|
||||
PlayerEventCreated = 80,
|
||||
PlayerEventUpdated,
|
||||
PlayerEventDeleted,
|
||||
PlayerEventResponseChanged,
|
||||
PlayerEventResponseDeleted,
|
||||
PlayerEventStateChanged,
|
||||
ChatMessageReceived = 90
|
||||
}
|
||||
|
||||
// Token: 0x0200002C RID: 44
|
||||
public class Reponse
|
||||
{
|
||||
// Token: 0x1700005F RID: 95
|
||||
// (get) Token: 0x0600010D RID: 269
|
||||
// (set) Token: 0x0600010E RID: 270
|
||||
public int Id { get; set; }
|
||||
|
||||
// Token: 0x17000060 RID: 96
|
||||
// (get) Token: 0x0600010F RID: 271
|
||||
// (set) Token: 0x06000110 RID: 272
|
||||
public object Msg { get; set; }
|
||||
|
||||
// Token: 0x06000111 RID: 273
|
||||
public static Notification.Reponse createResponse(int id, object msg)
|
||||
{
|
||||
return new Notification.Reponse
|
||||
@@ -101,6 +86,21 @@ namespace ws
|
||||
Msg = msg
|
||||
};
|
||||
}
|
||||
|
||||
public static Notification.Reponse createBannedResponse()
|
||||
{
|
||||
return new Notification.Reponse
|
||||
{
|
||||
Id = (int)ResponseResults.ModerationKick,
|
||||
Msg = new api.ModerationBlockDetails()
|
||||
{
|
||||
ReportCategory = 1,
|
||||
Duration = int.MaxValue,
|
||||
GameSessionId = 100L,
|
||||
Message = "You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal."
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
110
Notification2018.cs
Normal file
110
Notification2018.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using ws;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000005 RID: 5
|
||||
public class Notification2018
|
||||
{
|
||||
// Token: 0x06000015 RID: 21 RVA: 0x00002A18 File Offset: 0x00000C18
|
||||
public static string ProcessRequest(string jsonData)
|
||||
{
|
||||
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
|
||||
bool flag = dictionary.ContainsKey("api");
|
||||
string result;
|
||||
if (flag)
|
||||
{
|
||||
string text = (string)dictionary["api"];
|
||||
string text2 = text;
|
||||
bool flag2 = text2 != null;
|
||||
if (flag2)
|
||||
{
|
||||
bool flag3 = text2 == "playerSubscriptions/v1/update";
|
||||
if (flag3)
|
||||
{
|
||||
Console.WriteLine("[18CWS] Game client sent presence update.");
|
||||
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, c000020.m000027()));
|
||||
}
|
||||
bool flag4 = text2 == "heartbeat2";
|
||||
if (flag4)
|
||||
{
|
||||
Console.WriteLine("[18CWS] Heartbeat 2 sent by game client.");
|
||||
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027()));
|
||||
}
|
||||
}
|
||||
Console.WriteLine("[18CWS] Unknown CWS call: " + text);
|
||||
result = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = jsonData;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// Token: 0x02000038 RID: 56
|
||||
public enum ResponseResult
|
||||
{
|
||||
// Token: 0x040000A8 RID: 168
|
||||
RelationshipChanged = 1,
|
||||
// Token: 0x040000A9 RID: 169
|
||||
MessageReceived,
|
||||
// Token: 0x040000AA RID: 170
|
||||
MessageDeleted,
|
||||
// Token: 0x040000AB RID: 171
|
||||
PresenceHeartbeatResponse,
|
||||
// Token: 0x040000AC RID: 172
|
||||
SubscriptionListUpdated = 9,
|
||||
// Token: 0x040000AD RID: 173
|
||||
SubscriptionUpdateProfile = 11,
|
||||
// Token: 0x040000AE RID: 174
|
||||
SubscriptionUpdatePresence,
|
||||
// Token: 0x040000AF RID: 175
|
||||
SubscriptionUpdateGameSession,
|
||||
// Token: 0x040000B0 RID: 176
|
||||
SubscriptionUpdateRoom,
|
||||
// Token: 0x040000B1 RID: 177
|
||||
ModerationQuitGame = 20,
|
||||
// Token: 0x040000B2 RID: 178
|
||||
ModerationUpdateRequired,
|
||||
// Token: 0x040000B3 RID: 179
|
||||
ModerationKick,
|
||||
// Token: 0x040000B4 RID: 180
|
||||
ModerationKickAttemptFailed,
|
||||
// Token: 0x040000B5 RID: 181
|
||||
GiftPackageReceived = 30,
|
||||
// Token: 0x040000B6 RID: 182
|
||||
ProfileJuniorStatusUpdate = 40,
|
||||
// Token: 0x040000B7 RID: 183
|
||||
RelationshipsInvalid = 50,
|
||||
// Token: 0x040000B8 RID: 184
|
||||
StorefrontBalanceAdd = 60
|
||||
}
|
||||
|
||||
// Token: 0x02000039 RID: 57
|
||||
public class Reponse
|
||||
{
|
||||
// Token: 0x1700007E RID: 126
|
||||
// (get) Token: 0x06000167 RID: 359 RVA: 0x0000A5EB File Offset: 0x000087EB
|
||||
// (set) Token: 0x06000168 RID: 360 RVA: 0x0000A5F3 File Offset: 0x000087F3
|
||||
public int Id { get; set; }
|
||||
|
||||
// Token: 0x1700007F RID: 127
|
||||
// (get) Token: 0x06000169 RID: 361 RVA: 0x0000A5FC File Offset: 0x000087FC
|
||||
// (set) Token: 0x0600016A RID: 362 RVA: 0x0000A604 File Offset: 0x00008804
|
||||
public object Msg { get; set; }
|
||||
|
||||
// Token: 0x0600016B RID: 363 RVA: 0x0000A610 File Offset: 0x00008810
|
||||
public static Notification.Reponse createResponse(int id, object msg)
|
||||
{
|
||||
return new Notification.Reponse
|
||||
{
|
||||
Id = id,
|
||||
Msg = msg
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
106
OpenRecNet.cs
106
OpenRecNet.cs
@@ -1,106 +0,0 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
|
||||
namespace start
|
||||
{
|
||||
public class OpenRecNet
|
||||
{
|
||||
public OpenRecNet()
|
||||
{
|
||||
}
|
||||
|
||||
//ignore this its a beta feature
|
||||
public static void RecNet()
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Blue;
|
||||
Console.Clear();
|
||||
if ((File.ReadAllText("SaveData\\App\\showopenrecinfo.txt")) == "Enabled")
|
||||
{
|
||||
goto ChatStart;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto SkipStart;
|
||||
}
|
||||
|
||||
ChatStart:
|
||||
Console.WriteLine("Welcome to OpenRecChat (Beta)!");
|
||||
Console.WriteLine("You are logged in as " + File.ReadAllText("SaveData\\Profile\\username.txt" + "."));
|
||||
Console.WriteLine("Your UserID is " + File.ReadAllText("SaveData\\Profile\\userid.txt" + "."));
|
||||
Console.WriteLine("In the future, show this message?");
|
||||
Console.WriteLine("1) Yes" + Environment.NewLine + "2) No");
|
||||
string readline = Console.ReadLine();
|
||||
if (readline == "1")
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Enabled");
|
||||
justjoined = false;
|
||||
goto SkipStart;
|
||||
}
|
||||
if (readline == "2")
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Disabled");
|
||||
justjoined = false;
|
||||
goto SkipStart;
|
||||
}
|
||||
|
||||
SkipStart:
|
||||
for (; ; )
|
||||
{
|
||||
Console.Clear();
|
||||
string refresh = new WebClient
|
||||
{
|
||||
Headers =
|
||||
{
|
||||
{
|
||||
"username",
|
||||
File.ReadAllText("SaveData\\Profile\\username.txt")
|
||||
},
|
||||
{
|
||||
"justjoined",
|
||||
Convert.ToString(justjoined)
|
||||
}
|
||||
}
|
||||
}.DownloadString("https://openrecchat.loca.lt/refresh");
|
||||
Console.WriteLine(refresh);
|
||||
Console.WriteLine(Environment.NewLine + "Commands: /r -Refresh /e -Exit");
|
||||
Console.WriteLine("Type your message below: ");
|
||||
justjoined = false;
|
||||
goto Send;
|
||||
}
|
||||
|
||||
Send:
|
||||
string send = Console.ReadLine();
|
||||
if (send == "/r")
|
||||
{
|
||||
goto SkipStart;
|
||||
}
|
||||
else if (send == "/e")
|
||||
{
|
||||
Environment.Exit(0);
|
||||
}
|
||||
else if (send == "")
|
||||
{
|
||||
goto SkipStart;
|
||||
}
|
||||
new WebClient
|
||||
{
|
||||
Headers =
|
||||
{
|
||||
{
|
||||
"userid",
|
||||
File.ReadAllText("SaveData\\Profile\\userid.txt")
|
||||
},
|
||||
{
|
||||
"username",
|
||||
File.ReadAllText("SaveData\\Profile\\username.txt")
|
||||
}
|
||||
}
|
||||
}.UploadString("https://openrecchat.loca.lt/sendmessage", send);
|
||||
goto SkipStart;
|
||||
}
|
||||
|
||||
public static bool justjoined = false;
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ApplicationIcon>icon2.ico</ApplicationIcon>
|
||||
<AssemblyName>OpenRec</AssemblyName>
|
||||
<RootNamespace>OpenRec</RootNamespace>
|
||||
@@ -15,6 +15,10 @@
|
||||
<Version>0.4.0</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="NewFile1.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.31321.278
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenRec_", "OpenRec_.csproj", "{C3C433FC-52FB-4472-81F7-B271A2CDABFE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3B5E3DA5-F8EC-4767-9BC3-AE95E72631D0}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C754033C-FE82-4FF2-9189-A7EE0E2E5974}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
36
ProfieStealer.cs
Normal file
36
ProfieStealer.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
}
|
||||
248
Program.cs
248
Program.cs
@@ -5,6 +5,9 @@ using ws;
|
||||
using api;
|
||||
using System.Net;
|
||||
using System.Diagnostics;
|
||||
using vaultgamesesh;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace start
|
||||
{
|
||||
@@ -13,23 +16,70 @@ namespace start
|
||||
static void Main()
|
||||
{
|
||||
//startup for openrec
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
Console.Clear();
|
||||
goto Start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
goto Start;
|
||||
}
|
||||
|
||||
Start:
|
||||
Console.Title = "OpenRec Startup Menu";
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("OpenRec - Open source RecNet server software. (Version: " + version + ")");
|
||||
Console.WriteLine("OpenRec - Open source Old RecRoom server software. (Version: " + appversion + ")");
|
||||
Console.WriteLine("Made and provided by RecRoom 2016.");
|
||||
Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec");
|
||||
Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine);
|
||||
if (!(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt").Contains(version)))
|
||||
if (!(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt").Contains(appversion)))
|
||||
{
|
||||
Console.WriteLine("This version of OpenRec is outdated. We recommend you install the latest version, OpenRec " + new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/version.txt"));
|
||||
}
|
||||
Console.WriteLine("1) Changelog" + Environment.NewLine +"2) Change Settings" + Environment.NewLine + "3) Modify Profile" + Environment.NewLine + "4) Start Server");
|
||||
|
||||
Console.WriteLine("//Custom Room Downloader has been moved to the settings tab!" + Environment.NewLine);
|
||||
Console.WriteLine("(1) What's New" + Environment.NewLine +"(2) Change Settings" + Environment.NewLine + "(3) Modify Profile" + Environment.NewLine + "(4) Build Download Links" + Environment.NewLine + "(5) Start Server");
|
||||
string readline = Console.ReadLine();
|
||||
if (readline == "1")
|
||||
{
|
||||
Console.Title = "OpenRec Changelog";
|
||||
Console.Clear();
|
||||
Console.WriteLine(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/changelog.txt"));
|
||||
Console.WriteLine("Press any key to continue:");
|
||||
@@ -43,7 +93,8 @@ namespace start
|
||||
goto Settings;
|
||||
|
||||
Settings:
|
||||
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.Title = "OpenRec Settings Menu";
|
||||
Console.WriteLine("(1) Private Rooms: " + File.ReadAllText("SaveData\\App\\privaterooms.txt") + Environment.NewLine + "(2) Custom Room Downloader " + Environment.NewLine + "(3) Reset SaveData" + Environment.NewLine + "(4) Go Back");
|
||||
string readline4 = Console.ReadLine();
|
||||
if (readline4 == "1")
|
||||
{
|
||||
@@ -61,14 +112,23 @@ namespace start
|
||||
}
|
||||
else if (readline4 == "2")
|
||||
{
|
||||
if (File.ReadAllText("SaveData\\App\\showopenrecinfo.txt") == "Disabled")
|
||||
Console.Title = "OpenRec Custom Room Downloader";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Custom Room Downloader: This tool takes the room data of any room you type in and imports it into ^CustomRoom in September 27th 2018.");
|
||||
Console.WriteLine("Please type in the name of the room you would like to download: (Case sensitive)");
|
||||
string roomname = Console.ReadLine();
|
||||
string text = "";
|
||||
try
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Enabled");
|
||||
text = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomname + "&include=297");
|
||||
}
|
||||
else
|
||||
catch
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\showopenrecinfo.txt", "Disabled");
|
||||
Console.Clear();
|
||||
Console.WriteLine("Failed to download room...");
|
||||
goto Settings;
|
||||
}
|
||||
CustomRooms.RoomDecode(text);
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Settings;
|
||||
@@ -87,9 +147,20 @@ namespace start
|
||||
File.Delete("SaveData\\myrooms.txt");
|
||||
File.Delete("SaveData\\settings.txt");
|
||||
File.Delete("SaveData\\App\\privaterooms.txt");
|
||||
File.Delete("SaveData\\App\\showopenrecinfo.txt");
|
||||
File.Delete("SaveData\\App\\facefeaturesadd.txt");
|
||||
File.Delete("SaveData\\profileimage.png");
|
||||
File.Delete("SaveData\\App\\firsttime.txt");
|
||||
|
||||
File.Delete("SaveData\\avataritems2.txt");
|
||||
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\roomname.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\roomid.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\datablob.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\roomsceneid.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\imagename.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\cheercount.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\favcount.txt");
|
||||
File.Delete("SaveData\\Rooms\\Downloaded\\visitcount.txt");
|
||||
Console.WriteLine("Success!");
|
||||
Setup.setup();
|
||||
goto Settings;
|
||||
@@ -106,7 +177,8 @@ namespace start
|
||||
goto Profile;
|
||||
|
||||
Profile:
|
||||
Console.WriteLine("1) Change Username" + Environment.NewLine + "2) Change Profile Image" + Environment.NewLine + "3) Change Level" + Environment.NewLine + "4) Go Back");
|
||||
Console.Title = "OpenRec Profile Menu";
|
||||
Console.WriteLine("(1) Change Username" + Environment.NewLine + "(2) Change Profile Image" + Environment.NewLine + "(3) Change Level" + Environment.NewLine + "(4) Profile Downloader" + Environment.NewLine + "(5) Go Back");
|
||||
string readline3 = Console.ReadLine();
|
||||
if (readline3 == "1")
|
||||
{
|
||||
@@ -116,12 +188,12 @@ namespace start
|
||||
File.WriteAllText("SaveData\\Profile\\username.txt", newusername);
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Start;
|
||||
goto Profile;
|
||||
}
|
||||
else if (readline3 == "2")
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine("1) Upload Media Link" + Environment.NewLine + "2) Drag Image onto this window" + Environment.NewLine + "3) Go Back");
|
||||
Console.WriteLine("1) Upload Media Link" + Environment.NewLine + "2) Drag Image onto this window" + Environment.NewLine + "3) Download Rec.Net Profile Image" + Environment.NewLine + "4) Go Back");
|
||||
string readline4 = Console.ReadLine();
|
||||
if (readline4 == "1")
|
||||
{
|
||||
@@ -131,7 +203,7 @@ namespace start
|
||||
{
|
||||
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData(medialink));
|
||||
}
|
||||
catch (Exception ex4)
|
||||
catch
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine("Invalid Media Link");
|
||||
@@ -139,7 +211,7 @@ namespace start
|
||||
}
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Start;
|
||||
goto Profile;
|
||||
}
|
||||
else if (readline4 == "2")
|
||||
{
|
||||
@@ -150,6 +222,7 @@ namespace start
|
||||
byte[] imagefile = File.ReadAllBytes(imagedir);
|
||||
File.Replace(imagedir, "SaveData\\profileimage.png", "backupfilename.png");
|
||||
File.WriteAllBytes(imagedir, imagefile);
|
||||
File.Delete("backupfilename.png");
|
||||
}
|
||||
catch (Exception ex4)
|
||||
{
|
||||
@@ -159,9 +232,46 @@ namespace start
|
||||
}
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Start;
|
||||
goto Profile;
|
||||
}
|
||||
else if (readline4 == "3")
|
||||
{
|
||||
Console.WriteLine("Type a RecRoom @ username and press enter: ");
|
||||
string username = Console.ReadLine();
|
||||
if (username.StartsWith("@"))
|
||||
{
|
||||
username = username.Remove(0, 1);
|
||||
}
|
||||
try
|
||||
{
|
||||
string data = "";
|
||||
try
|
||||
{
|
||||
data = new WebClient().DownloadString("https://accounts.rec.net/account/search?name=" + username);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine("Failed to download profile...");
|
||||
goto Start;
|
||||
}
|
||||
|
||||
List<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();
|
||||
goto Start;
|
||||
@@ -175,73 +285,123 @@ namespace start
|
||||
File.WriteAllText("SaveData\\Profile\\level.txt", newlevel);
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Start;
|
||||
goto Profile;
|
||||
}
|
||||
else if (readline3 == "4")
|
||||
{
|
||||
Console.Title = "OpenRec Profile Downloader";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Profile Downloader: This tool takes the username and profile image of any username you type in and imports it to OpenRec.");
|
||||
Console.WriteLine("Please type the @ username of the profile you would like:");
|
||||
string readusername = Console.ReadLine();
|
||||
if (readusername.StartsWith("@"))
|
||||
{
|
||||
readusername = readusername.Remove(0, 1);
|
||||
}
|
||||
string data2 = "";
|
||||
try
|
||||
{
|
||||
data2 = new WebClient().DownloadString("https://accounts.rec.net/account/search?name=" + readusername);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine("Failed to download profile...");
|
||||
goto Start;
|
||||
}
|
||||
|
||||
ProfieStealer.ProfileSteal(data2);
|
||||
|
||||
Console.Clear();
|
||||
Console.WriteLine("Success!");
|
||||
goto Start;
|
||||
}
|
||||
else if (readline3 == "5")
|
||||
{
|
||||
Console.Clear();
|
||||
goto Start;
|
||||
}
|
||||
}
|
||||
|
||||
if (readline == "4")
|
||||
{
|
||||
Console.WriteLine("Please select the version of RecRoom the server should host: (2017, 2018)");
|
||||
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();
|
||||
goto Start;
|
||||
}
|
||||
if (readline == "5")
|
||||
{
|
||||
Console.Title = "OpenRec Version Select";
|
||||
Console.WriteLine("Please select the version of RecRoom the server should host: (2016, 2017, 2018)");
|
||||
string readline2 = Console.ReadLine();
|
||||
if (readline2 == "2016")
|
||||
{
|
||||
Console.Title = "OpenRec December 25th, 2016";
|
||||
version = "2016";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Version Selected: " + start.Program.version);
|
||||
Console.WriteLine("Version Selected: December 25th, 2016.");
|
||||
new APIServer();
|
||||
new WebSocket();
|
||||
}
|
||||
else if (readline2 == "2017")
|
||||
{
|
||||
Console.Title = "OpenRec October 19th 2017";
|
||||
version = "2017";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Version Selected: " + start.Program.version);
|
||||
Console.WriteLine("Version Selected: October 19th, 2017.");
|
||||
new APIServer();
|
||||
new WebSocket();
|
||||
}
|
||||
else if (readline2 == "2018")
|
||||
{
|
||||
Console.WriteLine("May, July or September (SEPTEMBER MIGHT NOT WORK) 2018: (M, J, S)");
|
||||
string readline3 = Console.ReadLine();
|
||||
if ((readline3 == "M") || (readline3 == "m"))
|
||||
{
|
||||
Console.Title = "OpenRec May 30th 2018";
|
||||
version = "2018";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Version Selected: " + start.Program.version);
|
||||
Console.WriteLine("Version Selected: May 30th, 2018.");
|
||||
new NameServer();
|
||||
new ImageServer();
|
||||
new APIServer();
|
||||
new WebSocket();
|
||||
}
|
||||
}
|
||||
if (readline == "5")
|
||||
else if ((readline3 == "S") || (readline3 == "s"))
|
||||
{
|
||||
Console.Title = "OpenRec September 27th 2018";
|
||||
version = "2018";
|
||||
Console.Clear();
|
||||
goto ChatStart;
|
||||
|
||||
ChatStart:
|
||||
Console.WriteLine("Pinging the chat servers...");
|
||||
try
|
||||
Console.WriteLine("Version Selected: September 27th, 2018.");
|
||||
new NameServer();
|
||||
new ImageServer();
|
||||
new APIServer();
|
||||
new Late2018WebSock();
|
||||
}
|
||||
else if ((readline3 == "J") || (readline3 == "j"))
|
||||
{
|
||||
string ping = new WebClient().DownloadString("https://openrecchat.loca.lt/ping");
|
||||
}
|
||||
catch (Exception ex4)
|
||||
{
|
||||
Console.WriteLine("Chat servers currently offline...");
|
||||
Console.WriteLine("Press any key to continue:");
|
||||
Console.ReadKey();
|
||||
goto Start;
|
||||
}
|
||||
Console.WriteLine("Success!");
|
||||
Console.WriteLine("Press any key to continue:");
|
||||
Console.ReadKey();
|
||||
OpenRecNet.RecNet();
|
||||
|
||||
}
|
||||
Console.Title = "OpenRec July 20th 2018";
|
||||
version = "2018";
|
||||
Console.Clear();
|
||||
Console.WriteLine("Version Selected: July 20th, 2018");
|
||||
new NameServer();
|
||||
new ImageServer();
|
||||
new APIServer();
|
||||
new WebSocket();
|
||||
}
|
||||
|
||||
public static string version = "0.4.0";
|
||||
}
|
||||
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 appversion = "0.6.9";
|
||||
public static bool bannedflag = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
17
README.md
Normal file
17
README.md
Normal 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
|
||||
63
Rooms.cs
63
Rooms.cs
@@ -1,63 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace rooms2018
|
||||
{
|
||||
// Token: 0x0200002B RID: 43
|
||||
internal class RoomsList
|
||||
{
|
||||
// Token: 0x17000062 RID: 98
|
||||
// (get) Token: 0x060000F8 RID: 248 RVA: 0x000053F8 File Offset: 0x000035F8
|
||||
public static RoomsList.FeaturedRoomData getFeaturedRooms
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Rooms.RoomPlayPage> list = new List<Rooms.RoomPlayPage>();
|
||||
foreach (KeyValuePair<string, Rooms.RoomDetail> keyValuePair in Rooms.RecRoomOriginalRooms)
|
||||
{
|
||||
Rooms.RoomPlayPage item = new Rooms.RoomPlayPage
|
||||
{
|
||||
RoomName = keyValuePair.Value.Room.Name,
|
||||
RoomId = keyValuePair.Value.Room.RoomId,
|
||||
ImageName = "93a53ced93a04f658795a87f4a4aab85"
|
||||
};
|
||||
list.Add(item);
|
||||
}
|
||||
return new RoomsList.FeaturedRoomData
|
||||
{
|
||||
Name = "Rec Room Originals",
|
||||
FeaturedRooms = list
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000063 RID: 99
|
||||
// (get) Token: 0x060000F9 RID: 249 RVA: 0x000054BC File Offset: 0x000036BC
|
||||
public static List<Rooms.cRoom> HotRooms
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Rooms.cRoom> list = new List<Rooms.cRoom>();
|
||||
foreach (KeyValuePair<string, Rooms.RoomDetail> keyValuePair in Rooms.RecRoomOriginalRooms)
|
||||
{
|
||||
list.Add(keyValuePair.Value.Room);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0200002C RID: 44
|
||||
public class FeaturedRoomData
|
||||
{
|
||||
// Token: 0x17000064 RID: 100
|
||||
// (get) Token: 0x060000FB RID: 251 RVA: 0x00002762 File Offset: 0x00000962
|
||||
// (set) Token: 0x060000FC RID: 252 RVA: 0x0000276A File Offset: 0x0000096A
|
||||
public string Name { get; set; }
|
||||
|
||||
// Token: 0x17000065 RID: 101
|
||||
// (get) Token: 0x060000FD RID: 253 RVA: 0x00002773 File Offset: 0x00000973
|
||||
// (set) Token: 0x060000FE RID: 254 RVA: 0x0000277B File Offset: 0x0000097B
|
||||
public List<Rooms.RoomPlayPage> FeaturedRooms { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
1474
RoomsList.cs
1474
RoomsList.cs
File diff suppressed because it is too large
Load Diff
23
Sanitize.cs
Normal file
23
Sanitize.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace api
|
||||
{
|
||||
// Token: 0x02000081 RID: 129
|
||||
public class Sanitize
|
||||
{
|
||||
public static Sanitize.m001 GetSanitize()
|
||||
{
|
||||
return new m001
|
||||
{
|
||||
IsPure = true
|
||||
};
|
||||
}
|
||||
|
||||
public sealed class m001
|
||||
{
|
||||
public bool IsPure { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -106,7 +106,7 @@ namespace api
|
||||
new Setting
|
||||
{
|
||||
Key = "VoiceChat",
|
||||
Value = 0f.ToString()
|
||||
Value = 1f.ToString()
|
||||
},
|
||||
new Setting
|
||||
{
|
||||
|
||||
44
Setup.cs
44
Setup.cs
@@ -8,13 +8,22 @@ namespace start
|
||||
{
|
||||
class Setup
|
||||
{
|
||||
public static bool firsttime = false;
|
||||
public static void setup()
|
||||
{
|
||||
//sets up all the important files so openrec doesnt crash like lame vaultserver xD
|
||||
Console.WriteLine("Setting up... (May take a minute to download everything.)");
|
||||
Directory.CreateDirectory("SaveData\\Images\\");
|
||||
Directory.CreateDirectory("SaveData\\App\\");
|
||||
Directory.CreateDirectory("SaveData\\Profile\\");
|
||||
Directory.CreateDirectory("SaveData\\Images\\");
|
||||
Directory.CreateDirectory("SaveData\\Rooms\\");
|
||||
Directory.CreateDirectory("SaveData\\Images\\");
|
||||
Directory.CreateDirectory("SaveData\\Rooms\\Downloaded\\");
|
||||
if (!(File.Exists("SaveData\\App\\firsttime.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\firsttime.txt", "this text file has no use other than to tell the program whether to bring up the intro or not, so i can just write random shit here. among us balls, you suck mad dick you big fat fa----");
|
||||
firsttime = true;
|
||||
}
|
||||
if (!(File.Exists("SaveData\\avatar.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
|
||||
@@ -27,6 +36,10 @@ namespace start
|
||||
{
|
||||
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")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\equipment.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/equipment.txt"));
|
||||
@@ -41,11 +54,15 @@ namespace start
|
||||
}
|
||||
if (!(File.Exists("SaveData\\storefronts2.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/vaultButItsNewer/main/StoreFront2.json"));
|
||||
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/storefront2.txt"));
|
||||
}
|
||||
if (!(File.Exists("SaveData\\baserooms.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\baserooms.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/baserooms.txt"));
|
||||
}
|
||||
if (!(File.Exists("SaveData\\Profile\\username.txt")))
|
||||
{
|
||||
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")))
|
||||
{
|
||||
@@ -53,7 +70,7 @@ namespace start
|
||||
}
|
||||
if (!(File.Exists("SaveData\\Profile\\userid.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\Profile\\userid.txt", "2");
|
||||
File.WriteAllText("SaveData\\Profile\\userid.txt", "10000000");
|
||||
}
|
||||
if (!(File.Exists("SaveData\\myrooms.txt")))
|
||||
{
|
||||
@@ -63,6 +80,10 @@ namespace start
|
||||
{
|
||||
File.WriteAllText("SaveData\\settings.txt", Newtonsoft.Json.JsonConvert.SerializeObject(api.Settings.CreateDefaultSettings()));
|
||||
}
|
||||
if (!(File.Exists("SaveData\\profileimage.png")))
|
||||
{
|
||||
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
|
||||
}
|
||||
if (!(File.Exists("SaveData\\App\\privaterooms.txt")))
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\privaterooms.txt", "Disabled");
|
||||
@@ -75,13 +96,20 @@ namespace start
|
||||
{
|
||||
File.WriteAllText("SaveData\\App\\facefeaturesadd.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/facefeaturesadd.txt"));
|
||||
}
|
||||
if (!(File.Exists("SaveData\\Images\\count.txt")))
|
||||
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.Clear();
|
||||
|
||||
1
Update/banned.txt
Normal file
1
Update/banned.txt
Normal file
@@ -0,0 +1 @@
|
||||
[{"UserId":487454,"Reason":"Banned."}, {"UserId":4701796,"Reason":"Banned."}, {"UserId":1623123,"Reason":"Banned."}, {"UserId":1423224,"Reason":"Banned."}]
|
||||
11
Update/builds.txt
Normal file
11
Update/builds.txt
Normal 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
|
||||
1
Update/dormslideshow.txt
Normal file
1
Update/dormslideshow.txt
Normal file
@@ -0,0 +1 @@
|
||||
{"Name":"Check Out All The Rooms Today!","FeaturedRooms":[{"RoomName":"Home","RoomId":1,"ImageName":"DefaultRoomImage.jpg"},{"RoomName":"RecCenter","RoomId":2,"ImageName":"22eefa3219f046fd9e2090814650ede3"},{"RoomName":"3DCharades","RoomId":3,"ImageName":"a446d5808ed14401a27f53e631c31b93.png"},{"RoomName":"DiscGolfLake","RoomId":4,"ImageName":"52cf6c3271894ecd95fb0c9b2d2209a7"},{"RoomName":"DiscGolfPropulsion","RoomId":5,"ImageName":"fc9a1acc47514b64a30d199d5ccdeca9"},{"RoomName":"Dodgeball","RoomId":6,"ImageName":"6d5c494668784816bbc41d9b870e5003"},{"RoomName":"Paddleball","RoomId":7,"ImageName":"ffdca6ed8bd94631ac15e3e894acb6c6"},{"RoomName":"Paintball","RoomId":8,"ImageName":"93a53ced93a04f658795a87f4a4aab85"},{"RoomName":"GoldenTrophy","RoomId":13,"ImageName":"38e9d0d4eff94556a0b106508249dcf9"},{"RoomName":"TheRiseofJumbotron","RoomId":14,"ImageName":"51296f28105b48178708e389b6daf057"},{"RoomName":"CrimsonCauldron","RoomId":15,"ImageName":"3ab82779dff94d11920ebf38df249395"},{"RoomName":"IsleOfLostSkulls","RoomId":16,"ImageName":"45ad53aa002646d0ab3eb509b9f260ef"},{"RoomName":"Soccer","RoomId":17,"ImageName":"51c6f5ac5e6f4777b573e7e43f8a85ea"},{"RoomName":"LaserTag","RoomId":18,"ImageName":"c5a72193d6904811b2d0195a6deb3125"},{"RoomName":"RecRoyaleSquads","RoomId":20,"ImageName":"69fc525056014e39a435c4d2fdf2b887"},{"RoomName":"RecRoyaleSolos","RoomId":21,"ImageName":"f9e112bb67fb430d979e5ad6c2c116d4"},{"RoomName":"Lounge","RoomId":22,"ImageName":"3e8c2458f1e542ab8aa275e4083ee47a"},{"RoomName":"Park","RoomId":25,"ImageName":"79ee7af2532247f397867e48daa9d264.png"},{"RoomName":"QuestForDracula","RoomId":27,"ImageName":"d0df003353914adfaecdd23f428208b6"}]}
|
||||
302
Update/hotrooms.txt
Normal file
302
Update/hotrooms.txt
Normal file
@@ -0,0 +1,302 @@
|
||||
[
|
||||
{
|
||||
"RoomId": 29,
|
||||
"Name": "Custom Room",
|
||||
"Description": "Custom Room",
|
||||
"CreatorPlayerId": 1,
|
||||
"ImageName": "CustomRoom.png",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 3,
|
||||
"Name": "3DCharades",
|
||||
"Description": "Take turns drawing, acting, and guessing funny phrases with your friends!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "a446d5808ed14401a27f53e631c31b93.png",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 4,
|
||||
"Name": "DiscGolfLake",
|
||||
"Description": "Throw your disc into the goal. Sounds easy, right?",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "52cf6c3271894ecd95fb0c9b2d2209a7",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 5,
|
||||
"Name": "DiscGolfPropulsion",
|
||||
"Description": "Throw your disc into the goal. Sounds easy, right?",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "fc9a1acc47514b64a30d199d5ccdeca9",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 6,
|
||||
"Name": "Dodgeball",
|
||||
"Description": "Throw dodgeballs to knock out your friends in this gym classic!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "6d5c494668784816bbc41d9b870e5003",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 7,
|
||||
"Name": "Paddleball",
|
||||
"Description": "A simple rally game between two players in a plexiglass tube with a zero-g ball.",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "ffdca6ed8bd94631ac15e3e894acb6c6",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 8,
|
||||
"Name": "Paintball",
|
||||
"Description": "Red and Blue teams splat each other in capture the flag and team battle.",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "93a53ced93a04f658795a87f4a4aab85",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": true,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 13,
|
||||
"Name": "GoldenTrophy",
|
||||
"Description": "The goblin king stole Coach's Golden Trophy. Team up and embark on an epic quest to recover it!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "38e9d0d4eff94556a0b106508249dcf9",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 14,
|
||||
"Name": "TheRiseofJumbotron",
|
||||
"Description": "Robot invaders threaten the galaxy! Team up with your friends and bring the laser heat!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "51296f28105b48178708e389b6daf057",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 15,
|
||||
"Name": "CrimsonCauldron",
|
||||
"Description": "Can your band of adventurers brave the enchanted wilds, and lift the curse of the crimson cauldron?",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "3ab82779dff94d11920ebf38df249395",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 16,
|
||||
"Name": "IsleOfLostSkulls",
|
||||
"Description": "Can your pirate crew get to the Isle, defeat its fearsome guardian, and escape with the gold?",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "45ad53aa002646d0ab3eb509b9f260ef",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 17,
|
||||
"Name": "Soccer",
|
||||
"Description": "Teams of three run around slamming themselves into an over-sized soccer ball. Goal!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "51c6f5ac5e6f4777b573e7e43f8a85ea",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 18,
|
||||
"Name": "LaserTag",
|
||||
"Description": "Teams battle each other and waves of robots.",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "c5a72193d6904811b2d0195a6deb3125",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 20,
|
||||
"Name": "RecRoyaleSquads",
|
||||
"Description": "Squads of three battle it out on Frontier Island. Last squad standing wins!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "69fc525056014e39a435c4d2fdf2b887",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 21,
|
||||
"Name": "RecRoyaleSolos",
|
||||
"Description": "Battle it out on Frontier Island. Last person standing wins!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "f9e112bb67fb430d979e5ad6c2c116d4",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 22,
|
||||
"Name": "Lounge",
|
||||
"Description": "A low-key lounge to chill with your friends. Great for private parties!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "3e8c2458f1e542ab8aa275e4083ee47a",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 25,
|
||||
"Name": "Park",
|
||||
"Description": "A sprawling park with amphitheater, play fields, and a cave.",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "79ee7af2532247f397867e48daa9d264.png",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 27,
|
||||
"Name": "QuestForDraucula",
|
||||
"Description": "Gather your vampire hunting crew, conquer a legendary castle, and restore peace to Rec Room!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "d0df003353914adfaecdd23f428208b6",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 2,
|
||||
"Name": "RecCenter",
|
||||
"Description": "A social hub to meet and mingle with friends new and old.",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "22eefa3219f046fd9e2090814650ede3",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
},
|
||||
{
|
||||
"RoomId": 28,
|
||||
"Name": "Bowling",
|
||||
"Description": "Hang out with friends, bowl a few games, eat snacks!",
|
||||
"CreatorPlayerId": 72963398,
|
||||
"ImageName": "4d143a3359e8483e8d48116ab6cacecb",
|
||||
"State": 0,
|
||||
"Accessibility": 1,
|
||||
"SupportsLevelVoting": false,
|
||||
"IsAGRoom": true,
|
||||
"CloningAllowed": false,
|
||||
"SupportsScreens": true,
|
||||
"SupportsWalkVR": true,
|
||||
"SupportsTeleportVR": true
|
||||
}
|
||||
]
|
||||
4
Update/motd.txt
Normal file
4
Update/motd.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Welcome to OpenRec!
|
||||
|
||||
BTW IF YOU SEE THIS, SHUT UP
|
||||
THANK YOU
|
||||
23
Update/rcslideshow.txt
Normal file
23
Update/rcslideshow.txt
Normal 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"
|
||||
}
|
||||
298
Vault2018CustomRooms.cs
Normal file
298
Vault2018CustomRooms.cs
Normal file
@@ -0,0 +1,298 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Newtonsoft.Json;
|
||||
using vaultgamesesh;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
|
||||
internal sealed class c000099
|
||||
{
|
||||
// Token: 0x06000358 RID: 856 RVA: 0x0000B134 File Offset: 0x00009334
|
||||
public static c000099.c00009c m00002f()
|
||||
{
|
||||
List<c00005d.c000062> list = new List<c00005d.c000062>();
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000050)
|
||||
{
|
||||
c00005d.c000062 item = new c00005d.c000062
|
||||
{
|
||||
RoomName = keyValuePair.Value.Room.Name,
|
||||
RoomId = (long)((int)keyValuePair.Value.Room.RoomId),
|
||||
ImageName = keyValuePair.Value.Room.ImageName
|
||||
};
|
||||
list.Add(item);
|
||||
}
|
||||
return new c000099.c00009c
|
||||
{
|
||||
Name = "Check Out All The Rooms Today!",
|
||||
FeaturedRooms = list
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x06000359 RID: 857 RVA: 0x0000B204 File Offset: 0x00009404
|
||||
public static List<c00005d.c000061> m000009()
|
||||
{
|
||||
List<c00005d.c000061> list = new List<c00005d.c000061>();
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003b())
|
||||
{
|
||||
list.Add(keyValuePair.Value.Room);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// Token: 0x0600035A RID: 858 RVA: 0x0000B268 File Offset: 0x00009468
|
||||
public static List<c00005d.c000061> m000035()
|
||||
{
|
||||
List<c00005d.c000061> list = new List<c00005d.c000061>();
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000024)
|
||||
{
|
||||
list.Add(keyValuePair.Value.Room);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// Token: 0x0600035B RID: 859 RVA: 0x0000B2CC File Offset: 0x000094CC
|
||||
public static List<c00005d.c000061> m000055()
|
||||
{
|
||||
List<c00005d.c000061> list = new List<c00005d.c000061>();
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003a())
|
||||
{
|
||||
list.Add(keyValuePair.Value.Room);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// Token: 0x0600035C RID: 860 RVA: 0x0000B330 File Offset: 0x00009530
|
||||
public static List<c00005d.c000061> m000056(string p0)
|
||||
{
|
||||
string[] array = p0.Split(new char[]
|
||||
{
|
||||
' '
|
||||
});
|
||||
List<c00005d.c000061> list = new List<c00005d.c000061>();
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.m00003b())
|
||||
{
|
||||
c00005d.c000060 value = keyValuePair.Value;
|
||||
bool flag = true;
|
||||
foreach (string text in array)
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
if (text.StartsWith("#"))
|
||||
{
|
||||
bool flag2 = false;
|
||||
foreach (c00005d.c000063 c in value.Tags)
|
||||
{
|
||||
if ("#" + c.Tag.ToLower() == text.ToLower())
|
||||
{
|
||||
flag2 = true;
|
||||
}
|
||||
}
|
||||
if (!flag2)
|
||||
{
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
else if (!value.Room.Name.ToLower().Contains(text.ToLower()))
|
||||
{
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
list.Add(value.Room);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
// Token: 0x0600035D RID: 861 RVA: 0x0000B488 File Offset: 0x00009688
|
||||
public static c00005d.c000060 m000057(ulong p0)
|
||||
{
|
||||
foreach (KeyValuePair<string, c00005d.c000060> keyValuePair in c00005d.f000024)
|
||||
{
|
||||
if (keyValuePair.Value.Room.RoomId == p0)
|
||||
{
|
||||
return keyValuePair.Value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Token: 0x0600035E RID: 862 RVA: 0x0000B4F8 File Offset: 0x000096F8
|
||||
public static c000099.c00009b m00000a(string p0)
|
||||
{
|
||||
c000099.c00009b c00009b = new c000099.c00009b();
|
||||
c000099.c00009a c00009a = JsonConvert.DeserializeObject<c000099.c00009a>(p0);
|
||||
c00005d.c000060 c = c000099.m000057(c00009a.RoomId);
|
||||
if (c == null)
|
||||
{
|
||||
c00009b.Result = (c000099.enum09d)2;
|
||||
c00009b.RoomDetails = new c00005d.c000060();
|
||||
}
|
||||
else
|
||||
{
|
||||
c00009b.Result = (c000099.enum09d)0;
|
||||
c00009b.RoomDetails = c;
|
||||
c00009b.RoomDetails.Room.Name = c00009a.Name;
|
||||
ulong roomId = (ulong)((long)new Random().Next(100, 9999999));
|
||||
c00009b.RoomDetails.Room.RoomId = roomId;
|
||||
c00009b.RoomDetails.Room.IsAGRoom = false;
|
||||
c00009b.RoomDetails.Scenes[0].IsSandbox = true;
|
||||
c00009b.RoomDetails.Scenes[0].RoomId = roomId;
|
||||
c00009b.RoomDetails.Scenes[0].DataBlobName = string.Empty;
|
||||
c00009b.RoomDetails.Scenes[0].DataModifiedAt = DateTime.Now;
|
||||
c00009b.RoomDetails.Room.CreatorPlayerId = server.APIServer.CachedPlayerID;
|
||||
}
|
||||
c00005d.m00003a().Add(c00009a.Name, c);
|
||||
string text = c000004.m000007() + c00009b.RoomDetails.Room.Name;
|
||||
if (!Directory.Exists(text))
|
||||
{
|
||||
Directory.CreateDirectory(text);
|
||||
}
|
||||
File.WriteAllText(text + "\\RoomDetails.json", JsonConvert.SerializeObject(c00009b.RoomDetails));
|
||||
return c00009b;
|
||||
}
|
||||
|
||||
// Token: 0x0200009A RID: 154
|
||||
public sealed class c00009a
|
||||
{
|
||||
// Token: 0x17000105 RID: 261
|
||||
// (get) Token: 0x06000360 RID: 864 RVA: 0x0000373A File Offset: 0x0000193A
|
||||
// (set) Token: 0x06000361 RID: 865 RVA: 0x00003742 File Offset: 0x00001942
|
||||
public string Name
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00000a;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00000a = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000106 RID: 262
|
||||
// (get) Token: 0x06000362 RID: 866 RVA: 0x0000374B File Offset: 0x0000194B
|
||||
// (set) Token: 0x06000363 RID: 867 RVA: 0x00003753 File Offset: 0x00001953
|
||||
public ulong RoomId
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000023;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000023 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040001DD RID: 477
|
||||
private string f00000a;
|
||||
|
||||
// Token: 0x040001DE RID: 478
|
||||
private ulong f000023;
|
||||
}
|
||||
|
||||
// Token: 0x0200009B RID: 155
|
||||
public sealed class c00009b
|
||||
{
|
||||
// Token: 0x17000107 RID: 263
|
||||
// (get) Token: 0x06000365 RID: 869 RVA: 0x0000375C File Offset: 0x0000195C
|
||||
// (set) Token: 0x06000366 RID: 870 RVA: 0x00003764 File Offset: 0x00001964
|
||||
public c000099.enum09d Result
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000042;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000042 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000108 RID: 264
|
||||
// (get) Token: 0x06000367 RID: 871 RVA: 0x0000376D File Offset: 0x0000196D
|
||||
// (set) Token: 0x06000368 RID: 872 RVA: 0x00003775 File Offset: 0x00001975
|
||||
public c00005d.c000060 RoomDetails
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00004f;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00004f = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040001DF RID: 479
|
||||
private c000099.enum09d f000042;
|
||||
|
||||
// Token: 0x040001E0 RID: 480
|
||||
private c00005d.c000060 f00004f;
|
||||
}
|
||||
|
||||
// Token: 0x0200009C RID: 156
|
||||
public sealed class c00009c
|
||||
{
|
||||
// Token: 0x17000109 RID: 265
|
||||
// (get) Token: 0x0600036A RID: 874 RVA: 0x0000377E File Offset: 0x0000197E
|
||||
// (set) Token: 0x0600036B RID: 875 RVA: 0x00003786 File Offset: 0x00001986
|
||||
public string Name
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00000a;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00000a = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700010A RID: 266
|
||||
// (get) Token: 0x0600036C RID: 876 RVA: 0x0000378F File Offset: 0x0000198F
|
||||
// (set) Token: 0x0600036D RID: 877 RVA: 0x00003797 File Offset: 0x00001997
|
||||
public List<c00005d.c000062> FeaturedRooms
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000031;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000031 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040001E1 RID: 481
|
||||
private string f00000a;
|
||||
|
||||
// Token: 0x040001E2 RID: 482
|
||||
private List<c00005d.c000062> f000031;
|
||||
}
|
||||
|
||||
// Token: 0x0200009D RID: 157
|
||||
public enum enum09d
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
460
Vault2018GameSessions.cs
Normal file
460
Vault2018GameSessions.cs
Normal file
@@ -0,0 +1,460 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using Newtonsoft.Json;
|
||||
using System.IO;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000005 RID: 5
|
||||
internal sealed class c000041
|
||||
{
|
||||
// Token: 0x0600000E RID: 14 RVA: 0x000022C0 File Offset: 0x000004C0
|
||||
public static c000041.c000044 m00002f()
|
||||
{
|
||||
return new c000041.c000044
|
||||
{
|
||||
GameSessionId = 20181L,
|
||||
PhotonRegionId = "us",
|
||||
PhotonRoomId = "1",
|
||||
Name = "DormRoom",
|
||||
RoomId = 1L,
|
||||
RoomSceneId = 1L,
|
||||
RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163",
|
||||
IsSandbox = false,
|
||||
DataBlobName = string.Empty,
|
||||
PlayerEventId = null,
|
||||
Private = false,
|
||||
GameInProgress = false,
|
||||
MaxCapacity = 20,
|
||||
IsFull = false
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x0600000F RID: 15 RVA: 0x00002370 File Offset: 0x00000570
|
||||
public static c000041.c000042 m000030(string p0)
|
||||
{
|
||||
c00006b.c00006c c00006c = JsonConvert.DeserializeObject<c00006b.c00006c>(p0);
|
||||
Console.WriteLine("[BackEnd] Room Name: " + c00006c.RoomName);
|
||||
Thread.Sleep(1);
|
||||
Console.WriteLine("[BackEnd] Scene Name: " + c00006c.SceneName);
|
||||
bool flag = c00005d.m00003b().ContainsKey(c00006c.RoomName);
|
||||
if (flag)
|
||||
{
|
||||
c000041.f000043 = c00005d.m00003b()[c00006c.RoomName];
|
||||
}
|
||||
else
|
||||
{
|
||||
bool flag2 = c00005d.m00003a().ContainsKey(c00006c.RoomName);
|
||||
if (flag2)
|
||||
{
|
||||
c000041.f000043 = c00005d.m00003a()[c00006c.RoomName];
|
||||
}
|
||||
else
|
||||
{
|
||||
c000041.f000043 = c00005d.f000050["DormRoom"];
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
for (int i = 0; i < c000041.f000043.Scenes.Count<c00005d.c00005f>(); i++)
|
||||
{
|
||||
bool flag3 = c000041.f000043.Scenes[i].Name == c00006c.SceneName;
|
||||
if (flag3)
|
||||
{
|
||||
num = i;
|
||||
}
|
||||
}
|
||||
string text = string.Format("{0}", c000041.f000043.Scenes[num].RoomId);
|
||||
bool flag4 = c000041.f000013 != null && text + c000004.f000003 == c000041.f000013.PhotonRoomId;
|
||||
if (flag4)
|
||||
{
|
||||
text += "Instance2";
|
||||
}
|
||||
text += c000004.f000003;
|
||||
bool @private = c00006c.Private;
|
||||
if (@private)
|
||||
{
|
||||
text += string.Format("Pri{0}", server.APIServer.CachedPlayerID);
|
||||
}
|
||||
long gameseshid = 20181L;
|
||||
if (start.Program.bannedflag == true)
|
||||
{
|
||||
gameseshid = 100L;
|
||||
text += "BANNED";
|
||||
}
|
||||
|
||||
c000041.f000013 = new c000041.c000044
|
||||
{
|
||||
GameSessionId = gameseshid,
|
||||
PhotonRegionId = "us",
|
||||
PhotonRoomId = text,
|
||||
Name = c000041.f000043.Room.Name,
|
||||
RoomId = (long)c000041.f000043.Room.RoomId,
|
||||
RoomSceneId = (long)(num + 1),
|
||||
RoomSceneLocationId = c000041.f000043.Scenes[num].RoomSceneLocationId,
|
||||
IsSandbox = c000041.f000043.Scenes[num].IsSandbox,
|
||||
DataBlobName = c000041.f000043.Scenes[num].DataBlobName,
|
||||
PlayerEventId = null,
|
||||
Private = c00006c.Private,
|
||||
GameInProgress = false,
|
||||
MaxCapacity = 20,
|
||||
IsFull = false
|
||||
};
|
||||
c000041.c000042 c = new c000041.c000042();
|
||||
c.Result = 0;
|
||||
c.GameSession = c000041.f000013;
|
||||
c.RoomDetails = c000041.f000043;
|
||||
Console.WriteLine(JsonConvert.SerializeObject(c));
|
||||
return c;
|
||||
}
|
||||
|
||||
// Token: 0x0400000B RID: 11
|
||||
public static c00005d.c000060 f000043;
|
||||
|
||||
// Token: 0x0400000C RID: 12
|
||||
public static c000041.c000044 f000013;
|
||||
|
||||
// Token: 0x02000028 RID: 40
|
||||
public sealed class c000042
|
||||
{
|
||||
// Token: 0x17000039 RID: 57
|
||||
// (get) Token: 0x060000D7 RID: 215 RVA: 0x0000B290 File Offset: 0x00009490
|
||||
// (set) Token: 0x060000D8 RID: 216 RVA: 0x0000B2A8 File Offset: 0x000094A8
|
||||
public int Result
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00001f;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00001f = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700003A RID: 58
|
||||
// (get) Token: 0x060000D9 RID: 217 RVA: 0x0000B2B4 File Offset: 0x000094B4
|
||||
// (set) Token: 0x060000DA RID: 218 RVA: 0x0000B2CC File Offset: 0x000094CC
|
||||
public c000041.c000044 GameSession
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000013;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000013 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700003B RID: 59
|
||||
// (get) Token: 0x060000DB RID: 219 RVA: 0x0000B2D8 File Offset: 0x000094D8
|
||||
// (set) Token: 0x060000DC RID: 220 RVA: 0x0000B2F0 File Offset: 0x000094F0
|
||||
public c00005d.c000060 RoomDetails
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000045;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000045 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04000075 RID: 117
|
||||
private int f00001f;
|
||||
|
||||
// Token: 0x04000076 RID: 118
|
||||
private c000041.c000044 f000013;
|
||||
|
||||
// Token: 0x04000077 RID: 119
|
||||
private c00005d.c000060 f000045;
|
||||
}
|
||||
|
||||
// Token: 0x02000029 RID: 41
|
||||
public enum enum043
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Token: 0x0200002A RID: 42
|
||||
public sealed class c000044
|
||||
{
|
||||
// Token: 0x1700003C RID: 60
|
||||
// (get) Token: 0x060000DE RID: 222 RVA: 0x0000B304 File Offset: 0x00009504
|
||||
// (set) Token: 0x060000DF RID: 223 RVA: 0x0000B31C File Offset: 0x0000951C
|
||||
public long GameSessionId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f00002c;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f00002c = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700003D RID: 61
|
||||
// (get) Token: 0x060000E0 RID: 224 RVA: 0x0000B326 File Offset: 0x00009526
|
||||
// (set) Token: 0x060000E1 RID: 225 RVA: 0x0000B32E File Offset: 0x0000952E
|
||||
public string PhotonRegionId { get; set; }
|
||||
|
||||
// Token: 0x1700003E RID: 62
|
||||
// (get) Token: 0x060000E2 RID: 226 RVA: 0x0000B338 File Offset: 0x00009538
|
||||
// (set) Token: 0x060000E3 RID: 227 RVA: 0x0000B350 File Offset: 0x00009550
|
||||
public string PhotonRoomId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000003;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000003 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700003F RID: 63
|
||||
// (get) Token: 0x060000E4 RID: 228 RVA: 0x0000B35C File Offset: 0x0000955C
|
||||
// (set) Token: 0x060000E5 RID: 229 RVA: 0x0000B374 File Offset: 0x00009574
|
||||
public string Name
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000035;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000035 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000040 RID: 64
|
||||
// (get) Token: 0x060000E6 RID: 230 RVA: 0x0000B380 File Offset: 0x00009580
|
||||
// (set) Token: 0x060000E7 RID: 231 RVA: 0x0000B398 File Offset: 0x00009598
|
||||
public long RoomId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f00000d;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f00000d = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000041 RID: 65
|
||||
// (get) Token: 0x060000E8 RID: 232 RVA: 0x0000B3A4 File Offset: 0x000095A4
|
||||
// (set) Token: 0x060000E9 RID: 233 RVA: 0x0000B3BC File Offset: 0x000095BC
|
||||
public long RoomSceneId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000046;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000046 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000042 RID: 66
|
||||
// (get) Token: 0x060000EA RID: 234 RVA: 0x0000B3C8 File Offset: 0x000095C8
|
||||
// (set) Token: 0x060000EB RID: 235 RVA: 0x0000B3E0 File Offset: 0x000095E0
|
||||
public string RoomSceneLocationId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f00000f;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f00000f = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000043 RID: 67
|
||||
// (get) Token: 0x060000EC RID: 236 RVA: 0x0000B3EC File Offset: 0x000095EC
|
||||
// (set) Token: 0x060000ED RID: 237 RVA: 0x0000B404 File Offset: 0x00009604
|
||||
public bool IsSandbox
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000017;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000017 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000044 RID: 68
|
||||
// (get) Token: 0x060000EE RID: 238 RVA: 0x0000B410 File Offset: 0x00009610
|
||||
// (set) Token: 0x060000EF RID: 239 RVA: 0x0000B428 File Offset: 0x00009628
|
||||
public string DataBlobName
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000009;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000009 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000045 RID: 69
|
||||
// (get) Token: 0x060000F0 RID: 240 RVA: 0x0000B434 File Offset: 0x00009634
|
||||
// (set) Token: 0x060000F1 RID: 241 RVA: 0x0000B44C File Offset: 0x0000964C
|
||||
public long? PlayerEventId
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000047;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000047 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000046 RID: 70
|
||||
// (get) Token: 0x060000F2 RID: 242 RVA: 0x0000B458 File Offset: 0x00009658
|
||||
// (set) Token: 0x060000F3 RID: 243 RVA: 0x0000B470 File Offset: 0x00009670
|
||||
public bool Private
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000019;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000019 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000047 RID: 71
|
||||
// (get) Token: 0x060000F4 RID: 244 RVA: 0x0000B47C File Offset: 0x0000967C
|
||||
// (set) Token: 0x060000F5 RID: 245 RVA: 0x0000B494 File Offset: 0x00009694
|
||||
public bool GameInProgress
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f00001a;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f00001a = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000048 RID: 72
|
||||
// (get) Token: 0x060000F6 RID: 246 RVA: 0x0000B4A0 File Offset: 0x000096A0
|
||||
// (set) Token: 0x060000F7 RID: 247 RVA: 0x0000B4B8 File Offset: 0x000096B8
|
||||
public int MaxCapacity
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f000048;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f000048 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000049 RID: 73
|
||||
// (get) Token: 0x060000F8 RID: 248 RVA: 0x0000B4C4 File Offset: 0x000096C4
|
||||
// (set) Token: 0x060000F9 RID: 249 RVA: 0x0000B4DC File Offset: 0x000096DC
|
||||
public bool IsFull
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return this.f00001c;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.f00001c = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400007A RID: 122
|
||||
private long f00002c;
|
||||
|
||||
// Token: 0x0400007B RID: 123
|
||||
private string f000002;
|
||||
|
||||
// Token: 0x0400007C RID: 124
|
||||
private string f000003;
|
||||
|
||||
// Token: 0x0400007D RID: 125
|
||||
private string f000035;
|
||||
|
||||
// Token: 0x0400007E RID: 126
|
||||
private long f00000d;
|
||||
|
||||
// Token: 0x0400007F RID: 127
|
||||
private long f000046;
|
||||
|
||||
// Token: 0x04000080 RID: 128
|
||||
private string f00000f;
|
||||
|
||||
// Token: 0x04000081 RID: 129
|
||||
private bool f000017;
|
||||
|
||||
// Token: 0x04000082 RID: 130
|
||||
private string f000009;
|
||||
|
||||
// Token: 0x04000083 RID: 131
|
||||
private long? f000047;
|
||||
|
||||
// Token: 0x04000084 RID: 132
|
||||
private bool f000019;
|
||||
|
||||
// Token: 0x04000085 RID: 133
|
||||
private bool f00001a;
|
||||
|
||||
// Token: 0x04000086 RID: 134
|
||||
private int f000048;
|
||||
|
||||
// Token: 0x04000087 RID: 135
|
||||
private bool f00001c;
|
||||
}
|
||||
}
|
||||
}
|
||||
192
Vault2018Player.cs
Normal file
192
Vault2018Player.cs
Normal file
@@ -0,0 +1,192 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000008 RID: 8
|
||||
public sealed class c000079
|
||||
{
|
||||
// Token: 0x06000017 RID: 23 RVA: 0x00004F14 File Offset: 0x00003114
|
||||
public static List<c000079.c00007a> m000009()
|
||||
{
|
||||
return c000079.f000031;
|
||||
}
|
||||
|
||||
// Token: 0x06000018 RID: 24 RVA: 0x00004F2B File Offset: 0x0000312B
|
||||
public static void m000036(List<c000079.c00007a> p0)
|
||||
{
|
||||
c000079.f000031 = p0;
|
||||
}
|
||||
|
||||
// Token: 0x04000010 RID: 16
|
||||
private static List<c000079.c00007a> f000031;
|
||||
|
||||
// Token: 0x02000037 RID: 55
|
||||
public sealed class c00007a
|
||||
{
|
||||
// Token: 0x17000080 RID: 128
|
||||
// (get) Token: 0x0600016E RID: 366 RVA: 0x0000BC2C File Offset: 0x00009E2C
|
||||
// (set) Token: 0x0600016F RID: 367 RVA: 0x0000BC44 File Offset: 0x00009E44
|
||||
public ulong Id
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000001;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000001 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000081 RID: 129
|
||||
// (get) Token: 0x06000170 RID: 368 RVA: 0x0000BC50 File Offset: 0x00009E50
|
||||
// (set) Token: 0x06000171 RID: 369 RVA: 0x0000BC68 File Offset: 0x00009E68
|
||||
public string DisplayName
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000002;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000002 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000082 RID: 130
|
||||
// (get) Token: 0x06000172 RID: 370 RVA: 0x0000BC74 File Offset: 0x00009E74
|
||||
// (set) Token: 0x06000173 RID: 371 RVA: 0x0000BC8C File Offset: 0x00009E8C
|
||||
public string Username
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000003;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000003 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000083 RID: 131
|
||||
// (get) Token: 0x06000174 RID: 372 RVA: 0x0000BC98 File Offset: 0x00009E98
|
||||
// (set) Token: 0x06000175 RID: 373 RVA: 0x0000BCB0 File Offset: 0x00009EB0
|
||||
public int Level
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000004;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000004 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000084 RID: 132
|
||||
// (get) Token: 0x06000176 RID: 374 RVA: 0x0000BCBC File Offset: 0x00009EBC
|
||||
// (set) Token: 0x06000177 RID: 375 RVA: 0x0000BCD4 File Offset: 0x00009ED4
|
||||
public int XP
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000005;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000005 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000085 RID: 133
|
||||
// (get) Token: 0x06000178 RID: 376 RVA: 0x0000BCE0 File Offset: 0x00009EE0
|
||||
// (set) Token: 0x06000179 RID: 377 RVA: 0x0000BCF8 File Offset: 0x00009EF8
|
||||
public bool Developer
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000039;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000039 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000086 RID: 134
|
||||
// (get) Token: 0x0600017A RID: 378 RVA: 0x0000BD04 File Offset: 0x00009F04
|
||||
// (set) Token: 0x0600017B RID: 379 RVA: 0x0000BD1C File Offset: 0x00009F1C
|
||||
public bool IsBooster
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000016;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000016 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000087 RID: 135
|
||||
// (get) Token: 0x0600017C RID: 380 RVA: 0x0000BD28 File Offset: 0x00009F28
|
||||
// (set) Token: 0x0600017D RID: 381 RVA: 0x0000BD40 File Offset: 0x00009F40
|
||||
public int BootMultiplier
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000008;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000008 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000C1 RID: 193
|
||||
private ulong f000001;
|
||||
|
||||
// Token: 0x040000C2 RID: 194
|
||||
private string f000002;
|
||||
|
||||
// Token: 0x040000C3 RID: 195
|
||||
private string f000003;
|
||||
|
||||
// Token: 0x040000C4 RID: 196
|
||||
private int f000004;
|
||||
|
||||
// Token: 0x040000C5 RID: 197
|
||||
private int f000005;
|
||||
|
||||
// Token: 0x040000C6 RID: 198
|
||||
private bool f000039;
|
||||
|
||||
// Token: 0x040000C7 RID: 199
|
||||
private bool f000016;
|
||||
|
||||
// Token: 0x040000C8 RID: 200
|
||||
private int f000008;
|
||||
}
|
||||
}
|
||||
}
|
||||
108
Vault2018WS.cs
Normal file
108
Vault2018WS.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using start;
|
||||
using WebSocketSharp;
|
||||
using WebSocketSharp.Server;
|
||||
using ws;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
public class Late2018WebSock
|
||||
{
|
||||
public Late2018WebSock()
|
||||
{
|
||||
Late2018WebSock.instance = this;
|
||||
this.WebSock.AddWebSocketService<Late2018WebSock.NotificationWS>("/api/notification/v2");
|
||||
this.WebSock.AddWebSocketService<Late2018WebSock.HubWS>("/hub/v1");
|
||||
this.WebSock.Start();
|
||||
Console.WriteLine("[LateWebSocket.cs] has started.");
|
||||
Console.WriteLine("[LateWebSocket.cs] is listening.");
|
||||
}
|
||||
|
||||
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 class HubWS : WebSocketBehavior
|
||||
{
|
||||
protected override void OnMessage(MessageEventArgs e)
|
||||
{
|
||||
Console.WriteLine("LateWebSocket.cs Hub Requested.");
|
||||
base.Send(JsonConvert.SerializeObject(new Late2018WebSock.Hub()));
|
||||
}
|
||||
|
||||
public HubWS()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class Hub : WebSocketBehavior
|
||||
{
|
||||
public Hub()
|
||||
{
|
||||
this.accessToken = "AccessDeezNuts";
|
||||
this.SupportedTransports = new List<string>();
|
||||
this.negotiateVersion = 0;
|
||||
this.url = new Uri(string.Format("http://localhost:{0}/", "2018"));
|
||||
}
|
||||
|
||||
public Uri url { get; set; }
|
||||
|
||||
public string accessToken { get; set; }
|
||||
|
||||
public List<string> SupportedTransports { get; set; }
|
||||
|
||||
public int negotiateVersion { get; set; }
|
||||
}
|
||||
|
||||
public class NotificationWS : WebSocketBehavior
|
||||
{
|
||||
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.");
|
||||
bool flag2 = p0.Data == null;
|
||||
bool flag3 = flag2;
|
||||
bool flag4 = flag3;
|
||||
if (flag4)
|
||||
{
|
||||
base.Send(string.Empty);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.Send(Notification2018.ProcessRequest(p0.Data));
|
||||
}
|
||||
}
|
||||
|
||||
public NotificationWS()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
VaultGameConfig.cs
Normal file
30
VaultGameConfig.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000002 RID: 2
|
||||
internal sealed class c000004
|
||||
{
|
||||
public static string m000007()
|
||||
{
|
||||
string text = "SaveData\\" + "Rooms\\";
|
||||
bool flag = !Directory.Exists(text);
|
||||
bool flag2 = flag;
|
||||
if (flag2)
|
||||
{
|
||||
Directory.CreateDirectory(text);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
// Token: 0x04000001 RID: 1
|
||||
public static ulong f000001 = 0UL;
|
||||
|
||||
// Token: 0x04000002 RID: 2
|
||||
public static string f000002 = "us";
|
||||
|
||||
// Token: 0x04000003 RID: 3
|
||||
public static string f000003 = "OpenRec_v0.6.0";
|
||||
|
||||
}
|
||||
}
|
||||
197
VaultSceneInfo.cs
Normal file
197
VaultSceneInfo.cs
Normal file
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000007 RID: 7
|
||||
internal sealed class c00006b
|
||||
{
|
||||
// Token: 0x02000035 RID: 53
|
||||
public sealed class c00006c
|
||||
{
|
||||
// Token: 0x17000077 RID: 119
|
||||
// (get) Token: 0x0600015A RID: 346 RVA: 0x0000BAD8 File Offset: 0x00009CD8
|
||||
// (set) Token: 0x0600015B RID: 347 RVA: 0x0000BAF0 File Offset: 0x00009CF0
|
||||
public ulong[] ExpectedPlayerIds
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000001;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000001 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000078 RID: 120
|
||||
// (get) Token: 0x0600015C RID: 348 RVA: 0x0000BAFC File Offset: 0x00009CFC
|
||||
// (set) Token: 0x0600015D RID: 349 RVA: 0x0000BB14 File Offset: 0x00009D14
|
||||
public c00006b.c00006d[] RegionPings
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00004f;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00004f = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000079 RID: 121
|
||||
// (get) Token: 0x0600015E RID: 350 RVA: 0x0000BB20 File Offset: 0x00009D20
|
||||
// (set) Token: 0x0600015F RID: 351 RVA: 0x0000BB38 File Offset: 0x00009D38
|
||||
public string[] RoomTags
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000003;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000003 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700007A RID: 122
|
||||
// (get) Token: 0x06000160 RID: 352 RVA: 0x0000BB44 File Offset: 0x00009D44
|
||||
// (set) Token: 0x06000161 RID: 353 RVA: 0x0000BB5C File Offset: 0x00009D5C
|
||||
public string RoomName
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000035;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000035 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700007B RID: 123
|
||||
// (get) Token: 0x06000162 RID: 354 RVA: 0x0000BB68 File Offset: 0x00009D68
|
||||
// (set) Token: 0x06000163 RID: 355 RVA: 0x0000BB80 File Offset: 0x00009D80
|
||||
public string SceneName
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000036;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000036 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700007C RID: 124
|
||||
// (get) Token: 0x06000164 RID: 356 RVA: 0x0000BB8C File Offset: 0x00009D8C
|
||||
// (set) Token: 0x06000165 RID: 357 RVA: 0x0000BBA4 File Offset: 0x00009DA4
|
||||
public int AdditionalPlayerJoinMode
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000006;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000006 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700007D RID: 125
|
||||
// (get) Token: 0x06000166 RID: 358 RVA: 0x0000BBB0 File Offset: 0x00009DB0
|
||||
// (set) Token: 0x06000167 RID: 359 RVA: 0x0000BBC8 File Offset: 0x00009DC8
|
||||
public bool Private
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000016;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000016 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000B8 RID: 184
|
||||
private ulong[] f000001;
|
||||
|
||||
// Token: 0x040000B9 RID: 185
|
||||
private c00006b.c00006d[] f00004f;
|
||||
|
||||
// Token: 0x040000BA RID: 186
|
||||
private string[] f000003;
|
||||
|
||||
// Token: 0x040000BB RID: 187
|
||||
private string f000035;
|
||||
|
||||
// Token: 0x040000BC RID: 188
|
||||
private string f000036;
|
||||
|
||||
// Token: 0x040000BD RID: 189
|
||||
private int f000006;
|
||||
|
||||
// Token: 0x040000BE RID: 190
|
||||
private bool f000016;
|
||||
}
|
||||
|
||||
// Token: 0x02000036 RID: 54
|
||||
public sealed class c00006d
|
||||
{
|
||||
// Token: 0x1700007E RID: 126
|
||||
// (get) Token: 0x06000169 RID: 361 RVA: 0x0000BBDC File Offset: 0x00009DDC
|
||||
// (set) Token: 0x0600016A RID: 362 RVA: 0x0000BBF4 File Offset: 0x00009DF4
|
||||
public string Region
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00000a;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00000a = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700007F RID: 127
|
||||
// (get) Token: 0x0600016B RID: 363 RVA: 0x0000BC00 File Offset: 0x00009E00
|
||||
// (set) Token: 0x0600016C RID: 364 RVA: 0x0000BC18 File Offset: 0x00009E18
|
||||
public int Ping
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f00000b;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f00000b = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000BF RID: 191
|
||||
private string f00000a;
|
||||
|
||||
// Token: 0x040000C0 RID: 192
|
||||
private int f00000b;
|
||||
}
|
||||
}
|
||||
}
|
||||
25
WebSocket.cs
25
WebSocket.cs
@@ -1,31 +1,42 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using start;
|
||||
using WebSocketSharp;
|
||||
using WebSocketSharp.Server;
|
||||
|
||||
namespace ws
|
||||
{
|
||||
// Token: 0x02000008 RID: 8
|
||||
// Token: 0x02000010 RID: 16
|
||||
internal class WebSocket
|
||||
{
|
||||
// Token: 0x06000012 RID: 18 RVA: 0x0000418C File Offset: 0x0000238C
|
||||
// Token: 0x06000031 RID: 49 RVA: 0x000066D4 File Offset: 0x000048D4
|
||||
public WebSocket()
|
||||
{
|
||||
WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161"));
|
||||
WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161", Array.Empty<object>()));
|
||||
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/api/notification/v2");
|
||||
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/hub/v1");
|
||||
webSocketServer.Start();
|
||||
Console.WriteLine("WebSocket.cs has started.");
|
||||
Console.WriteLine("WebSocket.cs is listening.");
|
||||
Console.WriteLine("[WebSocket.cs] has started.");
|
||||
Console.WriteLine("[WebSocket.cs] is listening.");
|
||||
}
|
||||
|
||||
// Token: 0x02000009 RID: 9
|
||||
// Token: 0x02000058 RID: 88
|
||||
public class NotificationV2 : WebSocketBehavior
|
||||
{
|
||||
// Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D
|
||||
// Token: 0x0600023F RID: 575 RVA: 0x0000BDF8 File Offset: 0x00009FF8
|
||||
protected override void OnMessage(MessageEventArgs e)
|
||||
{
|
||||
Console.WriteLine("WebSocket.cs called for.");
|
||||
base.Send(Notification.ProcessRequest(e.Data));
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
119
c000020.cs
Normal file
119
c000020.cs
Normal file
@@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace vaultgamesesh
|
||||
{
|
||||
// Token: 0x02000007 RID: 7
|
||||
internal sealed class c000020
|
||||
{
|
||||
// Token: 0x0600001A RID: 26 RVA: 0x00002B20 File Offset: 0x00000D20
|
||||
public static c000020.c000022 m000027()
|
||||
{
|
||||
bool flag = c000041.f000013 == null;
|
||||
bool flag2 = flag;
|
||||
bool flag3 = flag2;
|
||||
c000041.c000044 gameSession;
|
||||
if (flag3)
|
||||
{
|
||||
gameSession = c000041.m00002f();
|
||||
}
|
||||
else
|
||||
{
|
||||
gameSession = c000041.f000013;
|
||||
}
|
||||
return new c000020.c000022
|
||||
{
|
||||
PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
|
||||
IsOnline = true,
|
||||
PlayerType = 2,
|
||||
GameSession = gameSession
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// Token: 0x0200003C RID: 60
|
||||
public sealed class c000022
|
||||
{
|
||||
// Token: 0x17000088 RID: 136
|
||||
// (get) Token: 0x0600017E RID: 382 RVA: 0x0000A768 File Offset: 0x00008968
|
||||
// (set) Token: 0x0600017F RID: 383 RVA: 0x0000A780 File Offset: 0x00008980
|
||||
public ulong PlayerId
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000001;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000001 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000089 RID: 137
|
||||
// (get) Token: 0x06000180 RID: 384 RVA: 0x0000A78C File Offset: 0x0000898C
|
||||
// (set) Token: 0x06000181 RID: 385 RVA: 0x0000A7A4 File Offset: 0x000089A4
|
||||
public bool IsOnline
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000037;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000037 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700008A RID: 138
|
||||
// (get) Token: 0x06000182 RID: 386 RVA: 0x0000A7B0 File Offset: 0x000089B0
|
||||
// (set) Token: 0x06000183 RID: 387 RVA: 0x0000A7C8 File Offset: 0x000089C8
|
||||
public int PlayerType
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000020;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000020 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700008B RID: 139
|
||||
// (get) Token: 0x06000184 RID: 388 RVA: 0x0000A7D4 File Offset: 0x000089D4
|
||||
// (set) Token: 0x06000185 RID: 389 RVA: 0x0000A7EC File Offset: 0x000089EC
|
||||
public c000041.c000044 GameSession
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return this.f000038;
|
||||
}
|
||||
[CompilerGenerated]
|
||||
set
|
||||
{
|
||||
this.f000038 = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000C4 RID: 196
|
||||
private ulong f000001;
|
||||
|
||||
// Token: 0x040000C5 RID: 197
|
||||
private bool f000037;
|
||||
|
||||
// Token: 0x040000C6 RID: 198
|
||||
private int f000020;
|
||||
|
||||
// Token: 0x040000C7 RID: 199
|
||||
private c000041.c000044 f000038;
|
||||
}
|
||||
}
|
||||
}
|
||||
2363
c00005d.cs
Normal file
2363
c00005d.cs
Normal file
File diff suppressed because it is too large
Load Diff
BIN
websocket-sharp.dll
Normal file
BIN
websocket-sharp.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user