using Robust.Shared;
using Robust.Shared.Configuration;
namespace Content.Shared.CCVar
{
// ReSharper disable once InconsistentNaming
[CVarDefs]
public sealed class CCVars : CVars
{
/*
* Server
*/
///
/// Change this to have the changelog and rules "last seen" date stored separately.
///
public static readonly CVarDef ServerId =
CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER);
/*
* Ambience
*/
///
/// Whether the basic 'hum' ambience will be enabled.
///
public static readonly CVarDef AmbienceBasicEnabled =
CVarDef.Create("ambience.basic_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
///
/// How long we'll wait until re-sampling nearby objects for ambience.
///
public static readonly CVarDef AmbientCooldown =
CVarDef.Create("ambience.cooldown", 0.5f, CVar.REPLICATED | CVar.SERVER);
public static readonly CVarDef AmbientRange =
CVarDef.Create("ambience.range", 5f, CVar.REPLICATED | CVar.SERVER);
public static readonly CVarDef MaxAmbientSources =
CVarDef.Create("ambience.max_sounds", 6, CVar.REPLICATED | CVar.SERVER);
/*
* Status
*/
public static readonly CVarDef StatusMoMMIUrl =
CVarDef.Create("status.mommiurl", "", CVar.SERVERONLY);
public static readonly CVarDef StatusMoMMIPassword =
CVarDef.Create("status.mommipassword", "", CVar.SERVERONLY);
/*
* Game
*/
///
/// Controls if the game should run station events
///
public static readonly CVarDef
EventsEnabled = CVarDef.Create("events.enabled", true, CVar.ARCHIVE | CVar.SERVERONLY);
///
/// Disables most functionality in the GameTicker.
///
public static readonly CVarDef
GameDummyTicker = CVarDef.Create("game.dummyticker", false, CVar.ARCHIVE | CVar.SERVERONLY);
///
/// Controls if the lobby is enabled. If it is not, and there are no available jobs, you may get stuck on a black screen.
///
public static readonly CVarDef
GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", false, CVar.ARCHIVE);
///
/// Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds.
///
public static readonly CVarDef
GameLobbyDuration = CVarDef.Create("game.lobbyduration", 150, CVar.ARCHIVE);
///
/// Controls if players can latejoin at all.
///
public static readonly CVarDef
GameDisallowLateJoins = CVarDef.Create("game.disallowlatejoins", false, CVar.ARCHIVE | CVar.SERVERONLY);
///
/// Controls the default game preset.
///
public static readonly CVarDef
GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "suspicion", CVar.ARCHIVE);
///
/// Controls if the game can force a different preset if the current preset's criteria are not met.
///
public static readonly CVarDef
GameLobbyFallbackEnabled = CVarDef.Create("game.fallbackenabled", true, CVar.ARCHIVE);
///
/// The preset for the game to fall back to if the selected preset could not be used, and fallback is enabled.
///
public static readonly CVarDef
GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "sandbox", CVar.ARCHIVE);
///
/// Controls if people can win the game in Suspicion or Deathmatch.
///
public static readonly CVarDef
GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE);
///
/// Controls the maximum number of character slots a player is allowed to have.
///
public static readonly CVarDef
GameMaxCharacterSlots = CVarDef.Create("game.maxcharacterslots", 10, CVar.ARCHIVE | CVar.SERVERONLY);
///
/// Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps.
///
public static readonly CVarDef
GameMap = CVarDef.Create("game.map", "saltern", CVar.SERVERONLY);
///
/// Controls if the game should obey map criteria or not. Overriden if a map vote or similar occurs.
///
public static readonly CVarDef
GameMapForced = CVarDef.Create("game.mapforced", false, CVar.SERVERONLY);
///
/// Whether a random position offset will be applied to the station on roundstart.
///
public static readonly CVarDef StationOffset =
CVarDef.Create("game.station_offset", true);
///
/// When the default blueprint is loaded what is the maximum amount it can be offset from 0,0.
/// Does nothing without as true.
///
public static readonly CVarDef MaxStationOffset =
CVarDef.Create("game.maxstationoffset", 1000.0f);
///
/// Whether a random rotation will be applied to the station on roundstart.
///
public static readonly CVarDef StationRotation =
CVarDef.Create("game.station_rotation", true);
///
/// When enabled, guests will be assigned permanent UIDs and will have their preferences stored.
///
public static readonly CVarDef GamePersistGuests =
CVarDef.Create("game.persistguests", true, CVar.ARCHIVE | CVar.SERVERONLY);
public static readonly CVarDef GameDiagonalMovement =
CVarDef.Create("game.diagonalmovement", true, CVar.ARCHIVE);
public static readonly CVarDef SoftMaxPlayers =
CVarDef.Create("game.soft_max_players", 30, CVar.SERVERONLY | CVar.ARCHIVE);
#if EXCEPTION_TOLERANCE
///
/// Amount of times round start must fail before the server is shut down.
/// Set to 0 or a negative number to disable.
///
public static readonly CVarDef RoundStartFailShutdownCount =
CVarDef.Create("game.round_start_fail_shutdown_count", 5, CVar.SERVERONLY | CVar.SERVER);
#endif
/*
* Discord
*/
public static readonly CVarDef DiscordAHelpWebhook =
CVarDef.Create("discord.ahelp_webhook", string.Empty, CVar.SERVERONLY);
/*
* Suspicion
*/
public static readonly CVarDef SuspicionMinPlayers =
CVarDef.Create("suspicion.min_players", 5);
public static readonly CVarDef SuspicionMinTraitors =
CVarDef.Create("suspicion.min_traitors", 2);
public static readonly CVarDef SuspicionPlayersPerTraitor =
CVarDef.Create("suspicion.players_per_traitor", 5);
public static readonly CVarDef SuspicionStartingBalance =
CVarDef.Create("suspicion.starting_balance", 20);
public static readonly CVarDef SuspicionMaxTimeSeconds =
CVarDef.Create("suspicion.max_time_seconds", 300);
/*
* Traitor
*/
public static readonly CVarDef TraitorMinPlayers =
CVarDef.Create("traitor.min_players", 5);
public static readonly CVarDef TraitorMaxTraitors =
CVarDef.Create("traitor.max_traitors", 7);
public static readonly CVarDef TraitorPlayersPerTraitor =
CVarDef.Create("traitor.players_per_traitor", 5);
public static readonly CVarDef TraitorCodewordCount =
CVarDef.Create("traitor.codeword_count", 4);
public static readonly CVarDef TraitorStartingBalance =
CVarDef.Create("traitor.starting_balance", 20);
public static readonly CVarDef TraitorMaxDifficulty =
CVarDef.Create("traitor.max_difficulty", 5);
public static readonly CVarDef TraitorMaxPicks =
CVarDef.Create("traitor.max_picks", 20);
/*
* TraitorDeathMatch
*/
public static readonly CVarDef TraitorDeathMatchStartingBalance =
CVarDef.Create("traitordm.starting_balance", 20);
/*
* Console
*/
public static readonly CVarDef
ConsoleLoginLocal = CVarDef.Create("console.loginlocal", true, CVar.ARCHIVE | CVar.SERVERONLY);
/*
* Database stuff
*/
public static readonly CVarDef DatabaseEngine =
CVarDef.Create("database.engine", "sqlite", CVar.SERVERONLY);
public static readonly CVarDef DatabaseSqliteDbPath =
CVarDef.Create("database.sqlite_dbpath", "preferences.db", CVar.SERVERONLY);
public static readonly CVarDef DatabasePgHost =
CVarDef.Create("database.pg_host", "localhost", CVar.SERVERONLY);
public static readonly CVarDef DatabasePgPort =
CVarDef.Create("database.pg_port", 5432, CVar.SERVERONLY);
public static readonly CVarDef DatabasePgDatabase =
CVarDef.Create("database.pg_database", "ss14", CVar.SERVERONLY);
public static readonly CVarDef DatabasePgUsername =
CVarDef.Create("database.pg_username", "", CVar.SERVERONLY);
public static readonly CVarDef DatabasePgPassword =
CVarDef.Create("database.pg_password", "", CVar.SERVERONLY);
// Basically only exists for integration tests to avoid race conditions.
public static readonly CVarDef DatabaseSynchronous =
CVarDef.Create("database.sync", false, CVar.SERVERONLY);
/*
* Outline
*/
public static readonly CVarDef OutlineEnabled =
CVarDef.Create("outline.enabled", true, CVar.CLIENTONLY);
/*
* Parallax
*/
public static readonly CVarDef ParallaxEnabled =
CVarDef.Create("parallax.enabled", true, CVar.CLIENTONLY);
public static readonly CVarDef ParallaxDebug =
CVarDef.Create("parallax.debug", false, CVar.CLIENTONLY);
/*
* Physics
*/
///
/// When a mob is walking should its X / Y movement be relative to its parent (true) or the map (false).
///
public static readonly CVarDef RelativeMovement =
CVarDef.Create("physics.relative_movement", true, CVar.ARCHIVE | CVar.REPLICATED);
public static readonly CVarDef TileFrictionModifier =
CVarDef.Create("physics.tile_friction", 40.0f);
public static readonly CVarDef StopSpeed =
CVarDef.Create("physics.stop_speed", 0.1f);
///
/// Whether mobs can push objects like lockers.
///
///
/// Technically client doesn't need to know about it but this may prevent a bug in the distant future so it stays.
///
public static readonly CVarDef MobPushing =
CVarDef.Create("physics.mob_pushing", false, CVar.REPLICATED);
/*
* Lobby music
*/
public static readonly CVarDef LobbyMusicEnabled =
CVarDef.Create("ambience.lobbymusicenabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
/*
* HUD
*/
public static readonly CVarDef HudTheme =
CVarDef.Create("hud.theme", 0, CVar.ARCHIVE | CVar.CLIENTONLY);
public static readonly CVarDef HudHeldItemShow =
CVarDef.Create("hud.held_item_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
public static readonly CVarDef HudHeldItemOffset =
CVarDef.Create("hud.held_item_offset", 28f, CVar.ARCHIVE | CVar.CLIENTONLY);
public static readonly CVarDef HudFpsCounterVisible =
CVarDef.Create("hud.fps_counter_visible", false, CVar.CLIENTONLY | CVar.ARCHIVE);
/*
* NPCs
*/
public static readonly CVarDef NPCMaxUpdates =
CVarDef.Create("npc.max_updates", 64);
public static readonly CVarDef NPCEnabled = CVarDef.Create("npc.enabled", true);
/*
* Net
*/
public static readonly CVarDef NetAtmosDebugOverlayTickRate =
CVarDef.Create("net.atmosdbgoverlaytickrate", 3.0f);
public static readonly CVarDef NetGasOverlayTickRate =
CVarDef.Create("net.gasoverlaytickrate", 3.0f);
public static readonly CVarDef GasOverlayThresholds =
CVarDef.Create("net.gasoverlaythresholds", 20);
/*
* Admin stuff
*/
public static readonly CVarDef AdminAnnounceLogin =
CVarDef.Create("admin.announce_login", true, CVar.SERVERONLY);
public static readonly CVarDef AdminAnnounceLogout =
CVarDef.Create("admin.announce_logout", true, CVar.SERVERONLY);
/*
* Admin logs
*/
///
/// Controls if admin logs are enabled. Highly recommended to shut this off for development.
///
public static readonly CVarDef AdminLogsEnabled =
CVarDef.Create("adminlogs.enabled", true, CVar.SERVERONLY);
public static readonly CVarDef AdminLogsQueueSendDelay =
CVarDef.Create("adminlogs.queue_send_delay_seconds", 5f, CVar.SERVERONLY);
public static readonly CVarDef AdminLogsQueueMax =
CVarDef.Create("adminlogs.queue_max", 5000, CVar.SERVERONLY);
public static readonly CVarDef AdminLogsPreRoundQueueMax =
CVarDef.Create("adminlogs.pre_round_queue_max", 5000, CVar.SERVERONLY);
// How many logs to send to the client at once
public static readonly CVarDef AdminLogsClientBatchSize =
CVarDef.Create("adminlogs.client_batch_size", 1000, CVar.SERVERONLY);
/*
* Atmos
*/
///
/// Whether gas differences will move entities.
///
public static readonly CVarDef SpaceWind =
CVarDef.Create("atmos.space_wind", true, CVar.SERVERONLY);
///
/// Whether monstermos tile equalization is enabled.
///
public static readonly CVarDef MonstermosEqualization =
CVarDef.Create("atmos.monstermos_equalization", true, CVar.SERVERONLY);
///
/// Whether monstermos explosive depressurization is enabled.
/// Needs to be enabled to work.
///
public static readonly CVarDef MonstermosDepressurization =
CVarDef.Create("atmos.monstermos_depressurization", true, CVar.SERVERONLY);
///
/// Whether monstermos explosive depressurization will rip tiles..
/// Needs and to be enabled to work.
///
public static readonly CVarDef MonstermosRipTiles =
CVarDef.Create("atmos.monstermos_rip_tiles", true, CVar.SERVERONLY);
///
/// Whether explosive depressurization will cause the grid to gain an impulse.
/// Needs and to be enabled to work.
///
public static readonly CVarDef AtmosGridImpulse =
CVarDef.Create("atmos.grid_impulse", false, CVar.SERVERONLY);
///
/// Whether atmos superconduction is enabled.
///
/// Disabled by default, superconduction is awful.
public static readonly CVarDef Superconduction =
CVarDef.Create("atmos.superconduction", false, CVar.SERVERONLY);
///
/// Whether excited groups will be processed and created.
///
public static readonly CVarDef ExcitedGroups =
CVarDef.Create("atmos.excited_groups", true, CVar.SERVERONLY);
///
/// Whether all tiles in an excited group will clear themselves once being exposed to space.
/// Similar to , without none of the tile ripping or
/// things being thrown around very violently.
/// Needs to be enabled to work.
///
public static readonly CVarDef ExcitedGroupsSpaceIsAllConsuming =
CVarDef.Create("atmos.excited_groups_space_is_all_consuming", false, CVar.SERVERONLY);
///
/// Maximum time in milliseconds that atmos can take processing.
///
public static readonly CVarDef AtmosMaxProcessTime =
CVarDef.Create("atmos.max_process_time", 3f, CVar.SERVERONLY);
///
/// Atmos tickrate in TPS. Atmos processing will happen every 1/TPS seconds.
///
public static readonly CVarDef AtmosTickRate =
CVarDef.Create("atmos.tickrate", 15f, CVar.SERVERONLY);
/*
* MIDI instruments
*/
public static readonly CVarDef MaxMidiEventsPerSecond =
CVarDef.Create("midi.max_events_per_second", 1000, CVar.REPLICATED | CVar.SERVER);
public static readonly CVarDef MaxMidiEventsPerBatch =
CVarDef.Create("midi.max_events_per_batch", 60, CVar.REPLICATED | CVar.SERVER);
public static readonly CVarDef MaxMidiBatchesDropped =
CVarDef.Create("midi.max_batches_dropped", 1, CVar.SERVERONLY);
public static readonly CVarDef MaxMidiLaggedBatches =
CVarDef.Create("midi.max_lagged_batches", 8, CVar.SERVERONLY);
/*
* Holidays
*/
public static readonly CVarDef HolidaysEnabled = CVarDef.Create("holidays.enabled", true, CVar.SERVERONLY);
/*
* Branding stuff
*/
public static readonly CVarDef BrandingSteam = CVarDef.Create("branding.steam", false, CVar.CLIENTONLY);
/*
* OOC
*/
public static readonly CVarDef OocEnabled = CVarDef.Create("ooc.enabled", true, CVar.NOTIFY);
public static readonly CVarDef AdminOocEnabled =
CVarDef.Create("ooc.enabled_admin", true, CVar.NOTIFY);
/*
* LOOC
*/
public static readonly CVarDef LoocEnabled = CVarDef.Create("looc.enabled", true, CVar.NOTIFY);
public static readonly CVarDef AdminLoocEnabled =
CVarDef.Create("looc.enabled_admin", true, CVar.NOTIFY);
/*
* Entity Menu Grouping Types
*/
public static readonly CVarDef EntityMenuGroupingType = CVarDef.Create("entity_menu", 0, CVar.CLIENTONLY);
/*
* Whitelist
*/
///
/// Controls whether the server will deny any players that are not whitelisted in the DB.
///
public static readonly CVarDef WhitelistEnabled =
CVarDef.Create("whitelist.enabled", false, CVar.SERVERONLY);
/*
* VOTE
*/
///
/// Allows enabling/disabling player-started votes for ultimate authority
///
public static readonly CVarDef VoteEnabled =
CVarDef.Create("vote.enabled", true, CVar.SERVERONLY);
///
/// See vote.enabled, but specific to restart votes
///
public static readonly CVarDef VoteRestartEnabled =
CVarDef.Create("vote.restart_enabled", true, CVar.SERVERONLY);
///
/// See vote.enabled, but specific to preset votes
///
public static readonly CVarDef VotePresetEnabled =
CVarDef.Create("vote.preset_enabled", true, CVar.SERVERONLY);
///
/// See vote.enabled, but specific to map votes
///
public static readonly CVarDef VoteMapEnabled =
CVarDef.Create("vote.map_enabled", true, CVar.SERVERONLY);
///
/// The required ratio of the server that must agree for a restart round vote to go through.
///
public static readonly CVarDef VoteRestartRequiredRatio =
CVarDef.Create("vote.restart_required_ratio", 0.8f, CVar.SERVERONLY);
///
/// The delay which two votes of the same type are allowed to be made by separate people, in seconds.
///
public static readonly CVarDef VoteSameTypeTimeout =
CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY);
///
/// Sets the duration of the map vote timer.
///
public static readonly CVarDef
VoteTimerMap = CVarDef.Create("vote.timermap", 90, CVar.SERVERONLY);
///
/// Sets the duration of the restart vote timer.
///
public static readonly CVarDef
VoteTimerRestart = CVarDef.Create("vote.timerrestart", 30, CVar.SERVERONLY);
///
/// Sets the duration of the gamemode/preset vote timer.
///
public static readonly CVarDef
VoteTimerPreset = CVarDef.Create("vote.timerpreset", 30, CVar.SERVERONLY);
///
/// Sets the duration of the map vote timer when ALONE.
///
public static readonly CVarDef
VoteTimerAlone = CVarDef.Create("vote.timeralone", 10, CVar.SERVERONLY);
/*
* BAN
*/
public static readonly CVarDef BanHardwareIds =
CVarDef.Create("ban.hardware_ids", true, CVar.SERVERONLY);
/*
* Shuttles
*/
// Once cruising actually gets implemented I'd likely drop this speed to 3 maybe.
public static readonly CVarDef ShuttleDockSpeedCap =
CVarDef.Create("shuttle.dock_speed_cap", 5f, CVar.SERVERONLY);
/*
* VIEWPORT
*/
public static readonly CVarDef ViewportStretch =
CVarDef.Create("viewport.stretch", true, CVar.CLIENTONLY | CVar.ARCHIVE);
public static readonly CVarDef ViewportFixedScaleFactor =
CVarDef.Create("viewport.fixed_scale_factor", 2, CVar.CLIENTONLY | CVar.ARCHIVE);
// This default is basically specifically chosen so fullscreen/maximized 1080p hits a 2x snap and does NN.
public static readonly CVarDef ViewportSnapToleranceMargin =
CVarDef.Create("viewport.snap_tolerance_margin", 64, CVar.CLIENTONLY | CVar.ARCHIVE);
public static readonly CVarDef ViewportSnapToleranceClip =
CVarDef.Create("viewport.snap_tolerance_clip", 32, CVar.CLIENTONLY | CVar.ARCHIVE);
public static readonly CVarDef ViewportScaleRender =
CVarDef.Create("viewport.scale_render", true, CVar.CLIENTONLY | CVar.ARCHIVE);
/*
* CHAT
*/
public static readonly CVarDef ChatMaxMessageLength =
CVarDef.Create("chat.max_message_length", 1000, CVar.SERVER | CVar.REPLICATED);
public static readonly CVarDef ChatSanitizerEnabled =
CVarDef.Create("chat.chat_sanitizer_enabled", true, CVar.SERVERONLY);
/*
* AFK
*/
///
/// How long a client can go without any input before being considered AFK.
///
public static readonly CVarDef AfkTime =
CVarDef.Create("afk.time", 60f, CVar.SERVERONLY);
/*
* IC
*/
///
/// Restricts IC character names to alphanumeric chars.
///
public static readonly CVarDef RestrictedNames =
CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED);
/*
* Salvage
*/
///
/// Forced salvage map prototype name (if empty, randomly selected)
///
public static readonly CVarDef
SalvageForced = CVarDef.Create("salvage.forced", "", CVar.SERVERONLY);
/*
* Rules
*/
///
/// Time that players have to wait before rules can be accepted.
///
public static readonly CVarDef RulesWaitTime =
CVarDef.Create("rules.time", 45f, CVar.SERVER | CVar.REPLICATED);
/*
* Autogeneration
*/
public static readonly CVarDef DestinationFile =
CVarDef.Create("autogen.destination_file", "", CVar.SERVER | CVar.SERVERONLY);
}
}