Player Connection Lifecycle

Player Connection Lifecycle A lifecycle diagram generated by Archify. 01 / Connection phases 02 / Creation + link loss 03 / Terminal exit Protocol Probe · CON_GET_PROTOCOL · Connection phases 01 Protocol Probe CON_GET_PROTOCOL Account Login · CON_ACCOUNT_NAME · Connection phases 02 Account Login CON_ACCOUNT_NAME Account Menu · CON_ACCOUNT_MENU · Connection phases 03 Account Menu CON_ACCOUNT_MENU Main Menu · CON_RMOTD, CON_MENU · Connection phases 04 Main Menu CON_RMOTD, CON_MENU Playing · CON_PLAYING · Connection phases 05 Playing CON_PLAYING Character Creation · CON_QRACE .. CON_QALIGN · Creation + link loss Character Creation CON_QRACE .. CON_QALIGN Linkless · character, no descriptor · Creation + link loss Linkless character, no descriptor Closed · CON_CLOSE · Terminal exit Closed CON_CLOSE negotiated password ok load_char() enter game new character CON_MENU close_socket() RECON bad password Legend start active state waiting decision terminal success failure / exit

Main path

  • • Starts in CON_GET_PROTOCOL
  • • nanny() owns all non-playing states
  • • Main menu 1 enters CON_PLAYING

Leaving and returning

  • • close_socket() leaves chars linkless
  • • Relogin reattaches via RECON
  • • Rejected logins end in CON_CLOSE

Evidence

  • • structs.h: CON_* at 1629-1726
  • • interpreter.c: nanny() at 7868
  • • comm.c: close_socket() at 4331