G1R:MP 0.1.9 / Protocol 42 - optional server TTS

TTS is DISABLED by default in BOTH public package variants.

1. Extract the complete WITH TTS package for your server OS. It includes its
   own Python 3.12, CPU libraries, both models and language data.
   No system Python, pip, Git or CUDA is required.
2. Configure the server and GothicRP database. The shipped database password
   CHANGE_ME is a placeholder, not a working credential.
3. Under [tts] in serverconf.cfg, set enabled=true when you want TTS.
   Keep workerInstallDirectory=tts/runtime (relative to serverconf.cfg).
   workerEngines=chatterbox_v3 enables the multilingual engine.
   workerEngines=chatterbox_v3,styletts2_uk additionally enables Ukrainian.
4. Start ONLY Start-G1RServer.cmd or ./start-g1r-server.sh on Linux.
   Workers start/stop with the normal launcher, without separate consoles.
   A fresh private worker token is created on first enabled startup.
5. Use the Lua API to create voices/presets, pre-render, save and play speech.
   Complete English instructions and examples:
   https://g1r-mp.com/wiki/index.php?title=Server_TTS
   https://g1r-mp.com/wiki/index.php?title=TTS_configuration
   https://g1r-mp.com/wiki/index.php?title=TTS_voices

Disabled TTS does not invoke Python or load models. Enabled workers load models
on demand for an uncached rendering job. CPU synthesis may take tens of seconds
or longer; game ticks do not wait for it. Models unload after the configured
idle interval. Normal startup does not download packages or models.

OWN VOICES
Use only authorized audio samples in tts/voices, NOT downloadable resources.
WAV, OGG or FLAC; 1-30 seconds; mono/stereo; 8-96 kHz; at most 8 MiB. Register
the sample and its SHA-256 through the documented voice API. Use simple filenames.
Chatterbox Multilingual V3 supports 23 languages. Ukrainian uses the separate
StyleTTS2 engine and requires a reference sample. No personal voice samples,
recordings, profiles, worker tokens or private data are included in this package.
Downloaded references must be audio, not executable voice packs/checkpoints.
Renaming an MP3 to .ogg does not convert its format.

CACHE / UPGRADE
Unchanged text, engine, language, voice/sample hash, seed and parameters reuse
cached recordings. Clients reuse verified audio while their cache is available.
Keep tts/data, tts/voices, your worker token and resource storage when upgrading.
Merge configuration templates; do not overwrite your database/server settings.

WITHOUT TTS contains the same server and Lua APIs without Python/ML models.
It requires no Python for normal operation. To enable TTS later, copy the whole
tts/runtime from the matching WITH TTS package for the same OS/version, then
enable it in serverconf.cfg. Do not copy or overwrite private operator data.

If startup reports missing modules/models, restore the complete matching
runtime and inspect tts/managed logs. See TTS-PACKAGES.txt for OS dependencies.
Set enabled=false to run without TTS. Do not use developer installation paths.
