september 27th 2018 support

This commit is contained in:
recroom2016tutorial
2022-03-24 00:42:44 -04:00
parent f702725b9b
commit 2344b111d5
24 changed files with 3797 additions and 2155 deletions

10
.cs Normal file
View File

@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenRec
{
class Vault2018Rooms
{
}
}

View File

@@ -7,6 +7,7 @@ using api;
using api2018;
using api2017;
using Newtonsoft.Json;
using vaultgamesesh;
namespace server
{
@@ -74,7 +75,7 @@ namespace server
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
@@ -158,11 +159,15 @@ namespace server
}
if (Url == "gamesessions/v2/joinrandom")
{
s = gamesessions2018.GameSessions.JoinRandom(text);
s = gamesesh2018.GameSessions.JoinRandom(text);
}
if (Url == "gamesessions/v2/create")
{
s = gamesessions2018.GameSessions.Create(text);
s = gamesesh2018.GameSessions.Create(text);
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = JsonConvert.SerializeObject(Sanitize.GetSanitize());
}
Console.WriteLine("API Response: " + s);
byte[] bytes = Encoding.UTF8.GetBytes(s);
@@ -228,7 +233,7 @@ namespace server
CachedPlayerID = ulong.Parse(text.Remove(0, 32));
CachedPlatformID = ulong.Parse(text.Remove(0, 22));
File.WriteAllText("SaveData\\Profile\\userid.txt", Convert.ToString(CachedPlayerID));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
@@ -288,7 +293,7 @@ namespace server
{
s = File.ReadAllText("SaveData\\gameconfigs.txt");
}
if (Url.StartsWith("storefronts"))
if (Url.StartsWith("storefronts/v3/giftdropstore"))
{
if (CachedVersionMonth == 09)
{
@@ -298,6 +303,10 @@ namespace server
{
s = BracketResponse;
}
}
if (Url.StartsWith("storefronts/v3/balance/"))
{
s = BracketResponse;
}
if (Url == "avatar/v2")
{
@@ -321,17 +330,17 @@ namespace server
{
Settings.SetPlayerSettings(text);
}
if (rawUrl == "//api/chat/v2/myChats?mode=0&count=50")
{
s = BracketResponse;
}
if (Url == "playersubscriptions/v1/my")
{
s = BracketResponse;
}
if (Url == "avatar/v3/items")
{
if (CachedVersionMonth == 09)
{
s = BracketResponse;
}
else
{
s = File.ReadAllText("SaveData\\avataritems.txt");
}
s = File.ReadAllText("SaveData\\avataritems.txt");
}
if (Url == "equipment/v1/getUnlocked")
{
@@ -344,11 +353,11 @@ namespace server
if (Url == "consumables/v1/getUnlocked")
{
if (CachedVersionMonth == 09)
{
{
s = BracketResponse;
}
}
else
{
{
s = File.ReadAllText("SaveData\\consumables.txt");
}
}
@@ -371,6 +380,10 @@ namespace server
if (Url == "rooms/v2/myrooms")
{
s = BracketResponse;
}
if (Url == "rooms/v2/baserooms")
{
s = File.ReadAllText("SaveData\\baserooms.txt");
}
if (Url == "rooms/v1/mybookmarkedrooms")
{
@@ -394,19 +407,19 @@ namespace server
}
if (Url == "gamesessions/v2/joinrandom")
{
s = gamesessions2018.GameSessions.JoinRandom(text);
s = gamesesh2018.GameSessions.JoinRandom(text);
}
if (Url == "gamesessions/v2/create")
{
s = gamesessions2018.GameSessions.Create(text);
s = gamesesh2018.GameSessions.Create(text);
}
if (Url == "gamesessions/v3/joinroom")
{
bytes = Encoding.UTF8.GetBytes((JsonConvert.SerializeObject(gamesessions2018.GameSessions2.JoinRoom(text))));
}
{
s = JsonConvert.SerializeObject(c000041.m000030(text));
}
if (rawUrl == "//api/sanitize/v1/isPure")
{
s = JsonConvert.SerializeObject(Sanitize.SanitizeRequest(text));
s = JsonConvert.SerializeObject(Sanitize.GetSanitize());
}
if (Url == "avatar/v3/saved")
{
@@ -414,17 +427,30 @@ namespace server
}
if (Url == "checklist/v1/current")
{
s = BracketResponse;
s = ChecklistV1Current;
}
if (Url == "presence/v1/setplayertype")
{
s = BracketResponse;
}
Console.WriteLine("API Response: " + s);
if (!(Url == "gamesessions/v3/joinroom"))
if (Url == "challenge/v1/getCurrent")
{
bytes = Encoding.UTF8.GetBytes(s);
s = ChallengesV1GetCurrent;
}
if (Url == "rooms/v1/featuredRoomGroup")
{
s = BracketResponse;
}
if (Url == "presence/v3/heartbeat")
{
s = JsonConvert.SerializeObject(Notification2018.Reponse.createResponse(4, c000020.m000027()));
}
if (Url == "rooms/v1/featuredRoomGroup")
{
s = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/dormslideshow.txt");
}
Console.WriteLine("API Response: " + s);
bytes = Encoding.UTF8.GetBytes(s);
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
@@ -451,8 +477,10 @@ namespace server
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}";
public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"OpenRec\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2043-12-27T21:27:38.1880399-08:00\"}";
public static string ChallengesV1GetCurrent = "{\"Success\":true,\"Message\":\"OpenRec\"}";
public static string ChecklistV1Current = "[{\"Order\":0,\"Objective\":3000,\"Count\":3,\"CreditAmount\":100},{\"Order\":1,\"Objective\":3001,\"Count\":3,\"CreditAmount\":100},{\"Order\":2,\"Objective\":3002,\"Count\":3,\"CreditAmount\":100}]";
public static string Banned = "{\"ReportCategory\":1,\"Duration\":10,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}";
public static string Banned = "{\"ReportCategory\":1,\"Duration\":10000000000000000,\"GameSessionId\":100,\"Message\":\"You have been banned. You are probably a little kid and are now whining at your VR headset. If you aren't a little kid, DM me to appeal.\"}";
private HttpListener listener = new HttpListener();
}
}

View File

@@ -1,72 +0,0 @@
using System;
using Newtonsoft.Json;
namespace api2018
{
// Token: 0x02000081 RID: 129
public class Sanitize
{
// Token: 0x0600039D RID: 925 RVA: 0x0000C51C File Offset: 0x0000A71C
public static Sanitize.SanitizeRequestDTO SanitizeChatRequest(string chatMessage)
{
Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject<Sanitize.SanitizePostDTO>(chatMessage);
return new Sanitize.SanitizeRequestDTO
{
StringValue = sanitizePostDTO.Value
};
}
// Token: 0x0600039E RID: 926 RVA: 0x0000C51C File Offset: 0x0000A71C
public static Sanitize.SanitizeRequestDTO SanitizeRequest(string chatMessage)
{
Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject<Sanitize.SanitizePostDTO>(chatMessage);
return new Sanitize.SanitizeRequestDTO
{
StringValue = sanitizePostDTO.Value
};
}
// Token: 0x0600039F RID: 927 RVA: 0x0000C544 File Offset: 0x0000A744
public static string SanitizeChatMessageRequest(string postData, string signature)
{
Sanitize.SanitizePostDTO sanitizePostDTO = JsonConvert.DeserializeObject<Sanitize.SanitizePostDTO>(postData);
return "\"" + sanitizePostDTO.Value + "\"";
}
// Token: 0x02000082 RID: 130
public class SanitizePostDTO
{
// Token: 0x1700016F RID: 367
// (get) Token: 0x060003A1 RID: 929 RVA: 0x000039AA File Offset: 0x00001BAA
// (set) Token: 0x060003A2 RID: 930 RVA: 0x000039B2 File Offset: 0x00001BB2
public string Value { get; set; }
// Token: 0x17000170 RID: 368
// (get) Token: 0x060003A3 RID: 931 RVA: 0x000039BB File Offset: 0x00001BBB
// (set) Token: 0x060003A4 RID: 932 RVA: 0x000039C3 File Offset: 0x00001BC3
public int ReplacementChar { get; set; }
}
// Token: 0x02000083 RID: 131
public class SanitizeRequestDTO
{
// Token: 0x17000171 RID: 369
// (get) Token: 0x060003A6 RID: 934 RVA: 0x000039CC File Offset: 0x00001BCC
// (set) Token: 0x060003A7 RID: 935 RVA: 0x000039D4 File Offset: 0x00001BD4
public string StringValue { get; set; }
}
// Token: 0x02000084 RID: 132
public class SanitizeStringRequest
{
// Token: 0x060003A9 RID: 937 RVA: 0x000039DD File Offset: 0x00001BDD
public SanitizeStringRequest(string text)
{
this.value = text;
}
// Token: 0x040002E6 RID: 742
public string value;
}
}
}

294
Config.cs
View File

@@ -8,155 +8,155 @@ namespace api
{
class Config
{
public static void setup()
public static void setup()
{
Console.WriteLine("Setting up...");
Directory.CreateDirectory("SaveData\\Profile\\");
if (!(File.Exists("SaveData\\avatar.txt")))
Console.WriteLine("Setting up...");
Directory.CreateDirectory("SaveData\\Profile\\");
if (!(File.Exists("SaveData\\avatar.txt")))
{
File.Create("SaveData\\avatar.txt");
File.Create("SaveData\\avatar.txt");
}
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
File.WriteAllText("SaveData\\Profile\\username.txt", "DefaultUsername");
}
if (!(File.Exists("SaveData\\profileimage.png")))
{
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
}
Console.WriteLine("Done!");
Console.Clear();
}
public static gamesessions2018.GameSessions.SessionInstance localGameSession;
public static Objective[][] dailyObjectives = new Objective[][]
{
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
}
};
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
File.WriteAllText("SaveData\\Profile\\username.txt", "DefaultUsername");
}
if (!(File.Exists("SaveData\\profileimage.png")))
{
File.WriteAllBytes("SaveData\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
}
Console.WriteLine("Done!");
Console.Clear();
}
public static gamesesh2018.GameSessions.SessionInstance localGameSession;
public static Objective[][] dailyObjectives = new Objective[][]
{
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
},
new Objective[]
{
new Objective
{
type = 20,
score = 1
},
new Objective
{
type = 21,
score = 1
},
new Objective
{
type = 22,
score = 1
}
}
};
}
}
}

