ace/Source/ACE.Server/Config.js.example

241 lines
11 KiB
Text
Raw Permalink Normal View History

{
"Server": {
"WorldName": "ACEmulator",
"Network": {
// Host, default: "0.0.0.0"
// In most cases, you will not need to change this setting. Special networking conditions, or multiple network adapters would be examples of times where you might need to change this.
"Host": "0.0.0.0",
// Port, default: 9000
// This also opens the next port up, 9001, for server to client communications. When changed, it will open the port specified and +1 of that port.
// For firewalls, you would need to include opening both ports (9000 and 9001) for communications to work correctly.
"Port": 9000,
"MaximumAllowedSessions": 128,
"DefaultSessionTimeout": 60,
// MaximumAllowedSessionsPerIPAddress, default: -1
// -1 means unlimited connections per IP Address.
"MaximumAllowedSessionsPerIPAddress": -1,
// AllowUlimitedSessionsFromIPs, default []
// Will allow the given IP addresses to have unlimited sessions - recommend only use this for Admins/Devs
// Example: [ "127.0.0.1", "8.8.8.8" ]
"AllowUnlimitedSessionsFromIPAddresses": []
2019-03-02 03:16:03 -05:00
},
"Accounts": {
"OverrideCharacterPermissions": true,
"DefaultAccessLevel": 0,
"AllowAutoAccountCreation": true,
"PasswordHashWorkFactor": 8,
"ForceWorkFactorMigration": true
},
// The folder that contains AC DAT files (client_cell_1.dat, client_portal.dat, client_highres.dat, client_local_English.dat)
// Note that for servers running on Linux, the ~ home folder must be fully expanded, ie. /home/user/ace/, instead of ~/ace/
// Note that for servers running on Windows, a path like c:\ace\ MUST be entered as c:\\ace\\, replacing the single backslashes (\) with double backslashes (\\)
"DatFilesDirectory": "c:\\ACE\\Dats\\",
// The folder that contains Harmony mods
"ModsDirectory": "c:\\ACE\\Mods\\",
// ShutdownInterval, default: 60
// Default time it will take for a server to wait before shutting down after shutdown is called from console or in game admin.
"ShutdownInterval": "60",
// ServerPerformanceMonitorAutoStart, default: false
// Development recommendation: true
// Server recommendation: true
// Enable this to use the functionality of the command: /serverperformance
// Additional overhead is added but it is minimal.
// This can greatly help you (and ACE developers) understand what sections of ACE are underperforming.
"ServerPerformanceMonitorAutoStart": false,
"Threading": {
// This number is used to determine thread allocation for world systems (WorldObjects, Physics, etc...)
// (Total System vCPU * WorldThreadCountMultiplier) = World Thread Count
// (Total System vCPU - World Thread Count) = Database Thread Count
// On larger servers, you may want to raise this to 0.5
"WorldThreadCountMultiplier": 0.34,
// This number is used to determine thread allocation for database operations
// (Total System vCPU * DatabaseThreadCountMultiplier) = Database Thread Count
"DatabaseThreadCountMultiplier": 0.66,
// The following to booleans configure the levels of multi-threading enabled on the server
// The server will group landblocks that are close in distance into LandblockGroups (Dungeons are always 1 per group)
// This allows us to tick an entire LandblockGroup on a single thread
// The thread safety boundary surrounds the LandblockGroup and separates groups from each other
// Optionally, if the following booleans are enabled, we can tick LandblockGroups in parallel
// This will multi-thread physics engine
"MultiThreadedLandblockGroupPhysicsTicking": true,
// This will multi-thread world object ticking
// This is a much more involved process as world object ticking interacts with server global constructs like Allegiances, Fellowships, Housing, etc..
// There is much more cross-landblock group work happening here
"MultiThreadedLandblockGroupTicking": true
},
// ShardPlayerBiotaCacheTime, default: 31
// The amount of minutes to keep in memory a player object from shard database.
"ShardPlayerBiotaCacheTime": "31",
// ShardNonPlayerBiotaCacheTime, default: 11
// The amount of minutes to keep in memory a non player object from shard database.
"ShardNonPlayerBiotaCacheTime": "11",
// WorldDatabasePrecaching, default: false
// Development recommendation: false
// Server recommendation: true
// Enable this to cache the world database at startup.
// This will add about 1-2 minutes to server startup time and will consume about 1.7 GB of RAM
// With this disabled, caching happens on an as-requested basis and can cause the server to feel less responsive.
"WorldDatabasePrecaching": false,
// LandblockPreloading, defaut: true
// Development recommendation: true
// Server recommendation: true
// This makes sure that perma-load landblocks are loaded.
// Perma-load landblocks are landblocks that can contain server-wide mechanics and should always be active.
"LandblockPreloading": true,
// PreloadedLandblock
// These are the default pre-loaded and perma-loaded landblocks.
// In most cases you should not need to adjust them.
// This section requires LandblockPreloading to be true
"PreloadedLandblocks": [
{
"Id": "E74EFFFF",
"Description": "Hebian-To (Global Events)",
"Permaload": true,
"IncludeAdjacents": false,
"Enabled": true
},
{
"Id": "A9B4FFFF",
"Description": "Holtburg",
"Permaload": true,
"IncludeAdjacents": true,
"Enabled": false
},
{
"Id": "DA55FFFF",
"Description": "Shoushi",
"Permaload": true,
"IncludeAdjacents": true,
"Enabled": false
},
{
"Id": "7D64FFFF",
"Description": "Yaraq",
"Permaload": true,
"IncludeAdjacents": true,
"Enabled": false
},
{
"Id": "0007FFFF",
"Description": "Town Network",
"Permaload": true,
"IncludeAdjacents": false,
"Enabled": false
},
{
"Id": "00000000",
"Description": "Apartment Landblocks",
"Permaload": true,
"IncludeAdjacents": false,
"Enabled": false
}
]
},
"MySql": {
"Authentication": {
"Host": "127.0.0.1",
"Port": 3306,
"Database": "ace_auth",
"Username": "root",
"Password": "",
"EnableDetailedErrors": false,
"EnableSensitiveDataLogging": false
},
"Shard": {
"Host": "127.0.0.1",
"Port": 3306,
"Database": "ace_shard",
"Username": "root",
"Password": "",
"EnableDetailedErrors": false,
"EnableSensitiveDataLogging": false
},
"World": {
"Host": "127.0.0.1",
"Port": 3306,
"Database": "ace_world",
"Username": "root",
"Password": "",
"EnableDetailedErrors": false,
"EnableSensitiveDataLogging": false
}
},
// This section can trigger events that may happen before the world starts up, or after it shuts down
// The shard should be in a disconnected state from any running ACE world
"Offline": {
// Purge characters that have been deleted longer than PruneDeletedCharactersDays
// These characters, and their associated biotas, will be deleted permanantly!
"PurgeDeletedCharacters": false,
// Number of days a character must have been deleted for before eligible for purging
2019-11-24 16:50:50 -06:00
"PurgeDeletedCharactersDays": 30,
// This will purge biotas that are completely disconnected from the world
// These may have been items that were never deleted properly, items that were given to the town crier before delete was implemented, etc...
// This can be time consuming so it's not something you would have set to true for every server startup. You might run this once every few months
"PurgeOrphanedBiotas": false,
// This will prune deleted characters from all friend lists in the database
"PruneDeletedCharactersFromFriendLists": true,
// This will prune shortcuts to objects that no longer exist in the database
"PruneDeletedObjectsFromShortcutBars": false,
// This will prune deleted characters from all squlech lists in the database, excluding those used to squlech accounts
"PruneDeletedCharactersFromSquelchLists": false,
// Automatically check for updated server releases. Does not apply updates, just notifies of new version available.
"AutoServerUpdateCheck": true,
// Automatically apply new updates to databases upon startup if they haven't yet been applied
"AutoApplyDatabaseUpdates": true,
// Automatically check for and update to latest available world database
"AutoUpdateWorldDatabase": true,
// After updating to latest world database, automatically import further customizations
// AutoUpdateWorldDatabase must be true for this option to be used
// SQL files will be executed given the sort order of the full paths of the files
"AutoApplyWorldCustomizations": true,
// When AutoApplyWorldCustomizations is set to true, the auto apply process will search for
// all .sql files in the following directories.
// This process will still use ./Content by default, or the config_properties_string
// value for 'content_folder' if it exists
// Example: [ "C:\\MyContent", "C:\\FTPRoot\\Editor1Content", "C:\\FTPRoot\\Editor2Content" ]
"WorldCustomizationAddedPaths": [],
// When retrieving a file list of .sql files in the AutoApplyWorldCustomizations process
// this will cause the file search to retrieve all files recursively from each directory
"RecurseWorldCustomizationPaths": true
Add support for client DAT patching from server (#3979) * Update DatFile.cs * Update DatFileType.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Create DDDManager.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Create GameMessageDDDBeginDDD.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Create GameMessageDDDDataMessage.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update DDDHandler.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update WorldManager.cs * Update Program.cs * committing changes provided Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * more wip changes * Update DDDManager.cs * Update DDDManager.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update CMostlyConsecutiveIntSet.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update WorldManager.cs * Update DDDHandler.cs * Update Session.cs * Update DDDManager.cs * Update Session.cs * Update DDDManager.cs * Update DDDManager.cs * Update GameMessageDDDDataMessage.cs * Update DDDHandler.cs * Update Session.cs * Update CAllIterationList.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update CMostlyConsecutiveIntSet.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Create PTaggedIterationList.cs Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com> * Update Session.cs * Update ConnectionListener.cs * Create DDDConfiguration.cs * Update MasterConfiguration.cs * Update Config.js.example * Update DDDManager.cs * Update DDDHandler.cs * Update Program.cs * Update PropertyManager.cs * Update WorldManager.cs * Update SessionTerminationReason.cs * Update DDDHandler.cs * Update DDDManager.cs * Update ConnectionListener.cs * Update SessionTerminationReason.cs * Update GameMessageDDDDataMessage.cs * Update AuthenticationHandler.cs * Update CharacterHandler.cs * Update PacketInboundLoginRequest.cs * Update Session.cs * Update DatFileType.cs --------- Co-authored-by: OptimShi <OptimShi@users.noreply.github.com>
2023-06-09 13:15:10 -04:00
},
// This section configures handling of client DAT patching from server's DAT files
"DDD": {
// Allow server to patch client DAT files using server's DAT files via DDDManager
"EnableDATPatching": false,
// Upon server startup, precache all DAT files that would be sent as compressed data
"PrecacheCompressedDATFiles": false
}
}