The avatar will virtually always be in an existential position, one that needs to be handled at logout</p></div><dlclass="paramcmts block"><dtclass="param">avatar</dt><ddclass="cmt"><p>the avatar</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>Avatar</code></p></span><spanclass="cmt"><p><code>Deployables.Disown</code></p></span><spanclass="cmt"><p><code>Service.Leave</code></p></span><spanclass="cmt"><p><code>Zone.Population.Leave</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.account.PersistenceMonitor#PerformLogout"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PerformLogout():Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#PerformLogout():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PerformLogout</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">When the sustenance updates of the persistence monitor come to an end,
and the persistence monitor itself is about to clean itself up,
the player and avatar combination that has been associated with it will also undergo independent end of life activity.</p><divclass="fullcomment"><divclass="comment cmt"><p>When the sustenance updates of the persistence monitor come to an end,
and the persistence monitor itself is about to clean itself up,
the player and avatar combination that has been associated with it will also undergo independent end of life activity.
This is the true purpose of the persistence object - to perform a proper logout.<br>
<br>
The updates have been providing the zone
and the basic information about the user (player name) has been provided since the beginning
</p></div></div></li><liclass="indented0 "name="net.psforever.services.account.PersistenceMonitor#PlayerAvatarLogout"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PlayerAvatarLogout(avatar:net.psforever.objects.avatar.Avatar,player:net.psforever.objects.Player):Unit"class="anchorToMember"></a><aid="PlayerAvatarLogout(Avatar,Player):Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#PlayerAvatarLogout(avatar:net.psforever.objects.avatar.Avatar,player:net.psforever.objects.Player):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PlayerAvatarLogout</span><spanclass="params">(<spanname="avatar">avatar: <ahref="../../objects/avatar/Avatar.html"name="net.psforever.objects.avatar.Avatar"id="net.psforever.objects.avatar.Avatar"class="extype">Avatar</a></span>, <spanname="player">player: <ahref="../../objects/Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">A common set of actions to perform in the course of logging out a player avatar.</p><divclass="fullcomment"><divclass="comment cmt"><p>A common set of actions to perform in the course of logging out a player avatar.
any messages sent in response to what we are sending are received by the monitor's parent.</p></div><dlclass="paramcmts block"><dtclass="param">avatar</dt><ddclass="cmt"><p>the avatar</p></dd><dtclass="param">player</dt><ddclass="cmt"><p>the player</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>Avatar</code></p></span><spanclass="cmt"><p><code>AvatarAction.ObjectDelete</code></p></span><spanclass="cmt"><p><code>AvatarServiceMessage</code></p></span><spanclass="cmt"><p><code>GUIDTask.UnregisterPlayer</code></p></span><spanclass="cmt"><p><code>Player</code></p></span><spanclass="cmt"><p><code>Zone.AvatarEvents</code></p></span><spanclass="cmt"><p><code>Zone.Population.Release</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.account.PersistenceMonitor#UpdateTimer"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="UpdateTimer():Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#UpdateTimer():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">UpdateTimer</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Restart the minimum activity timer.</p></li><liclass="indented0 "name="akka.actor.Actor#aroundPostRestart"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPostRestart(reason:Throwable):Unit"class="anchorToMember"></a><aid="aroundPostRestart(Throwable):Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#aroundPostRestart(reason:Throwable):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">aroundPostRestart</span><spanclass="params">(<spanname="reason">reason: <spanname="scala.Throwable"class="extype">Throwable</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<ahref="../../../../akka/index.html"name="akka"id="akka"class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><spanclass="name">@InternalApi</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPostStop"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPostStop():Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#aroundPostStop():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">aroundPostStop</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<ahref="../../../../akka/index.html"name="akka"id="akka"class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><spanclass="name">@InternalApi</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPreRestart"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPreRestart(reason:Throwable,message:Option[Any]):Unit"class="anchorToMember"></a><aid="aroundPreRestart(Throwable,Option[Any]):Unit"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/account/PersistenceMonitor.html#aroundPreRes