View File

@@ -3,7 +3,7 @@ using Newtonsoft.Json;
using api;
using server;
using System.IO;
namespace gamesessions2018
namespace gamesesh2018
{
// Token: 0x02000020 RID: 32
public class GameSessions
@@ -87,7 +87,7 @@ namespace gamesessions2018
RecRoomId = null,
EventId = null,
CreatorPlayerId = (long?)APIServer.CachedPlayerID,
Name = "Custom Room",
Name = "OpenRec Custom Room",
ActivityLevelId = createRequest.ActivityLevelId,
Private = false,
Sandbox = true,

View File

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

View File

@@ -28,7 +28,7 @@ namespace server
private void StartListen()
{
//nameserver is ONLY for 2018
this.listener.Prefixes.Add("http://localhost:20181/");
this.listener.Prefixes.Add("http://localhost:56/");
for (; ; )
{
this.listener.Start();

View File

@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using gamesessions2018;
using gamesesh2018;
namespace ws
{
@@ -21,16 +21,16 @@ namespace ws
{
if (text2 == "playerSubscriptions/v1/update")
{
Console.WriteLine("WebSocket.cs game client sent presence update.");
Console.WriteLine("[WSS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, GameSessions.StatusSessionInstance()));
}
if (text2 == "heartbeat2")
{
Console.WriteLine("WebSocket.cs heartbeat 2 sent by game client.");
Console.WriteLine("[WSS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, GameSessions.StatusSessionInstance()));
}
}
Console.WriteLine("WebSocket.cs unknown API call: " + text);
Console.WriteLine("[WSS] Unknown API call: " + text);
result = "";
}
else
@@ -43,39 +43,39 @@ namespace ws
// Token: 0x0200002B RID: 43
public enum ResponseResult
{
// Token: 0x04000092 RID: 146
// Token: 0x04000090 RID: 144
RelationshipChanged = 1,
// Token: 0x04000093 RID: 147
// Token: 0x04000091 RID: 145
MessageReceived,
// Token: 0x04000094 RID: 148
// Token: 0x04000092 RID: 146
MessageDeleted,
// Token: 0x04000095 RID: 149
// Token: 0x04000093 RID: 147
PresenceHeartbeatResponse,
// Token: 0x04000096 RID: 150
// Token: 0x04000094 RID: 148
SubscriptionListUpdated = 9,
// Token: 0x04000097 RID: 151
// Token: 0x04000095 RID: 149
SubscriptionUpdateProfile = 11,
// Token: 0x04000098 RID: 152
// Token: 0x04000096 RID: 150
SubscriptionUpdatePresence,
// Token: 0x04000099 RID: 153
// Token: 0x04000097 RID: 151
SubscriptionUpdateGameSession,
// Token: 0x0400009A RID: 154
// Token: 0x04000098 RID: 152
SubscriptionUpdateRoom,
// Token: 0x0400009B RID: 155
// Token: 0x04000099 RID: 153
ModerationQuitGame = 20,
// Token: 0x0400009C RID: 156
// Token: 0x0400009A RID: 154
ModerationUpdateRequired,
// Token: 0x0400009D RID: 157
// Token: 0x0400009B RID: 155
ModerationKick,
// Token: 0x0400009E RID: 158
// Token: 0x0400009C RID: 156
ModerationKickAttemptFailed,
// Token: 0x0400009F RID: 159
// Token: 0x0400009D RID: 157
GiftPackageReceived = 30,
// Token: 0x040000A0 RID: 160
// Token: 0x0400009E RID: 158
ProfileJuniorStatusUpdate = 40,
// Token: 0x040000A1 RID: 161
// Token: 0x0400009F RID: 159
RelationshipsInvalid = 50,
// Token: 0x040000A2 RID: 162
// Token: 0x040000A0 RID: 160
StorefrontBalanceAdd = 60
}

View File

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

View File

@@ -5,8 +5,6 @@ VisualStudioVersion = 16.0.31321.278
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenRec_", "OpenRec_.csproj", "{C3C433FC-52FB-4472-81F7-B271A2CDABFE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3B5E3DA5-F8EC-4767-9BC3-AE95E72631D0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU

View File

@@ -5,6 +5,7 @@ using ws;
using api;
using System.Net;
using System.Diagnostics;
using vaultgamesesh;
namespace start
{
@@ -13,10 +14,12 @@ namespace start
static void Main()
{
//startup for openrec
Setup.setup();
goto Start;
Start:
Console.Title = "OpenRec Startup Menu";
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("OpenRec - Open source RecNet server software. (Version: " + appversion + ")");
Console.WriteLine("Made and provided by RecRoom 2016.");
@@ -28,7 +31,7 @@ namespace start
}
if (File.Exists("SaveData\\Profile\\userid.txt"))
{
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
@@ -40,6 +43,7 @@ namespace start
string readline = Console.ReadLine();
if (readline == "1")
{
Console.Title = "OpenRec Changelog";
Console.Clear();
Console.WriteLine(new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/changelog.txt"));
Console.WriteLine("Press any key to continue:");
@@ -53,6 +57,7 @@ namespace start
goto Settings;
Settings:
Console.Title = "OpenRec Settings Menu";
Console.WriteLine("1) Private Rooms: " + File.ReadAllText("SaveData\\App\\privaterooms.txt") + Environment.NewLine + "2) OpenRecNet Info Tab: " + File.ReadAllText("SaveData\\App\\showopenrecinfo.txt") + Environment.NewLine + "3) Reset SaveData" + Environment.NewLine + "4) Go Back");
string readline4 = Console.ReadLine();
if (readline4 == "1")
@@ -116,6 +121,7 @@ namespace start
goto Profile;
Profile:
Console.Title = "OpenRec Profile Menu";
Console.WriteLine("1) Change Username" + Environment.NewLine + "2) Change Profile Image" + Environment.NewLine + "3) Change Level" + Environment.NewLine + "4) Go Back");
string readline3 = Console.ReadLine();
if (readline3 == "1")
@@ -196,30 +202,44 @@ namespace start
if (readline == "4")
{
Console.WriteLine("Please select the version of RecRoom the server should host: (2017, 2018)");
Console.Title = "OpenRec Version Select";
Console.WriteLine("Please select the version of RecRoom the server should host: (2017, M2018, S2018)");
string readline2 = Console.ReadLine();
if (readline2 == "2017")
{
Console.Title = "OpenRec October 19th 2017";
version = "2017";
Console.Clear();
Console.WriteLine("Version Selected: " + start.Program.version);
Console.WriteLine("Version Selected: October 19th, 2017.");
new APIServer();
new WebSocket();
}
else if (readline2 == "2018")
else if ((readline2 == "M2018") || (readline2 == "m2018"))
{
Console.Title = "OpenRec May 30th 2018";
version = "2018";
Console.Clear();
Console.WriteLine("Version Selected: " + start.Program.version);
Console.WriteLine("Version Selected: May 30th, 2018.");
new NameServer();
new ImageServer();
new APIServer();
new WebSocket();
}
else if ((readline2 == "S2018") || (readline2 == "s2018"))
{
Console.Title = "OpenRec September 27th 2018";
version = "2018";
Console.Clear();
Console.WriteLine("Version Selected: September 27th, 2018.");
new NameServer();
new ImageServer();
new APIServer();
new Late2018WebSock();
}
}
}
public static string version = "";
public static string appversion = "0.5.0";
public static string appversion = "0.6.0";
public static bool bannedflag = false;
}

View File

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

File diff suppressed because it is too large Load Diff

23
Sanitize.cs Normal file
View 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; }
}
}
}

View File

@@ -15,6 +15,7 @@ namespace start
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\App\\");
Directory.CreateDirectory("SaveData\\Profile\\");
Directory.CreateDirectory("SaveData\\Rooms\\");
if (!(File.Exists("SaveData\\avatar.txt")))
{
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
@@ -41,7 +42,11 @@ namespace start
}
if (!(File.Exists("SaveData\\storefronts2.txt")))
{
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/vaultButItsNewer/main/StoreFront2.json"));
File.WriteAllText("SaveData\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/storefront2.txt"));
}
if (!(File.Exists("SaveData\\baserooms.txt")))
{
File.WriteAllText("SaveData\\baserooms.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/baserooms.txt"));
}
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{

452
Vault2018GameSessions.cs Normal file
View File

@@ -0,0 +1,452 @@
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using Newtonsoft.Json;
namespace vaultgamesesh
{
// Token: 0x02000005 RID: 5
internal sealed class c000041
{
// Token: 0x0600000E RID: 14 RVA: 0x000022C0 File Offset: 0x000004C0
public static c000041.c000044 m00002f()
{
return new c000041.c000044
{
GameSessionId = 20181L,
PhotonRegionId = "us",
PhotonRoomId = "1",
Name = "DormRoom",
RoomId = 1L,
RoomSceneId = 1L,
RoomSceneLocationId = "76d98498-60a1-430c-ab76-b54a29b7a163",
IsSandbox = false,
DataBlobName = string.Empty,
PlayerEventId = null,
Private = false,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
}
// Token: 0x0600000F RID: 15 RVA: 0x00002370 File Offset: 0x00000570
public static c000041.c000042 m000030(string p0)
{
c00006b.c00006c c00006c = JsonConvert.DeserializeObject<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}", c000079.m000009()[0].Id);
}
c000041.f000013 = new c000041.c000044
{
GameSessionId = 20181L,
PhotonRegionId = "us",
PhotonRoomId = text,
Name = c000041.f000043.Room.Name,
RoomId = (long)c000041.f000043.Room.RoomId,
RoomSceneId = (long)(num + 1),
RoomSceneLocationId = c000041.f000043.Scenes[num].RoomSceneLocationId,
IsSandbox = c000041.f000043.Scenes[num].IsSandbox,
DataBlobName = c000041.f000043.Scenes[num].DataBlobName,
PlayerEventId = null,
Private = c00006c.Private,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
c000041.c000042 c = new c000041.c000042();
c.Result = 0;
c.GameSession = c000041.f000013;
c.RoomDetails = c000041.f000043;
Console.WriteLine(JsonConvert.SerializeObject(c));
return c;
}
// Token: 0x0400000B RID: 11
public static c00005d.c000060 f000043;
// Token: 0x0400000C RID: 12
public static c000041.c000044 f000013;
// Token: 0x02000028 RID: 40
public sealed class c000042
{
// Token: 0x17000039 RID: 57
// (get) Token: 0x060000D7 RID: 215 RVA: 0x0000B290 File Offset: 0x00009490
// (set) Token: 0x060000D8 RID: 216 RVA: 0x0000B2A8 File Offset: 0x000094A8
public int Result
{
[CompilerGenerated]
get
{
return this.f00001f;
}
[CompilerGenerated]
set
{
this.f00001f = value;
}
}
// Token: 0x1700003A RID: 58
// (get) Token: 0x060000D9 RID: 217 RVA: 0x0000B2B4 File Offset: 0x000094B4
// (set) Token: 0x060000DA RID: 218 RVA: 0x0000B2CC File Offset: 0x000094CC
public c000041.c000044 GameSession
{
[CompilerGenerated]
get
{
return this.f000013;
}
[CompilerGenerated]
set
{
this.f000013 = value;
}
}
// Token: 0x1700003B RID: 59
// (get) Token: 0x060000DB RID: 219 RVA: 0x0000B2D8 File Offset: 0x000094D8
// (set) Token: 0x060000DC RID: 220 RVA: 0x0000B2F0 File Offset: 0x000094F0
public c00005d.c000060 RoomDetails
{
[CompilerGenerated]
get
{
return this.f000045;
}
[CompilerGenerated]
set
{
this.f000045 = value;
}
}
// Token: 0x04000075 RID: 117
private int f00001f;
// Token: 0x04000076 RID: 118
private c000041.c000044 f000013;
// Token: 0x04000077 RID: 119
private c00005d.c000060 f000045;
}
// Token: 0x02000029 RID: 41
public enum enum043
{
}
// Token: 0x0200002A RID: 42
public sealed class c000044
{
// Token: 0x1700003C RID: 60
// (get) Token: 0x060000DE RID: 222 RVA: 0x0000B304 File Offset: 0x00009504
// (set) Token: 0x060000DF RID: 223 RVA: 0x0000B31C File Offset: 0x0000951C
public long GameSessionId
{
get
{
return this.f00002c;
}
set
{
this.f00002c = value;
}
}
// Token: 0x1700003D RID: 61
// (get) Token: 0x060000E0 RID: 224 RVA: 0x0000B326 File Offset: 0x00009526
// (set) Token: 0x060000E1 RID: 225 RVA: 0x0000B32E File Offset: 0x0000952E
public string PhotonRegionId { get; set; }
// Token: 0x1700003E RID: 62
// (get) Token: 0x060000E2 RID: 226 RVA: 0x0000B338 File Offset: 0x00009538
// (set) Token: 0x060000E3 RID: 227 RVA: 0x0000B350 File Offset: 0x00009550
public string PhotonRoomId
{
get
{
return this.f000003;
}
set
{
this.f000003 = value;
}
}
// Token: 0x1700003F RID: 63
// (get) Token: 0x060000E4 RID: 228 RVA: 0x0000B35C File Offset: 0x0000955C
// (set) Token: 0x060000E5 RID: 229 RVA: 0x0000B374 File Offset: 0x00009574
public string Name
{
get
{
return this.f000035;
}
set
{
this.f000035 = value;
}
}
// Token: 0x17000040 RID: 64
// (get) Token: 0x060000E6 RID: 230 RVA: 0x0000B380 File Offset: 0x00009580
// (set) Token: 0x060000E7 RID: 231 RVA: 0x0000B398 File Offset: 0x00009598
public long RoomId
{
get
{
return this.f00000d;
}
set
{
this.f00000d = value;
}
}
// Token: 0x17000041 RID: 65
// (get) Token: 0x060000E8 RID: 232 RVA: 0x0000B3A4 File Offset: 0x000095A4
// (set) Token: 0x060000E9 RID: 233 RVA: 0x0000B3BC File Offset: 0x000095BC
public long RoomSceneId
{
get
{
return this.f000046;
}
set
{
this.f000046 = value;
}
}
// Token: 0x17000042 RID: 66
// (get) Token: 0x060000EA RID: 234 RVA: 0x0000B3C8 File Offset: 0x000095C8
// (set) Token: 0x060000EB RID: 235 RVA: 0x0000B3E0 File Offset: 0x000095E0
public string RoomSceneLocationId
{
get
{
return this.f00000f;
}
set
{
this.f00000f = value;
}
}
// Token: 0x17000043 RID: 67
// (get) Token: 0x060000EC RID: 236 RVA: 0x0000B3EC File Offset: 0x000095EC
// (set) Token: 0x060000ED RID: 237 RVA: 0x0000B404 File Offset: 0x00009604
public bool IsSandbox
{
get
{
return this.f000017;
}
set
{
this.f000017 = value;
}
}
// Token: 0x17000044 RID: 68
// (get) Token: 0x060000EE RID: 238 RVA: 0x0000B410 File Offset: 0x00009610
// (set) Token: 0x060000EF RID: 239 RVA: 0x0000B428 File Offset: 0x00009628
public string DataBlobName
{
get
{
return this.f000009;
}
set
{
this.f000009 = value;
}
}
// Token: 0x17000045 RID: 69
// (get) Token: 0x060000F0 RID: 240 RVA: 0x0000B434 File Offset: 0x00009634
// (set) Token: 0x060000F1 RID: 241 RVA: 0x0000B44C File Offset: 0x0000964C
public long? PlayerEventId
{
get
{
return this.f000047;
}
set
{
this.f000047 = value;
}
}
// Token: 0x17000046 RID: 70
// (get) Token: 0x060000F2 RID: 242 RVA: 0x0000B458 File Offset: 0x00009658
// (set) Token: 0x060000F3 RID: 243 RVA: 0x0000B470 File Offset: 0x00009670
public bool Private
{
get
{
return this.f000019;
}
set
{
this.f000019 = value;
}
}
// Token: 0x17000047 RID: 71
// (get) Token: 0x060000F4 RID: 244 RVA: 0x0000B47C File Offset: 0x0000967C
// (set) Token: 0x060000F5 RID: 245 RVA: 0x0000B494 File Offset: 0x00009694
public bool GameInProgress
{
get
{
return this.f00001a;
}
set
{
this.f00001a = value;
}
}
// Token: 0x17000048 RID: 72
// (get) Token: 0x060000F6 RID: 246 RVA: 0x0000B4A0 File Offset: 0x000096A0
// (set) Token: 0x060000F7 RID: 247 RVA: 0x0000B4B8 File Offset: 0x000096B8
public int MaxCapacity
{
get
{
return this.f000048;
}
set
{
this.f000048 = value;
}
}
// Token: 0x17000049 RID: 73
// (get) Token: 0x060000F8 RID: 248 RVA: 0x0000B4C4 File Offset: 0x000096C4
// (set) Token: 0x060000F9 RID: 249 RVA: 0x0000B4DC File Offset: 0x000096DC
public bool IsFull
{
get
{
return this.f00001c;
}
set
{
this.f00001c = value;
}
}
// Token: 0x0400007A RID: 122
private long f00002c;
// Token: 0x0400007B RID: 123
private string f000002;
// Token: 0x0400007C RID: 124
private string f000003;
// Token: 0x0400007D RID: 125
private string f000035;
// Token: 0x0400007E RID: 126
private long f00000d;
// Token: 0x0400007F RID: 127
private long f000046;
// Token: 0x04000080 RID: 128
private string f00000f;
// Token: 0x04000081 RID: 129
private bool f000017;
// Token: 0x04000082 RID: 130
private string f000009;
// Token: 0x04000083 RID: 131
private long? f000047;
// Token: 0x04000084 RID: 132
private bool f000019;
// Token: 0x04000085 RID: 133
private bool f00001a;
// Token: 0x04000086 RID: 134
private int f000048;
// Token: 0x04000087 RID: 135
private bool f00001c;
}
}
}

107
Vault2018Notif.cs Normal file
View File

@@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using ws;
namespace vaultgamesesh
{
// Token: 0x0200000B RID: 11
public class Notification2018
{
// Token: 0x06000025 RID: 37
public static string ProcessRequest(string jsonData)
{
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
string result;
if (dictionary.ContainsKey("api"))
{
string text = (string)dictionary["api"];
string text2 = text;
if (text2 != null)
{
if (text2 == "playerSubscriptions/v1/update")
{
Console.WriteLine("[18CWS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, c000020.m000027()));
}
if (text2 == "heartbeat2")
{
Console.WriteLine("[18CWS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, c000020.m000027()));
}
}
Console.WriteLine("[18CWS] Unknown CWS call: " + text);
result = "";
}
else
{
result = jsonData;
}
return result;
}
// Token: 0x0200003B RID: 59
public enum ResponseResult
{
// Token: 0x040000DF RID: 223
RelationshipChanged = 1,
// Token: 0x040000E0 RID: 224
MessageReceived,
// Token: 0x040000E1 RID: 225
MessageDeleted,
// Token: 0x040000E2 RID: 226
PresenceHeartbeatResponse,
// Token: 0x040000E3 RID: 227
SubscriptionListUpdated = 9,
// Token: 0x040000E4 RID: 228
SubscriptionUpdateProfile = 11,
// Token: 0x040000E5 RID: 229
SubscriptionUpdatePresence,
// Token: 0x040000E6 RID: 230
SubscriptionUpdateGameSession,
// Token: 0x040000E7 RID: 231
SubscriptionUpdateRoom,
// Token: 0x040000E8 RID: 232
ModerationQuitGame = 20,
// Token: 0x040000E9 RID: 233
ModerationUpdateRequired,
// Token: 0x040000EA RID: 234
ModerationKick,
// Token: 0x040000EB RID: 235
ModerationKickAttemptFailed,
// Token: 0x040000EC RID: 236
GiftPackageReceived = 30,
// Token: 0x040000ED RID: 237
ProfileJuniorStatusUpdate = 40,
// Token: 0x040000EE RID: 238
RelationshipsInvalid = 50,
// Token: 0x040000EF RID: 239
StorefrontBalanceAdd = 60
}
// Token: 0x0200003C RID: 60
public class Reponse
{
// Token: 0x1700008A RID: 138
// (get) Token: 0x06000185 RID: 389
// (set) Token: 0x06000186 RID: 390
public int Id { get; set; }
// Token: 0x1700008B RID: 139
// (get) Token: 0x06000187 RID: 391
// (set) Token: 0x06000188 RID: 392
public object Msg { get; set; }
// Token: 0x06000189 RID: 393
public static Notification.Reponse createResponse(int id, object msg)
{
return new Notification.Reponse
{
Id = id,
Msg = msg
};
}
}
}
}

192
Vault2018Player.cs Normal file
View 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;
}
}
}

123
Vault2018Prescence.cs Normal file
View File

@@ -0,0 +1,123 @@
using System;
using System.Runtime.CompilerServices;
using server;
namespace vaultgamesesh
{
// Token: 0x02000004 RID: 4
internal sealed class c000020
{
// Token: 0x0600000C RID: 12 RVA: 0x0000225C File Offset: 0x0000045C
public static c000020.c000022 m000027()
{
bool flag = c000041.f000013 == null;
bool flag2 = flag;
c000041.c000044 gameSession;
if (flag2)
{
gameSession = c000041.m00002f();
}
else
{
gameSession = c000041.f000013;
}
return new c000020.c000022
{
PlayerId = APIServer.CachedPlayerID,
IsOnline = true,
PlayerType = 2,
GameSession = gameSession
};
}
// Token: 0x02000026 RID: 38
public enum enum021
{
}
// Token: 0x02000027 RID: 39
public sealed class c000022
{
// Token: 0x17000035 RID: 53
// (get) Token: 0x060000CE RID: 206 RVA: 0x0000B1F8 File Offset: 0x000093F8
// (set) Token: 0x060000CF RID: 207 RVA: 0x0000B210 File Offset: 0x00009410
public ulong PlayerId
{
[CompilerGenerated]
get
{
return this.f000001;
}
[CompilerGenerated]
set
{
this.f000001 = value;
}
}
// Token: 0x17000036 RID: 54
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000B21C File Offset: 0x0000941C
// (set) Token: 0x060000D1 RID: 209 RVA: 0x0000B234 File Offset: 0x00009434
public bool IsOnline
{
[CompilerGenerated]
get
{
return this.f000037;
}
[CompilerGenerated]
set
{
this.f000037 = value;
}
}
// Token: 0x17000037 RID: 55
// (get) Token: 0x060000D2 RID: 210 RVA: 0x0000B240 File Offset: 0x00009440
// (set) Token: 0x060000D3 RID: 211 RVA: 0x0000B258 File Offset: 0x00009458
public int PlayerType
{
[CompilerGenerated]
get
{
return this.f000020;
}
[CompilerGenerated]
set
{
this.f000020 = value;
}
}
// Token: 0x17000038 RID: 56
// (get) Token: 0x060000D4 RID: 212 RVA: 0x0000B264 File Offset: 0x00009464
// (set) Token: 0x060000D5 RID: 213 RVA: 0x0000B27C File Offset: 0x0000947C
public c000041.c000044 GameSession
{
[CompilerGenerated]
get
{
return this.f000038;
}
[CompilerGenerated]
set
{
this.f000038 = value;
}
}
// Token: 0x04000071 RID: 113
private ulong f000001;
// Token: 0x04000072 RID: 114
private bool f000037;
// Token: 0x04000073 RID: 115
private int f000020;
// Token: 0x04000074 RID: 116
private c000041.c000044 f000038;
}
}
}

2294
Vault2018Rooms.cs Normal file

File diff suppressed because it is too large Load Diff

97
Vault2018WS.cs Normal file
View File

@@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using WebSocketSharp;
using WebSocketSharp.Server;
using System.Net;
using System.IO;
namespace vaultgamesesh
{
// Token: 0x02000018 RID: 24
internal class Late2018WebSock
{
// Token: 0x06000094 RID: 148 RVA: 0x00006EB0 File Offset: 0x000050B0
public Late2018WebSock()
{
this.WebSock.AddWebSocketService<Late2018WebSock.NotificationWS>("/api/notification/v2");
this.WebSock.AddWebSocketService<Late2018WebSock.HubWS>("/hub/v1");
this.WebSock.Start();
Console.WriteLine("2018 WebSocket server started!");
}
// Token: 0x04000047 RID: 71
public WebSocketServer WebSock = new WebSocketServer("ws://localhost:20161/");
// Token: 0x0200004A RID: 74
public class HubWS : WebSocketBehavior
{
// Token: 0x060001EA RID: 490 RVA: 0x0000C215 File Offset: 0x0000A415
protected override void OnMessage(MessageEventArgs e)
{
Console.WriteLine("LateWebSocket.cs Hub Requested.");
base.Send(JsonConvert.SerializeObject(new Late2018WebSock.Hub()));
}
}
// Token: 0x0200004B RID: 75
public class Hub : WebSocketBehavior
{
// Token: 0x060001EC RID: 492 RVA: 0x0000C240 File Offset: 0x0000A440
public Hub()
{
this.accessToken = "AccessDeezNuts";
this.SupportedTransports = new List<string>();
this.negotiateVersion = 0;
this.url = new Uri(string.Format("http://localhost:{0}/", "2018"));
}
// Token: 0x170000B4 RID: 180
// (get) Token: 0x060001ED RID: 493 RVA: 0x0000C290 File Offset: 0x0000A490
// (set) Token: 0x060001EE RID: 494 RVA: 0x0000C298 File Offset: 0x0000A498
public Uri url { get; set; }
// Token: 0x170000B5 RID: 181
// (get) Token: 0x060001EF RID: 495 RVA: 0x0000C2A1 File Offset: 0x0000A4A1
// (set) Token: 0x060001F0 RID: 496 RVA: 0x0000C2A9 File Offset: 0x0000A4A9
public string accessToken { get; set; }
// Token: 0x170000B6 RID: 182
// (get) Token: 0x060001F1 RID: 497 RVA: 0x0000C2B2 File Offset: 0x0000A4B2
// (set) Token: 0x060001F2 RID: 498 RVA: 0x0000C2BA File Offset: 0x0000A4BA
public List<string> SupportedTransports { get; set; }
// Token: 0x170000B7 RID: 183
// (get) Token: 0x060001F3 RID: 499 RVA: 0x0000C2C3 File Offset: 0x0000A4C3
// (set) Token: 0x060001F4 RID: 500 RVA: 0x0000C2CB File Offset: 0x0000A4CB
public int negotiateVersion { get; set; }
}
// Token: 0x0200004C RID: 76
public class NotificationWS : WebSocketBehavior
{
// Token: 0x060001F5 RID: 501 RVA: 0x0000C2D4 File Offset: 0x0000A4D4
protected override void OnMessage(MessageEventArgs p0)
{
Console.WriteLine("LateWebSocket.csNotif Requested.");
bool flag = p0.Data == null;
bool flag2 = flag;
if (flag2)
{
base.Send(string.Empty);
}
else
{
base.Send(Notification2018.ProcessRequest(p0.Data));
}
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
}
}
}

30
VaultGameConfig.cs Normal file
View 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
View 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;
}
}
}

View File

@@ -1,6 +1,12 @@
using System;
using System.Collections.Generic;
using WebSocketSharp;
using WebSocketSharp.Server;
using Newtonsoft.Json;
using server;
using start;
using System.Net;
using System.IO;
namespace ws
{
@@ -18,7 +24,6 @@ namespace ws
Console.WriteLine("WebSocket.cs is listening.");
}
// Token: 0x02000009 RID: 9
public class NotificationV2 : WebSocketBehavior
{
// Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D
@@ -26,6 +31,13 @@ namespace ws
{
Console.WriteLine("WebSocket.cs called for.");
base.Send(Notification.ProcessRequest(e.Data));
if (new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Update/banned.txt").Contains(File.ReadAllText("SaveData\\Profile\\userid.txt")))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You are banned. Using this version of OpenRec will not work, please download OpenRec 0.4.2 or prior.");
Console.ForegroundColor = ConsoleColor.Green;
start.Program.bannedflag = true;
}
}
}
}