Skip to content

Commit bd80d49

Browse files
committed
delete the cookie when player log out
1 parent 0e8b732 commit bd80d49

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/server/Server.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ private function tick() : void{
179179
foreach($this->sessions as $session){
180180
$session->update($time);
181181
if($session->isFullyDisconnected()){
182+
if ($this->getCookie() instanceof CookieCache) {
183+
$this->getCookie()->remove($session->getAddress());
184+
}
182185
$this->removeSessionInternal($session);
183186
}
184187
}

src/utils/CookieCache.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ public function add(InternetAddress $address) : int{
4646
return $cookie;
4747
}
4848

49+
public function remove(InternetAddress $address) : void{
50+
$addressStr = $address->toString();
51+
if (isset($this->cookies[$addressStr])) {
52+
unset($this->cookies[$addressStr]);
53+
}
54+
}
55+
4956
private function generate(InternetAddress $address) : int{
5057
return random_int(0, Limits::UINT32_MAX);
5158
}

0 commit comments

Comments
 (0)