{ "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": [] }, "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 "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 }, // 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 } }