\-----------------/
| depending of the incoming packet
+---------------------------------------
- v |
+ v v
+-----------------------------+ +-----------------------------+
|IN: | |IN: |
| TOSERVER_INIT_LEGACY |----- | TOSERVER_INIT | invalid playername,
+-----------------------------+ | +-----------------------------+ password (for _LEGACY),
| | | or denied by mod
| Auth ok -------------------+---------------------------------
- | | |
+ v v |
+-----------------------------+ +-----------------------------+ |
|OUT: | |OUT: | |
| TOCLIENT_INIT_LEGACY | | TOCLIENT_HELLO | |
| +-----------------------------+ |
| ^ | |
| ----------------------------- |
- | |
+ v |
+-----------------------------+ --------------------------------+
|IN: | | |
| TOSERVER_CLIENT_READY | v |
| |---------------------------------------------------------------
---->| Active |
| | |----------------------------------------------
- | \-----------------/ timeout |
+ | \-----------------/ timeout v
| | | +-----------------------------+
| | | |OUT: |
| | | | TOCLIENT_DISCONNECT |
| | | +-----------------------------+
| | | |
- | | | v
+ | | v v
| | +-----------------------------+ /-----------------\
| | |IN: | | |
| | | TOSERVER_DISCONNECT |------------------->| Disconnecting |
| | +-----------------------------+
| | sets password accordingly |IN: |
-------------------+-------------------------------| TOSERVER_FIRST_SRP |
- +-----------------------------+
+ +-----------------------------+
*/
namespace con {
/* Authentication information */
std::string enc_pwd;
+ bool create_player_on_auth_success;
AuthMechanism chosen_mech;
void * auth_data;
u32 allowed_auth_mechs;
peer_id(PEER_ID_INEXISTENT),
serialization_version(SER_FMT_VER_INVALID),
net_proto_version(0),
+ create_player_on_auth_success(false),
chosen_mech(AUTH_MECHANISM_NONE),
auth_data(NULL),
m_time_from_building(9999),