Server Startup and World Boot

Server Startup and World Boot A sequence diagram generated by Archify. bin/luminari -d lib init_game(port) event + domain runtimes boot_db() connect_to_mysql() required tables ready index_boot: zon, trg, wld load_regions(), load_paths() index_boot: mob, obj, shp, qst world booted services + seal types game_loop(mother_desc) shutdown or reboot exit 52 means reboot Start Boot world Admit Shutdown Operator · autorun.sh · Sequence participant Operator autorun.sh main() · comm.c · Sequence participant main() comm.c init_game() · comm.c · Sequence participant init_game() comm.c Event Runtime · event_init() · Sequence participant Event Runtime event_init() boot_db() · db.c · Sequence participant boot_db() db.c MariaDB · pooled client · Sequence participant · MariaDB MariaDB pooled client World Files · lib/world · Sequence participant World Files lib/world game_loop() · reactor · Sequence participant game_loop() reactor Legend request return security default message

Boot order

  • • Spec registry validates before world
  • • No MariaDB, no world boot
  • • Event types seal after boot

Loaded at boot

  • • Zones, triggers, rooms from files
  • • Regions and roads from MariaDB
  • • Mobs, objects, shops, quests

Shutdown

  • • Crash, house, and vessel saves
  • • Sockets close after the saves
  • • Exit 52 tells autorun to restart