a player connects, the LoginSessionActor handles the account login by querying the database,
comparing passwords etc, and then by inserting the account information into this actor by a
token that is also sent to the player's client in the LoginRespMessage packet. The token is
just like a browser cookie session token.</p><p>When the player's client has processed the LoginRespMessage packet, it attempts to connect
to the game world by sending a ConnectToWorldRequestMessage with the token which is used
by the WorldSessionActor to lookup the player's account info from this actor.</p><p>So this actor is a temporary store of account data for players logging into the login
</p></div></div></li><liclass="indented0 "name="net.psforever.services.account.AccountPersistenceService"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="AccountPersistenceServiceextendsActor"></a><aid="AccountPersistenceService:AccountPersistenceService"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/AccountPersistenceService.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="AccountPersistenceService.html"title="A global service that manages user behavior as divided into the following three categories: persistence (ongoing participation in the game world), relogging (short-term client connectivity issue resolution), and logout (end-of-life conditions involving the separation of a user from the game world). A user polls this service and the service either creates a new PersistenceMonitor entity or returns whatever PersistenceMonitor entity currently exists."><spanclass="name">AccountPersistenceService</span></a><spanclass="result"> extends <spanname="akka.actor.Actor"class="extype">Actor</span></span></span><pclass="shortcomment cmt">A global service that manages user behavior as divided into the following three categories:
or returns whatever <code>PersistenceMonitor</code> entity currently exists.</p><divclass="fullcomment"><divclass="comment cmt"><p>A global service that manages user behavior as divided into the following three categories:
persistence (ongoing participation in the game world),
relogging (short-term client connectivity issue resolution), and
logout (end-of-life conditions involving the separation of a user from the game world).<br>
within a reasonable amount of time to connection restoration,
the user may regain control of their existing persistence monitor and, thus, the same player avatar.
End of life is mainly managed by the monitors internally
and the monitors only communicate up to this service when executing their "end-of-life" operations.
</p></div></div></li><liclass="indented0 "name="net.psforever.services.account.IPAddress"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="IPAddressextendsAnyRef"></a><aid="IPAddress:IPAddress"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/IPAddress.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="IPAddress.html"title=""><spanclass="name">IPAddress</span></a><spanclass="result"> extends <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span></li><liclass="indented0 "name="net.psforever.services.account.PersistenceMonitor"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PersistenceMonitorextendsActor"></a><aid="PersistenceMonitor:PersistenceMonitor"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="PersistenceMonitor.html"title="Observe and manage the persistence of a single named player avatar entity in the game world, with special care to the conditions of short interruption in connectivity (relogging) and end-of-life operations."><spanclass="name">PersistenceMonitor</span></a><spanclass="result"> extends <spanname="akka.actor.Actor"class="extype">Actor</span></span></span><pclass="shortcomment cmt">Observe and manage the persistence of a single named player avatar entity in the game world,
with special care to the conditions of short interruption in connectivity (relogging)
and end-of-life operations.</p><divclass="fullcomment"><divclass="comment cmt"><p>Observe and manage the persistence of a single named player avatar entity in the game world,
with special care to the conditions of short interruption in connectivity (relogging)
and end-of-life operations.
Upon login, the monitor will echo all of the current information about the user's (recent) login back to the <code>sender</code>.
With a zone and a coordinate position in that zone, a user's player avatar can be properly reconnected
or can be reconstructed.
Without actual recent activity,
the default information about the zone is an indication that the user must start this player avatar from scratch.
The monitor expects a reliable update messaging (heartbeat) to keep track of the important information
and to determine the conditions for end-of-life activity.</p></div></div></li><liclass="indented0 "name="net.psforever.services.account.ReceiveAccountData"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ReceiveAccountDataextendsProductwithSerializable"></a><aid="ReceiveAccountData:ReceiveAccountData"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/ReceiveAccountData.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="ReceiveAccountData.html"title=""><spanclass="name">ReceiveAccountData</span></a><spanclass="params">(<spanname="account">account: <ahref="../../objects/Account.html"name="net.psforever.objects.Account"id="net.psforever.objects.Account"class="extype">Account</a></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span></li><liclass="indented0 "name="net.psforever.services.account.ReceiveIPAddress"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ReceiveIPAddressextendsProductwithSerializable"></a><aid="ReceiveIPAddress:ReceiveIPAddress"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/ReceiveIPAddress.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="ReceiveIPAddress.html"title=""><spanclass="name">ReceiveIPAddress</span></a><spanclass="params">(<spanname="address">address: <ahref="IPAddress.html"name="net.psforever.services.account.IPAddress"id="net.psforever.services.account.IPAddress"class="extype">IPAddress</a></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span></li><liclass="indented0 "name="net.psforever.services.account.RetrieveAccountData"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="RetrieveAccountDataextendsProductwithSerializable"></a><aid="RetrieveAccountData:RetrieveAccountData"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/RetrieveAccountData.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="RetrieveAccountData.html"title=""><spanclass="name">RetrieveAccountData</span></a><spanclass="params">(<spanname="token">token: <spanname="scala.Predef.String"class="extype">String</span></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span></li><liclass="indented0 "name="net.psforever.services.account.RetrieveIPAddress"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="RetrieveIPAddressextendsProductwithSerializable"></a><aid="RetrieveIPAddress:RetrieveIPAddress"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/RetrieveIPAddress.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="RetrieveIPAddress.html"title=""><spanclass="name">RetrieveIPAddress</span></a><spanclass="params">(<spanname="sessionID">sessionID: <spanname="scala.Long"class="extype">Long</span></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span></li><liclass="indented0 "name="net.psforever.services.account.StoreAccountData"group="Ungro