Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
File diff suppressed because one or more lines are too long
+91
View File
@@ -0,0 +1,91 @@
using Microsoft.EntityFrameworkCore;
using RadicadeServer.Admin;
using RadicadeServer.Custom;
using RadicadeServer.RecNet;
using RadicadeServer.RecNet.Accounts;
using RadicadeServer.RecNet.Accounts.Local;
using RadicadeServer.RecNet.Auth;
using RadicadeServer.RecNet.Auth.Cached;
using RadicadeServer.RecNet.Avatar;
using RadicadeServer.RecNet.CDN;
using RadicadeServer.RecNet.Config;
using RadicadeServer.RecNet.DB;
using RadicadeServer.RecNet.Events;
using RadicadeServer.RecNet.Images;
using RadicadeServer.RecNet.Inventions;
using RadicadeServer.RecNet.Keepsakes;
using RadicadeServer.RecNet.Leaderboards;
using RadicadeServer.RecNet.Leveling;
using RadicadeServer.RecNet.Messages;
using RadicadeServer.RecNet.Moderation;
using RadicadeServer.RecNet.Progression;
using RadicadeServer.RecNet.Relationships;
using RadicadeServer.RecNet.Rooms;
using RadicadeServer.RecNet.Store;
using RadicadeServer.API.Wishlists;
namespace RadicadeServer.DB
{
public class RecDBContext : DbContext
{
public RecDBContext(DbContextOptions<RecDBContext> options) : base(options) { }
public static Dictionary<long, RoomInstance> ActiveRoomInstances = new();
public DbSet<MainConfig> Config { get; set; }
public DbSet<ConfigVal> GameConfig { get; set; }
public DbSet<ServerConfigVal> ServerConfig { get; set; }
public DbSet<CachedLogin> CachedLogins { get; set; }
public DbSet<Profile> Profiles { get; set; }
public DbSet<PlayerData> Players { get; set; }
public DbSet<ModerationDB> Moderation { get; set; }
public DbSet<PlayerWarning> PlayerWarnings { get; set; }
public DbSet<VoteKickLog> VoteKicks { get; set; }
public DbSet<IpBan> IpBans { get; set; }
public DbSet<HardwareBan> HardwareBans { get; set; }
public DbSet<VoiceChatRestriction> VoiceChatRestrictions { get; set; }
public DbSet<GameBlock> GameBlocks { get; set; }
public DbSet<AccountCreationBlock> AccountCreationBlocks { get; set; }
public DbSet<ProgressionData> Progression { get; set; }
public DbSet<RadicadeServer.RecNet.Progression.Challenges.WeeklyChallengeState> WeeklyChallenges { get; set; }
public DbSet<Reputation> Reputations { get; set; }
public DbSet<PlayerAvatar> Avatars { get; set; }
public DbSet<PlayerUnlocks> Unlocks { get; set; }
public DbSet<PlayerSettings> PlayerSettings { get; set; }
public DbSet<Currency> Currency { get; set; }
public DbSet<PlayerInteractionDB> RoomInteractions { get; set; }
public DbSet<GenericData> Gifts { get; set; }
public DbSet<RealPresence> Presences { get; set; }
public DbSet<RealRelationship> Relationships { get; set; }
public DbSet<GiftDropDB> GiftItems { get; set; }
public DbSet<WishlistItemDB> WishlistItems { get; set; }
public DbSet<ImageDB> Images { get; set; }
public DbSet<CheeredImage> ImageInteractions { get; set; }
public DbSet<CustomAvatarItemDB> CustomAvatarItems { get; set; }
public DbSet<Message> Messages { get; set; }
public DbSet<ChatThread> Chats { get; set; }
public DbSet<RoomInstance> RoomInstances { get; set; }
public DbSet<RoomRole> RoomRoles { get; set; }
public DbSet<RoomKey> RoomKeys { get; set; }
public DbSet<RoomData> Rooms { get; set; }
public DbSet<RoomJoinGift> RoomJoinGifts { get; set; }
public DbSet<RoomBan> RoomBans { get; set; }
public DbSet<RoomComment> RoomComments { get; set; }
public DbSet<SubRoom> SubRooms { get; set; }
public DbSet<SubRoomPermission> SubRoomPermissions { get; set; }
public DbSet<RestorableSubRoom> SubRoomHistory { get; set; }
public DbSet<RoomStats> RoomStats { get; set; }
public DbSet<PlaylistDB> Playlists { get; set; }
public DbSet<ItemSetDB> ItemSets { get; set; }
public DbSet<TagDB> Tags { get; set; }
public DbSet<InventionDB> Inventions { get; set; }
public DbSet<KeepsakeInstance> KeepsakeInstances { get; set; }
public DbSet<KeepsakeCollectionRecord> KeepsakeCollectionRecords { get; set; }
public DbSet<LeaderboardScore> LeaderboardScores { get; set; }
public DbSet<InventionVersion> InventionVersions { get; set; }
public DbSet<InventionPersonalDetails> InventionPersonalDetails { get; set; }
public DbSet<CustomAddition> CustomContent { get; set; }
public DbSet<PlayerEventDB> PlayerEvents { get; set; }
public DbSet<PlayerEventResponse> PlayerEventResponses { get; set; }
public DbSet<AdminUser> AdminUsers { get; set; }
public DbSet<AdminSessionRecord> AdminSessions { get; set; }
}
}
+5
View File
@@ -0,0 +1,5 @@
using Microsoft.EntityFrameworkCore;
namespace RadicadeServer.DB
{
}
+96
View File
@@ -0,0 +1,96 @@
using RadicadeServer.RecNet.Moderation;
namespace RadicadeServer
{
public static class Defaults
{
public const string Avatar = "{\"OutfitSelections\":\"\",\"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\":\"fT0t-J1A-0i_tdoogFEz-g\"}";
public const string Settings = "[{\"Key\":\"MOD_BLOCKED_TIME\",\"Value\":\"0\"},{\"Key\":\"MOD_BLOCKED_DURATION\",\"Value\":\"0\"},{\"Key\":\"PlayerSessionCount\",\"Value\":\"138\"},{\"Key\":\"ShowRoomCenter\",\"Value\":\"1\"},{\"Key\":\"QualitySettings\",\"Value\":\"3\"},{\"Key\":\"Recroom.OOBE\",\"Value\":\"0\"},{\"Key\":\"VoiceFilter\",\"Value\":\"0\"},{\"Key\":\"VIGNETTED_TELEPORT_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CONTINUOUS_ROTATION_MODE\",\"Value\":\"1\"},{\"Key\":\"ROTATION_INCREMENT\",\"Value\":\"0\"},{\"Key\":\"ROTATE_IN_PLACE_ENABLED\",\"Value\":\"0\"},{\"Key\":\"TeleportBuffer\",\"Value\":\"0\"},{\"Key\":\"VoiceChat\",\"Value\":\"0\"},{\"Key\":\"PersonalBubble\",\"Value\":\"0\"},{\"Key\":\"ShowNames\",\"Value\":\"1\"},{\"Key\":\"H.264 plugin\",\"Value\":\"0\"},{\"Key\":\"google_analytics_clientid_pref_key\",\"Value\":\"YPSBPEGEf8ed48c71d2e0ddd40bebb2d09d0dc1ac53377ca\"},{\"Key\":\"USER_TRACKING\",\"Value\":\"53\"},{\"Key\":\"IgnoreBuffer\",\"Value\":\"0\"},{\"Key\":\"FIRST_TIME_IN_FLAGS\",\"Value\":\"0\"},{\"Key\":\"WALKING_MODE\",\"Value\":\"1\"},{\"Key\":\"COMFORT_FLY\",\"Value\":\"0\"},{\"Key\":\"COMFORT_SMOOTH_ROTATE\",\"Value\":\"0\"},{\"Key\":\"COMFORT_SWIPE_ROTATE\",\"Value\":\"0\"},{\"Key\":\"COMFORT_TELEPORT\",\"Value\":\"0\"},{\"Key\":\"COMFORT_WALK\",\"Value\":\"0\"},{\"Key\":\"COMFORT_SPRINT\",\"Value\":\"0\"},{\"Key\":\"COMFORT_VEHICLES\",\"Value\":\"0\"},{\"Key\":\"DAILY_LOGIN_DATE\",\"Value\":\"2\"},{\"Key\":\"OBJECTIVE_DATE\",\"Value\":\"2\"},{\"Key\":\"OBJECTIVE_PROGRESS0\",\"Value\":\"0\"},{\"Key\":\"OBJECTIVE_COMPLETED0\",\"Value\":\"0\"},{\"Key\":\"OBJECTIVE_PROGRESS1\",\"Value\":\"0\"},{\"Key\":\"OBJECTIVE_COMPLETED1\",\"Value\":\"0\"},{\"Key\":\"OBJECTIVE_PROGRESS2\",\"Value\":\"0\"},{\"Key\":\"OBJECTIVE_COMPLETED2\",\"Value\":\"0\"},{\"Key\":\"SFX_VOLUME_PERCENT_PREF\",\"Value\":\"0.8265823\"},{\"Key\":\"SCREENS_INVERT_MOUSE\",\"Value\":\"0\"},{\"Key\":\"SCREENS_MOUSE_SENSITIVITY_X\",\"Value\":\"1.187885\"},{\"Key\":\"SCREENS_MOUSE_SENSITIVITY_Y\",\"Value\":\"1.100286\"},{\"Key\":\"MOTION_TELEPORT_ENABLED\",\"Value\":\"0\"},{\"Key\":\"BACKPACK_FAVORITE_TOOL\",\"Value\":\"-1\"},{\"Key\":\"SplitTestAssignedSegments\",\"Value\":\"1|{\\\"SplitTesting+NUX_HoloHelpers_2019_11_15\\\":\\\"On\\\"}\"},{\"Key\":\"SCREENS_HEAD_BOB\",\"Value\":\"0\"},{\"Key\":\"MUSIC_VOLUME_PERCENT_PREF\",\"Value\":\"0.5467778\"},{\"Key\":\"SCREENS_CAMERA_RELATIVE_DANCE_CONTROLS\",\"Value\":\"0\"},{\"Key\":\"AMBIENCE_VOLUME_PERCENT_PREF\",\"Value\":\"0.6755117\"}]";
public const string AvatarUnlocks = "[]";
public const string ConsumableUnlocks = "[]";
public const string EquipmentUnlocks = "[]";
public static List<VoteKickReason> GetVoteKickReasons()
{
var reasons = new List<VoteKickReason>();
reasons.Add(new VoteKickReason
{
Reason = "Discriminatory language",
ReportCategory = KickReason.CoC_Discrimination
});
reasons.Add(new VoteKickReason
{
Reason = "Discriminatory behavior",
ReportCategory = KickReason.CoC_Discrimination
});
reasons.Add(new VoteKickReason
{
Reason = "Threats or encouraging suicide",
ReportCategory = KickReason.CoC_Discrimination
});
reasons.Add(new VoteKickReason
{
Reason = "Toxic behavior",
ReportCategory = KickReason.CoC_Discrimination
});
reasons.Add(new VoteKickReason
{
Reason = "Sexual behavior in public",
ReportCategory = KickReason.CoC_Sexual
});
reasons.Add(new VoteKickReason
{
Reason = "Sexual language in public",
ReportCategory = KickReason.CoC_Sexual
});
reasons.Add(new VoteKickReason
{
Reason = "Non-consensual sexual behavior",
ReportCategory = KickReason.CoC_Sexual
});
reasons.Add(new VoteKickReason
{
Reason = "Player in walls or floor",
ReportCategory = KickReason.CoC_Trolling
});
reasons.Add(new VoteKickReason
{
Reason = "Friendly fire",
ReportCategory = KickReason.CoC_Trolling
});
reasons.Add(new VoteKickReason
{
Reason = "Microphone spam",
ReportCategory = KickReason.CoC_Trolling
});
reasons.Add(new VoteKickReason
{
Reason = "Abusing bugs or exploits",
ReportCategory = KickReason.CoC_Trolling
});
reasons.Add(new VoteKickReason
{
Reason = "Spawn camping",
ReportCategory = KickReason.CoC_Trolling
});
reasons.Add(new VoteKickReason
{
Reason = "Inactive in games (AFK)",
ReportCategory = KickReason.Misc
});
reasons.Add(new VoteKickReason
{
Reason = "Not following game rules",
ReportCategory = KickReason.Misc
});
reasons.Add(new VoteKickReason
{
Reason = "Cheating",
ReportCategory = KickReason.Misc
});
return reasons;
}
}
}
+28
View File
@@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
namespace RadicadeServer.DB
{
public class RecDBContextFactory : IDesignTimeDbContextFactory<RecDBContext>
{
public RecDBContext CreateDbContext(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true)
.AddJsonFile("appsettings.Development.json", optional: true)
.AddEnvironmentVariables()
.Build();
var connectionString = config.GetConnectionString("DefaultConnection");
if (string.IsNullOrWhiteSpace(connectionString))
throw new InvalidOperationException("Missing ConnectionStrings:DefaultConnection for design-time context creation.");
var options = new DbContextOptionsBuilder<RecDBContext>()
.UseSqlServer(connectionString)
.Options;
return new RecDBContext(options);
}
}
}