mirror of
https://github.com/recroom2016/OpenRec.git
synced 2026-04-22 13:25:51 +00:00
openrec
This commit is contained in:
23
APIServer.cs
23
APIServer.cs
@@ -193,7 +193,23 @@ namespace server
|
|||||||
}
|
}
|
||||||
if (Url == "messages/v2/get")
|
if (Url == "messages/v2/get")
|
||||||
{
|
{
|
||||||
s =
|
s = BracketResponse;
|
||||||
|
}
|
||||||
|
if (Url == "relationships/v2/get")
|
||||||
|
{
|
||||||
|
s = BracketResponse;
|
||||||
|
}
|
||||||
|
if (Url == "avatar/v2")
|
||||||
|
{
|
||||||
|
s = File.ReadAllText("SaveData\\avatar.txt");
|
||||||
|
}
|
||||||
|
if (Url == "avatar/v2/set")
|
||||||
|
{
|
||||||
|
File.WriteAllText("SaveData\\avatar.txt", text);
|
||||||
|
}
|
||||||
|
if (Url == "settings/v2")
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
Console.WriteLine("API Response: " + s);
|
Console.WriteLine("API Response: " + s);
|
||||||
byte[] bytes = Encoding.UTF8.GetBytes(s);
|
byte[] bytes = Encoding.UTF8.GetBytes(s);
|
||||||
@@ -212,12 +228,13 @@ namespace server
|
|||||||
File.WriteAllText("crashdump.txt", Convert.ToString(ex4));
|
File.WriteAllText("crashdump.txt", Convert.ToString(ex4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ulong CachedPlayerID = 1;
|
public static ulong CachedPlayerID = 1;
|
||||||
public static ulong CachedPlatformID = 10000;
|
public static ulong CachedPlatformID = 10000;
|
||||||
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
|
|
||||||
public static string BlankResponse = "";
|
public static string BlankResponse = "";
|
||||||
public static string BracketResponse = "[]";
|
public static string BracketResponse = "[]";
|
||||||
|
|
||||||
|
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
|
||||||
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}";
|
public static string ModerationBlockDetails = "{\"ReportCategory\":0,\"Duration\":0,\"GameSessionId\":0,\"Message\":\"\"}";
|
||||||
public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"OpenRec\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2043-12-27T21:27:38.1880399-08:00\"}";
|
public static string ImagesV2Named = "[{\"FriendlyImageName\":\"DormRoomBucket\",\"ImageName\":\"OpenRec\",\"StartTime\":\"2021-12-27T21:27:38.1880175-08:00\",\"EndTime\":\"2043-12-27T21:27:38.1880399-08:00\"}";
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ namespace api
|
|||||||
{
|
{
|
||||||
class Config
|
class Config
|
||||||
{
|
{
|
||||||
|
|
||||||
public static void setup()
|
public static void setup()
|
||||||
{
|
{
|
||||||
Console.WriteLine("Setting up...");
|
Console.WriteLine("Setting up...");
|
||||||
@@ -28,7 +27,7 @@ namespace api
|
|||||||
Console.WriteLine("Done!");
|
Console.WriteLine("Done!");
|
||||||
Console.Clear();
|
Console.Clear();
|
||||||
}
|
}
|
||||||
|
public static gamesessions.GameSessions.SessionInstance localGameSession;
|
||||||
public static Objective[][] dailyObjectives = new Objective[][]
|
public static Objective[][] dailyObjectives = new Objective[][]
|
||||||
{
|
{
|
||||||
new Objective[]
|
new Objective[]
|
||||||
|
|||||||
330
GameSessions.cs
Normal file
330
GameSessions.cs
Normal file
@@ -0,0 +1,330 @@
|
|||||||
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using api;
|
||||||
|
using server;
|
||||||
|
|
||||||
|
namespace gamesessions
|
||||||
|
{
|
||||||
|
// Token: 0x02000020 RID: 32
|
||||||
|
public class GameSessions
|
||||||
|
{
|
||||||
|
// Token: 0x060000BE RID: 190 RVA: 0x00004C08 File Offset: 0x00002E08
|
||||||
|
public static string JoinRandom(string jsonData)
|
||||||
|
{
|
||||||
|
|
||||||
|
GameSessions.JoinRandomRequest joinRandomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRandomRequest>(jsonData);
|
||||||
|
if (Config.localGameSession == null)
|
||||||
|
{
|
||||||
|
Config.localGameSession = new GameSessions.SessionInstance
|
||||||
|
{
|
||||||
|
GameSessionId = 2842L,
|
||||||
|
RegionId = "au",
|
||||||
|
RoomId = joinRandomRequest.ActivityLevelIds[0],
|
||||||
|
RecRoomId = null,
|
||||||
|
EventId = null,
|
||||||
|
CreatorPlayerId = (long?)APIServer.CachedPlayerID,
|
||||||
|
Name = "OpenRec",
|
||||||
|
ActivityLevelId = joinRandomRequest.ActivityLevelIds[0],
|
||||||
|
Private = false,
|
||||||
|
Sandbox = false,
|
||||||
|
SupportsScreens = true,
|
||||||
|
SupportsVR = true,
|
||||||
|
GameInProgress = false,
|
||||||
|
MaxCapacity = 20,
|
||||||
|
IsFull = false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Config.localGameSession.RoomId = joinRandomRequest.ActivityLevelIds[0];
|
||||||
|
Config.localGameSession.ActivityLevelId = joinRandomRequest.ActivityLevelIds[0];
|
||||||
|
Config.localGameSession.Sandbox = false;
|
||||||
|
}
|
||||||
|
return JsonConvert.SerializeObject(new GameSessions.JoinResult
|
||||||
|
{
|
||||||
|
Result = 0,
|
||||||
|
GameSession = Config.localGameSession
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060000BF RID: 191 RVA: 0x0000254B File Offset: 0x0000074B
|
||||||
|
public static string StatusSession()
|
||||||
|
{
|
||||||
|
return JsonConvert.SerializeObject(new GameSessions.PlayerStatus
|
||||||
|
{
|
||||||
|
PlayerId = APIServer.CachedPlayerID,
|
||||||
|
IsOnline = true,
|
||||||
|
InScreenMode = false,
|
||||||
|
GameSession = Config.localGameSession
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060000C0 RID: 192 RVA: 0x00004D24 File Offset: 0x00002F24
|
||||||
|
public static string Create(string jsonData)
|
||||||
|
{
|
||||||
|
Console.WriteLine("[API][GameSession] Creating Room...");
|
||||||
|
GameSessions.CreateRequest createRequest = JsonConvert.DeserializeObject<GameSessions.CreateRequest>(jsonData);
|
||||||
|
if (Config.localGameSession == null)
|
||||||
|
{
|
||||||
|
Config.localGameSession = new GameSessions.SessionInstance
|
||||||
|
{
|
||||||
|
GameSessionId = 2842L,
|
||||||
|
RegionId = "au",
|
||||||
|
RoomId = createRequest.ActivityLevelIds,
|
||||||
|
RecRoomId = null,
|
||||||
|
EventId = null,
|
||||||
|
CreatorPlayerId = (long?)APIServer.CachedPlayerID,
|
||||||
|
Name = "Dorm Room",
|
||||||
|
ActivityLevelId = createRequest.ActivityLevelIds,
|
||||||
|
Private = true,
|
||||||
|
Sandbox = true,
|
||||||
|
SupportsScreens = true,
|
||||||
|
SupportsVR = true,
|
||||||
|
GameInProgress = false,
|
||||||
|
MaxCapacity = 20,
|
||||||
|
IsFull = false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Config.localGameSession.RoomId = createRequest.ActivityLevelIds;
|
||||||
|
Config.localGameSession.ActivityLevelId = createRequest.ActivityLevelIds;
|
||||||
|
Config.localGameSession.Sandbox = createRequest.IsSandbox;
|
||||||
|
}
|
||||||
|
return JsonConvert.SerializeObject(new GameSessions.JoinResult
|
||||||
|
{
|
||||||
|
Result = 0,
|
||||||
|
GameSession = Config.localGameSession
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060000C1 RID: 193 RVA: 0x0000257B File Offset: 0x0000077B
|
||||||
|
public static GameSessions.PlayerStatus StatusSessionInstance()
|
||||||
|
{
|
||||||
|
return new GameSessions.PlayerStatus
|
||||||
|
{
|
||||||
|
PlayerId = APIServer.CachedPlayerID,
|
||||||
|
IsOnline = true,
|
||||||
|
InScreenMode = false,
|
||||||
|
GameSession = Config.localGameSession
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000021 RID: 33
|
||||||
|
public enum JoinResultIDs
|
||||||
|
{
|
||||||
|
// Token: 0x0400005E RID: 94
|
||||||
|
Success,
|
||||||
|
// Token: 0x0400005F RID: 95
|
||||||
|
NoSuchGame,
|
||||||
|
// Token: 0x04000060 RID: 96
|
||||||
|
PlayerNotOnline,
|
||||||
|
// Token: 0x04000061 RID: 97
|
||||||
|
InsufficientSpace,
|
||||||
|
// Token: 0x04000062 RID: 98
|
||||||
|
EventNotStarted,
|
||||||
|
// Token: 0x04000063 RID: 99
|
||||||
|
EventAlreadyFinished,
|
||||||
|
// Token: 0x04000064 RID: 100
|
||||||
|
EventCreatorNotReady,
|
||||||
|
// Token: 0x04000065 RID: 101
|
||||||
|
BlockedFromRoom,
|
||||||
|
// Token: 0x04000066 RID: 102
|
||||||
|
ProfileLocked,
|
||||||
|
// Token: 0x04000067 RID: 103
|
||||||
|
NoBirthday,
|
||||||
|
// Token: 0x04000068 RID: 104
|
||||||
|
MarkedForDelete,
|
||||||
|
// Token: 0x04000069 RID: 105
|
||||||
|
JuniorNotAllowed,
|
||||||
|
// Token: 0x0400006A RID: 106
|
||||||
|
Banned,
|
||||||
|
// Token: 0x0400006B RID: 107
|
||||||
|
NoSuchRoom = 20,
|
||||||
|
// Token: 0x0400006C RID: 108
|
||||||
|
RoomCreatorNotReady,
|
||||||
|
// Token: 0x0400006D RID: 109
|
||||||
|
RoomIsNotActive,
|
||||||
|
// Token: 0x0400006E RID: 110
|
||||||
|
RoomBlockedByCreator,
|
||||||
|
// Token: 0x0400006F RID: 111
|
||||||
|
RoomBlockingCreator,
|
||||||
|
// Token: 0x04000070 RID: 112
|
||||||
|
RoomIsPrivate
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000022 RID: 34
|
||||||
|
public class PlayerStatus
|
||||||
|
{
|
||||||
|
// Token: 0x1700003F RID: 63
|
||||||
|
// (get) Token: 0x060000C3 RID: 195 RVA: 0x000025A6 File Offset: 0x000007A6
|
||||||
|
// (set) Token: 0x060000C4 RID: 196 RVA: 0x000025AE File Offset: 0x000007AE
|
||||||
|
public ulong PlayerId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000040 RID: 64
|
||||||
|
// (get) Token: 0x060000C5 RID: 197 RVA: 0x000025B7 File Offset: 0x000007B7
|
||||||
|
// (set) Token: 0x060000C6 RID: 198 RVA: 0x000025BF File Offset: 0x000007BF
|
||||||
|
public bool IsOnline { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000041 RID: 65
|
||||||
|
// (get) Token: 0x060000C7 RID: 199 RVA: 0x000025C8 File Offset: 0x000007C8
|
||||||
|
// (set) Token: 0x060000C8 RID: 200 RVA: 0x000025D0 File Offset: 0x000007D0
|
||||||
|
public bool InScreenMode { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000042 RID: 66
|
||||||
|
// (get) Token: 0x060000C9 RID: 201 RVA: 0x000025D9 File Offset: 0x000007D9
|
||||||
|
// (set) Token: 0x060000CA RID: 202 RVA: 0x000025E1 File Offset: 0x000007E1
|
||||||
|
public GameSessions.SessionInstance GameSession { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000023 RID: 35
|
||||||
|
public class SessionInstance
|
||||||
|
{
|
||||||
|
// Token: 0x17000043 RID: 67
|
||||||
|
// (get) Token: 0x060000CC RID: 204 RVA: 0x000025EA File Offset: 0x000007EA
|
||||||
|
// (set) Token: 0x060000CD RID: 205 RVA: 0x000025F2 File Offset: 0x000007F2
|
||||||
|
public long GameSessionId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000044 RID: 68
|
||||||
|
// (get) Token: 0x060000CE RID: 206 RVA: 0x000025FB File Offset: 0x000007FB
|
||||||
|
// (set) Token: 0x060000CF RID: 207 RVA: 0x00002603 File Offset: 0x00000803
|
||||||
|
public string RegionId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000045 RID: 69
|
||||||
|
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000260C File Offset: 0x0000080C
|
||||||
|
// (set) Token: 0x060000D1 RID: 209 RVA: 0x00002614 File Offset: 0x00000814
|
||||||
|
public string RoomId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000046 RID: 70
|
||||||
|
// (get) Token: 0x060000D2 RID: 210 RVA: 0x0000261D File Offset: 0x0000081D
|
||||||
|
// (set) Token: 0x060000D3 RID: 211 RVA: 0x00002625 File Offset: 0x00000825
|
||||||
|
public long? EventId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000047 RID: 71
|
||||||
|
// (get) Token: 0x060000D4 RID: 212 RVA: 0x0000262E File Offset: 0x0000082E
|
||||||
|
// (set) Token: 0x060000D5 RID: 213 RVA: 0x00002636 File Offset: 0x00000836
|
||||||
|
public long? RecRoomId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000048 RID: 72
|
||||||
|
// (get) Token: 0x060000D6 RID: 214 RVA: 0x0000263F File Offset: 0x0000083F
|
||||||
|
// (set) Token: 0x060000D7 RID: 215 RVA: 0x00002647 File Offset: 0x00000847
|
||||||
|
public long? CreatorPlayerId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000049 RID: 73
|
||||||
|
// (get) Token: 0x060000D8 RID: 216 RVA: 0x00002650 File Offset: 0x00000850
|
||||||
|
// (set) Token: 0x060000D9 RID: 217 RVA: 0x00002658 File Offset: 0x00000858
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004A RID: 74
|
||||||
|
// (get) Token: 0x060000DA RID: 218 RVA: 0x00002661 File Offset: 0x00000861
|
||||||
|
// (set) Token: 0x060000DB RID: 219 RVA: 0x00002669 File Offset: 0x00000869
|
||||||
|
public string ActivityLevelId { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004B RID: 75
|
||||||
|
// (get) Token: 0x060000DC RID: 220 RVA: 0x00002672 File Offset: 0x00000872
|
||||||
|
// (set) Token: 0x060000DD RID: 221 RVA: 0x0000267A File Offset: 0x0000087A
|
||||||
|
public bool Private { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004C RID: 76
|
||||||
|
// (get) Token: 0x060000DE RID: 222 RVA: 0x00002683 File Offset: 0x00000883
|
||||||
|
// (set) Token: 0x060000DF RID: 223 RVA: 0x0000268B File Offset: 0x0000088B
|
||||||
|
public bool Sandbox { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004D RID: 77
|
||||||
|
// (get) Token: 0x060000E0 RID: 224 RVA: 0x00002694 File Offset: 0x00000894
|
||||||
|
// (set) Token: 0x060000E1 RID: 225 RVA: 0x0000269C File Offset: 0x0000089C
|
||||||
|
public bool SupportsVR { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004E RID: 78
|
||||||
|
// (get) Token: 0x060000E2 RID: 226 RVA: 0x000026A5 File Offset: 0x000008A5
|
||||||
|
// (set) Token: 0x060000E3 RID: 227 RVA: 0x000026AD File Offset: 0x000008AD
|
||||||
|
public bool SupportsScreens { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700004F RID: 79
|
||||||
|
// (get) Token: 0x060000E4 RID: 228 RVA: 0x000026B6 File Offset: 0x000008B6
|
||||||
|
// (set) Token: 0x060000E5 RID: 229 RVA: 0x000026BE File Offset: 0x000008BE
|
||||||
|
public bool GameInProgress { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000050 RID: 80
|
||||||
|
// (get) Token: 0x060000E6 RID: 230 RVA: 0x000026C7 File Offset: 0x000008C7
|
||||||
|
// (set) Token: 0x060000E7 RID: 231 RVA: 0x000026CF File Offset: 0x000008CF
|
||||||
|
public int MaxCapacity { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000051 RID: 81
|
||||||
|
// (get) Token: 0x060000E8 RID: 232 RVA: 0x000026D8 File Offset: 0x000008D8
|
||||||
|
// (set) Token: 0x060000E9 RID: 233 RVA: 0x000026E0 File Offset: 0x000008E0
|
||||||
|
public bool IsFull { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000024 RID: 36
|
||||||
|
public class JoinRandomRequest
|
||||||
|
{
|
||||||
|
// Token: 0x17000052 RID: 82
|
||||||
|
// (get) Token: 0x060000EB RID: 235 RVA: 0x000026E9 File Offset: 0x000008E9
|
||||||
|
// (set) Token: 0x060000EC RID: 236 RVA: 0x000026F1 File Offset: 0x000008F1
|
||||||
|
public string[] ActivityLevelIds { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000053 RID: 83
|
||||||
|
// (get) Token: 0x060000ED RID: 237 RVA: 0x000026FA File Offset: 0x000008FA
|
||||||
|
// (set) Token: 0x060000EE RID: 238 RVA: 0x00002702 File Offset: 0x00000902
|
||||||
|
public ulong[] ExpectedPlayerIds { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000054 RID: 84
|
||||||
|
// (get) Token: 0x060000EF RID: 239 RVA: 0x0000270B File Offset: 0x0000090B
|
||||||
|
// (set) Token: 0x060000F0 RID: 240 RVA: 0x00002713 File Offset: 0x00000913
|
||||||
|
public GameSessions.RegionPing[] RegionPings { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000025 RID: 37
|
||||||
|
public class CreateRequest
|
||||||
|
{
|
||||||
|
// Token: 0x17000055 RID: 85
|
||||||
|
// (get) Token: 0x060000F2 RID: 242 RVA: 0x0000271C File Offset: 0x0000091C
|
||||||
|
// (set) Token: 0x060000F3 RID: 243 RVA: 0x00002724 File Offset: 0x00000924
|
||||||
|
public string ActivityLevelIds { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000056 RID: 86
|
||||||
|
// (get) Token: 0x060000F4 RID: 244 RVA: 0x0000272D File Offset: 0x0000092D
|
||||||
|
// (set) Token: 0x060000F5 RID: 245 RVA: 0x00002735 File Offset: 0x00000935
|
||||||
|
public ulong[] ExpectedPlayerIds { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000057 RID: 87
|
||||||
|
// (get) Token: 0x060000F6 RID: 246 RVA: 0x0000273E File Offset: 0x0000093E
|
||||||
|
// (set) Token: 0x060000F7 RID: 247 RVA: 0x00002746 File Offset: 0x00000946
|
||||||
|
public GameSessions.RegionPing[] RegionPings { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x17000058 RID: 88
|
||||||
|
// (get) Token: 0x060000F8 RID: 248 RVA: 0x0000274F File Offset: 0x0000094F
|
||||||
|
// (set) Token: 0x060000F9 RID: 249 RVA: 0x00002757 File Offset: 0x00000957
|
||||||
|
public bool IsSandbox { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000026 RID: 38
|
||||||
|
public class RegionPing
|
||||||
|
{
|
||||||
|
// Token: 0x17000059 RID: 89
|
||||||
|
// (get) Token: 0x060000FB RID: 251 RVA: 0x00002760 File Offset: 0x00000960
|
||||||
|
// (set) Token: 0x060000FC RID: 252 RVA: 0x00002768 File Offset: 0x00000968
|
||||||
|
public string Region { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700005A RID: 90
|
||||||
|
// (get) Token: 0x060000FD RID: 253 RVA: 0x00002771 File Offset: 0x00000971
|
||||||
|
// (set) Token: 0x060000FE RID: 254 RVA: 0x00002779 File Offset: 0x00000979
|
||||||
|
public int Ping { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x02000027 RID: 39
|
||||||
|
private class JoinResult
|
||||||
|
{
|
||||||
|
// Token: 0x1700005B RID: 91
|
||||||
|
// (get) Token: 0x06000100 RID: 256 RVA: 0x00002782 File Offset: 0x00000982
|
||||||
|
// (set) Token: 0x06000101 RID: 257 RVA: 0x0000278A File Offset: 0x0000098A
|
||||||
|
public int Result { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x1700005C RID: 92
|
||||||
|
// (get) Token: 0x06000102 RID: 258 RVA: 0x00002793 File Offset: 0x00000993
|
||||||
|
// (set) Token: 0x06000103 RID: 259 RVA: 0x0000279B File Offset: 0x0000099B
|
||||||
|
public GameSessions.SessionInstance GameSession { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,75 +1,98 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using gamesessions;
|
||||||
|
|
||||||
namespace ws
|
namespace ws
|
||||||
{
|
{
|
||||||
// Token: 0x02000029 RID: 41
|
// Token: 0x0200002A RID: 42
|
||||||
public class Notification
|
public class Notification
|
||||||
{
|
{
|
||||||
// Token: 0x06000104 RID: 260 RVA: 0x00004EF4 File Offset: 0x000030F4
|
// Token: 0x0600010B RID: 267
|
||||||
public static string ProcessRequest(string jsonData)
|
public static string ProcessRequest(string jsonData)
|
||||||
{
|
{
|
||||||
|
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
|
||||||
string result;
|
string result;
|
||||||
|
if (dictionary.ContainsKey("api"))
|
||||||
|
{
|
||||||
|
string text = (string)dictionary["api"];
|
||||||
|
string text2 = text;
|
||||||
|
if (text2 != null)
|
||||||
|
{
|
||||||
|
if (text2 == "playerSubscriptions/v1/update")
|
||||||
|
{
|
||||||
|
Console.WriteLine("WebSocket.cs 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.");
|
||||||
|
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, GameSessions.StatusSessionInstance()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Console.WriteLine("WebSocket.cs unknown API call: " + text);
|
||||||
|
result = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
result = jsonData;
|
result = jsonData;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Token: 0x0200002A RID: 42
|
// Token: 0x0200002B RID: 43
|
||||||
public enum ResponseResult
|
public enum ResponseResult
|
||||||
{
|
{
|
||||||
// Token: 0x04000091 RID: 145
|
|
||||||
RelationshipChanged = 1,
|
|
||||||
// Token: 0x04000092 RID: 146
|
// Token: 0x04000092 RID: 146
|
||||||
MessageReceived,
|
RelationshipChanged = 1,
|
||||||
// Token: 0x04000093 RID: 147
|
// Token: 0x04000093 RID: 147
|
||||||
MessageDeleted,
|
MessageReceived,
|
||||||
// Token: 0x04000094 RID: 148
|
// Token: 0x04000094 RID: 148
|
||||||
PresenceHeartbeatResponse,
|
MessageDeleted,
|
||||||
// Token: 0x04000095 RID: 149
|
// Token: 0x04000095 RID: 149
|
||||||
SubscriptionListUpdated = 9,
|
PresenceHeartbeatResponse,
|
||||||
// Token: 0x04000096 RID: 150
|
// Token: 0x04000096 RID: 150
|
||||||
SubscriptionUpdateProfile = 11,
|
SubscriptionListUpdated = 9,
|
||||||
// Token: 0x04000097 RID: 151
|
// Token: 0x04000097 RID: 151
|
||||||
SubscriptionUpdatePresence,
|
SubscriptionUpdateProfile = 11,
|
||||||
// Token: 0x04000098 RID: 152
|
// Token: 0x04000098 RID: 152
|
||||||
SubscriptionUpdateGameSession,
|
SubscriptionUpdatePresence,
|
||||||
// Token: 0x04000099 RID: 153
|
// Token: 0x04000099 RID: 153
|
||||||
SubscriptionUpdateRoom,
|
SubscriptionUpdateGameSession,
|
||||||
// Token: 0x0400009A RID: 154
|
// Token: 0x0400009A RID: 154
|
||||||
ModerationQuitGame = 20,
|
SubscriptionUpdateRoom,
|
||||||
// Token: 0x0400009B RID: 155
|
// Token: 0x0400009B RID: 155
|
||||||
ModerationUpdateRequired,
|
ModerationQuitGame = 20,
|
||||||
// Token: 0x0400009C RID: 156
|
// Token: 0x0400009C RID: 156
|
||||||
ModerationKick,
|
ModerationUpdateRequired,
|
||||||
// Token: 0x0400009D RID: 157
|
// Token: 0x0400009D RID: 157
|
||||||
ModerationKickAttemptFailed,
|
ModerationKick,
|
||||||
// Token: 0x0400009E RID: 158
|
// Token: 0x0400009E RID: 158
|
||||||
GiftPackageReceived = 30,
|
ModerationKickAttemptFailed,
|
||||||
// Token: 0x0400009F RID: 159
|
// Token: 0x0400009F RID: 159
|
||||||
ProfileJuniorStatusUpdate = 40,
|
GiftPackageReceived = 30,
|
||||||
// Token: 0x040000A0 RID: 160
|
// Token: 0x040000A0 RID: 160
|
||||||
RelationshipsInvalid = 50,
|
ProfileJuniorStatusUpdate = 40,
|
||||||
// Token: 0x040000A1 RID: 161
|
// Token: 0x040000A1 RID: 161
|
||||||
|
RelationshipsInvalid = 50,
|
||||||
|
// Token: 0x040000A2 RID: 162
|
||||||
StorefrontBalanceAdd = 60
|
StorefrontBalanceAdd = 60
|
||||||
}
|
}
|
||||||
|
|
||||||
// Token: 0x0200002B RID: 43
|
// Token: 0x0200002C RID: 44
|
||||||
public class Reponse
|
public class Reponse
|
||||||
{
|
{
|
||||||
// Token: 0x1700005C RID: 92
|
// Token: 0x1700005F RID: 95
|
||||||
// (get) Token: 0x06000106 RID: 262 RVA: 0x000027DA File Offset: 0x000009DA
|
// (get) Token: 0x0600010D RID: 269
|
||||||
// (set) Token: 0x06000107 RID: 263 RVA: 0x000027E2 File Offset: 0x000009E2
|
// (set) Token: 0x0600010E RID: 270
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
// Token: 0x1700005D RID: 93
|
// Token: 0x17000060 RID: 96
|
||||||
// (get) Token: 0x06000108 RID: 264 RVA: 0x000027EB File Offset: 0x000009EB
|
// (get) Token: 0x0600010F RID: 271
|
||||||
// (set) Token: 0x06000109 RID: 265 RVA: 0x000027F3 File Offset: 0x000009F3
|
// (set) Token: 0x06000110 RID: 272
|
||||||
public object Msg { get; set; }
|
public object Msg { get; set; }
|
||||||
|
|
||||||
// Token: 0x0600010A RID: 266 RVA: 0x00004FC0 File Offset: 0x000031C0
|
// Token: 0x06000111 RID: 273
|
||||||
public static Notification.Reponse createResponse(int id, object msg)
|
public static Notification.Reponse createResponse(int id, object msg)
|
||||||
{
|
{
|
||||||
return new Notification.Reponse
|
return new Notification.Reponse
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ namespace start
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Config.setup();
|
Setup.setup();
|
||||||
goto Start;
|
goto Start;
|
||||||
|
|
||||||
Start:
|
Start:
|
||||||
Console.WriteLine("OpenRec - Open source RecNet server software.");
|
Console.WriteLine("OpenRec - Open source RecNet server software.");
|
||||||
Console.WriteLine("Made and provided by RecRoom 2016.");
|
Console.WriteLine("Made and provided by RecRoom 2016.");
|
||||||
Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec.");
|
Console.WriteLine("Download source code here: https://github.com/recroom2016/OpenRec");
|
||||||
Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine);
|
Console.WriteLine("Discord: https://discord.gg/daC8QUhnFP" + Environment.NewLine);
|
||||||
Console.WriteLine("1) Modify Settings" + Environment.NewLine + "2) Modify Profile" + Environment.NewLine + "3) Start Server");
|
Console.WriteLine("1) Modify Settings" + Environment.NewLine + "2) Modify Profile" + Environment.NewLine + "3) Start Server");
|
||||||
string readline = Console.ReadLine();
|
string readline = Console.ReadLine();
|
||||||
@@ -33,7 +33,7 @@ namespace start
|
|||||||
if (readline3 == "1")
|
if (readline3 == "1")
|
||||||
{
|
{
|
||||||
Console.Clear();
|
Console.Clear();
|
||||||
Console.WriteLine("Current Username: " + File.ReadAllText("SaveData\\Profile\\username.txt)"));
|
Console.WriteLine("Current Username: " + File.ReadAllText("SaveData\\Profile\\username.txt"));
|
||||||
Console.WriteLine("New Username: ");
|
Console.WriteLine("New Username: ");
|
||||||
string newusername = Console.ReadLine();
|
string newusername = Console.ReadLine();
|
||||||
File.WriteAllText("SaveData\\Profile\\username.txt)", newusername);
|
File.WriteAllText("SaveData\\Profile\\username.txt)", newusername);
|
||||||
|
|||||||
18
Setting.cs
Normal file
18
Setting.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace api
|
||||||
|
{
|
||||||
|
// Token: 0x0200003D RID: 61
|
||||||
|
internal class Setting
|
||||||
|
{
|
||||||
|
// Token: 0x170000AC RID: 172
|
||||||
|
// (get) Token: 0x060001C8 RID: 456 RVA: 0x00002D5B File Offset: 0x00000F5B
|
||||||
|
// (set) Token: 0x060001C9 RID: 457 RVA: 0x00002D63 File Offset: 0x00000F63
|
||||||
|
public string Key { get; set; }
|
||||||
|
|
||||||
|
// Token: 0x170000AD RID: 173
|
||||||
|
// (get) Token: 0x060001CA RID: 458 RVA: 0x00002D6C File Offset: 0x00000F6C
|
||||||
|
// (set) Token: 0x060001CB RID: 459 RVA: 0x00002D74 File Offset: 0x00000F74
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
180
Settings.cs
Normal file
180
Settings.cs
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace api
|
||||||
|
{
|
||||||
|
// Token: 0x0200003C RID: 60
|
||||||
|
internal class Settings
|
||||||
|
{
|
||||||
|
// Token: 0x060001C1 RID: 449 RVA: 0x00002D10 File Offset: 0x00000F10
|
||||||
|
public static string GetPlayerSettings()
|
||||||
|
{
|
||||||
|
if (Settings.playerSettings == null)
|
||||||
|
{
|
||||||
|
if (File.Exists(Settings.SettingsPath))
|
||||||
|
{
|
||||||
|
Settings.playerSettings = Settings.LoadSettings();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Settings.playerSettings = Settings.CreateDefaultSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JsonConvert.SerializeObject(Settings.playerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060001C2 RID: 450 RVA: 0x000061FC File Offset: 0x000043FC
|
||||||
|
public static void SetPlayerSettings(string jsonData)
|
||||||
|
{
|
||||||
|
if (jsonData == "")
|
||||||
|
{
|
||||||
|
Console.WriteLine("[Settings][Set] Json Data is empty.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Setting setting = JsonConvert.DeserializeObject<Setting>(jsonData);
|
||||||
|
for (int i = 0; i < Settings.playerSettings.Count; i++)
|
||||||
|
{
|
||||||
|
if (Settings.playerSettings[i].Key == setting.Key)
|
||||||
|
{
|
||||||
|
Settings.playerSettings[i].Value = setting.Value;
|
||||||
|
Settings.SaveSettings(Settings.playerSettings);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Settings.playerSettings.Add(new Setting
|
||||||
|
{
|
||||||
|
Key = setting.Key,
|
||||||
|
Value = setting.Value
|
||||||
|
});
|
||||||
|
Settings.SaveSettings(Settings.playerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060001C3 RID: 451 RVA: 0x000062AC File Offset: 0x000044AC
|
||||||
|
public static List<Setting> CreateDefaultSettings()
|
||||||
|
{
|
||||||
|
return new List<Setting>
|
||||||
|
{
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "MOD_BLOCKED_TIME",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "MOD_BLOCKED_DURATION",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "PlayerSessionCount",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "ShowRoomCenter",
|
||||||
|
Value = 1f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "QualitySettings",
|
||||||
|
Value = 3.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "Recroom.OOBE",
|
||||||
|
Value = 100.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "VoiceFilter",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "VIGNETTED_TELEPORT_ENABLED",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "CONTINUOUS_ROTATION_MODE",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "ROTATION_INCREMENT",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "ROTATE_IN_PLACE_ENABLED",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "TeleportBuffer",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "VoiceChat",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "PersonalBubble",
|
||||||
|
Value = 0f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "ShowNames",
|
||||||
|
Value = 1f.ToString()
|
||||||
|
},
|
||||||
|
new Setting
|
||||||
|
{
|
||||||
|
Key = "H.264 plugin",
|
||||||
|
Value = 1f.ToString()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060001C4 RID: 452 RVA: 0x00006548 File Offset: 0x00004748
|
||||||
|
public static List<Setting> LoadSettings()
|
||||||
|
{
|
||||||
|
List<Setting> list = new List<Setting>();
|
||||||
|
using (BinaryReader binaryReader = new BinaryReader(File.Open(Settings.SettingsPath, FileMode.Open)))
|
||||||
|
{
|
||||||
|
while (binaryReader.BaseStream.Position != binaryReader.BaseStream.Length)
|
||||||
|
{
|
||||||
|
Setting item = new Setting
|
||||||
|
{
|
||||||
|
Key = binaryReader.ReadString(),
|
||||||
|
Value = binaryReader.ReadString()
|
||||||
|
};
|
||||||
|
list.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x060001C5 RID: 453 RVA: 0x000065C8 File Offset: 0x000047C8
|
||||||
|
public static void SaveSettings(List<Setting> settings)
|
||||||
|
{
|
||||||
|
using (BinaryWriter binaryWriter = new BinaryWriter(File.Create("SaveData\\")))
|
||||||
|
{
|
||||||
|
foreach (Setting setting in settings)
|
||||||
|
{
|
||||||
|
binaryWriter.Write(setting.Key);
|
||||||
|
binaryWriter.Write(setting.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Token: 0x040000F0 RID: 240
|
||||||
|
private static List<Setting> playerSettings;
|
||||||
|
|
||||||
|
// Token: 0x040000F1 RID: 241
|
||||||
|
public static string SettingsPath = + "PlayerSettings.dat";
|
||||||
|
}
|
||||||
|
}
|
||||||
35
Setup.cs
Normal file
35
Setup.cs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
|
||||||
|
namespace start
|
||||||
|
{
|
||||||
|
class Setup
|
||||||
|
{
|
||||||
|
public static void setup()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Setting up...");
|
||||||
|
Directory.CreateDirectory("SaveData\\Profile\\");
|
||||||
|
if (!(File.Exists("SaveData\\avatar.txt")))
|
||||||
|
{
|
||||||
|
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
|
||||||
|
}
|
||||||
|
else if (File.ReadAllText("SaveData\\avatar.txt") == "")
|
||||||
|
{
|
||||||
|
File.WriteAllText("SaveData\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,7 +24,7 @@ namespace ws
|
|||||||
// Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D
|
// Token: 0x06000013 RID: 19 RVA: 0x0000209D File Offset: 0x0000029D
|
||||||
protected override void OnMessage(MessageEventArgs e)
|
protected override void OnMessage(MessageEventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("WebSocket.cs called for. Not yet implemented.");
|
Console.WriteLine("WebSocket.cs called for.");
|
||||||
base.Send(Notification.ProcessRequest(e.Data));
|
base.Send(Notification.ProcessRequest(e.Data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user