Docs › Running the server

lonelyice.ini

lonelyice.ini next to the executable holds the launcher's own settings: where the game client and the server folder are, where the databases live, how the game is started, backups and plugin catalogs. The server's settings are not here; they are in the server folder's configs/worldserver.conf and configs/modules/*.conf (Install layout). The launcher creates the file, reads it at start and writes it whenever one of its settings changes and when it exits. Other modes read it too: every mode takes [launcher] language for its messages, and --pkg takes [packages] index (Command line).

Format

[client]
path=C:\Games\Client-3.3.5a
locale=ruRU

[server]
root=C:\Games\Client-3.3.5a\LonelyIce
location=local
dataCache=0
  • [section] and key=value lines; lines starting with ; or # are comments. Section and key names ignore case. Values are taken as written (after trimming spaces); quotes are not removed.
  • UTF-8 (a file in UTF-16 with a byte order mark is read as well). Paths are UTF-8.
  • Flags accept 1/0, true/false, yes/no and on/off in any case; any other value (or none) keeps the flag's default. The launcher writes 1 and 0.
  • Saving replaces the lines of the keys the launcher knows and keeps everything else (comments, unknown keys). Every known key is written, with its current value, on every save: edit the file while the launcher is closed, or a running launcher overwrites the change the next time it saves.

[client]

Key Default Meaning Set by
path empty The 3.3.5a game client folder (Wow.exe and Data/common.MPQ). Empty or not a client: the launcher looks next to the executable, in its parent folder, in the parent's subfolders (two levels), then where an installer put the game (Windows registry InstallPath; ~/.wine/drive_c/Program Files (x86) and Program Files elsewhere), and writes the first client found here. Overview → Browse; the wizard ("Client" step) on install
locale empty The client language the game starts in (enUS, ruRU, ...): written to WTF/Config.wtf (SET locale) before the game starts, and the locale the server reads its data in (LONELYICE_LOCALE). Empty: Config.wtf is left alone and its SET locale is used. Overview → locale chips; Settings → Launcher → Client language
runner wine Linux and macOS: the program that runs Wow.exe, with arguments separated by spaces (e.g. wine64, a Proton or CrossOver wrapper). Unused on Windows. file only
writeRealmlist 1 Before the game starts, set realmlist.wtf of the start locale (of every locale when none is known) to 127.0.0.1 when it points elsewhere (the first overwrite keeps realmlist.wtf.bak), and a realmList line in Config.wtf if there is one. With a RealmServerPort other than 3724 the value is 127.0.0.1:<port> (the 3.3.5a client takes host:port); 127.0.0.1 or localhost, with the right port, count as this computer. Settings → Launcher → Check realmlist before launch
clearWdb 1 Delete the client cache Cache/WDB before the game starts. Settings → Launcher → Clear the client cache

[server]

Key Default Meaning Set by
root empty The server folder (configs, databases, game data, logs, backups). Empty: the executable's folder. the wizard ("Location" step)
config empty The worldserver.conf to run. Empty: <root>/configs/worldserver.conf; without root, configs-sqlite/worldserver.conf or configs/worldserver.conf next to the executable, whichever exists. file only; the wizard clears it on install
location local Where the databases are: local (SQLite files in <root>/db) or the storage id of an installed plugin (a database server, e.g. mysql), reached with [remote] (Server game data). Settings → Storage; the wizard ("Data" step)
dataCache 0 1: the game data is unpacked (DBC files in the world database, maps and cameras in DataDir); 0: the server reads it from the client. Always 1 when location is not local. Settings → Storage; the wizard ("Data" step)
realmName empty The realm name last reported by the server (shown in Settings while the server is down, and the wizard's realm name on an existing install). the launcher: when the server is ready, and after the wizard set the name
pendingRealmName empty A new realm name, sent to the server (@@realmname) when it is next ready, then cleared. Settings → Realm → Realm name; the wizard, when the name is changed and the databases are not touched
sqlStamp empty Size and time of the setup/sql.pak the databases were last deployed from. When the release's sql.pak differs (and the stamp is set and the config is <root>/configs/worldserver.conf), the next server start first runs the wizard's database step on the databases in use, without the account and the realm name, then starts the server; a storage switch brings existing databases up to date as well. the launcher, after a database step
configVersion 0 LonelyIce's one-time changes already made to the server config: when it is lower than the launcher's, the next start (or install) makes the missing ones and saves the new number, so later edits stay. 1: EnablePlayerSettings = 1. the launcher

Older versions wrote [server] storage = client | unpacked | mysql and a [mysql] section (host, port, user, password, prefix). They are still read (mysql becomes location = mysql, client becomes dataCache = 0, anything else dataCache = 1) and replaced by the keys above on the next save.

[remote]

The connection of a plugin's database server, used when [server] location is not local. The launcher passes every database as <location>:<host>;<port>;<user>;<password>;<prefix><name> for auth, characters, world and playerbots (Environment variables).

Key Default Meaning Set by
host 127.0.0.1 Server address. Settings → Storage; the wizard ("Data" step)
port empty Port; empty: the storage's default port from the plugin's manifest. same
user acore User name. same
password empty Password, stored as plain text. same
prefix acore_ Database name prefix: acore_auth, acore_characters, acore_world, acore_playerbots. same

[launcher]

Key Default Meaning Set by
language empty Interface language: en, de, es, fr, ru. Empty or unknown: English. The environment variable LONELYICE_LANG takes precedence. the language switch in the window's header
uiScale 0 Interface size in percent, on top of the system's display scale; 50 to 300. 0: the largest of 150, 125 and 100 % whose window fits the screen; the value chosen is written back. Settings → Launcher → Interface scale (100 to 200 %); Ctrl + mouse wheel (steps of 25, 100 to 200)
autoStart 0 Start the server when the launcher starts (not while the wizard is needed). Settings → Launcher → Start the server with the launcher
stopWithGame 0 Stop the server when the game the launcher started exits. Settings → Launcher → Quitting the game stops the server
trayOnClose 1 Closing the window hides it in the notification area and the server keeps running; 0: closing stops the server and quits. Also required for --tray. Settings → Launcher → Closing the window minimizes to tray

[backup]

Backups of the SQLite databases (auth, characters, world, playerbots) into <root>/backups/store, keeping only what changed (Backups). Scheduled ones run only while the launcher runs and only with [server] location = local; the launcher looks every 30 seconds. A scheduled backup that finds nothing changed makes none.

Key Default Meaning Set by
schedule daily off, daily (at time), or the hours between backups: 1, 3, 6, 12. Without the key, an empty time (older versions) means off. Settings → Launcher → Backups
time 04:00 Daily time HH:MM (exactly five characters): the first check at or after it on a day starts that day's backup. Settings → Launcher → Daily backup, time
days 14 For that many days the newest backup of each day stays; older ones thin out to one per week. Everything of the last 24 hours stays. Settings → Launcher → Daily backups, days
budget 2048 Disk space for the backups in MB; over it the oldest backups go (the newest always stays). 0: no limit. Settings → Launcher → Disk space for backups, MB
lastDay empty YYYY-MM-DD of the last scheduled daily backup. the launcher
lastAt 0 Unix time of the last scheduled backup with an hourly schedule. the launcher

keep (the number of full copies of older versions) is removed when the launcher saves the file.

[packages]

Key Default Meaning Set by
index https://lonelyice.org/packages/index.json Plugin catalogs in use, separated by ;: http(s) URLs of an index, index files or folders holding index.json (Plugin format, section 8). Empty: no catalogs. Plugins → Package catalogs (add, switch on and off, remove, bring back the LonelyIce catalog)
disabled empty Catalogs kept in the list but not read, same format. same
locale empty Catalog filter: only packages whose locales name this language (or *). Empty: all. Plugins → Catalog → Language