From: Christian Heller Date: Mon, 28 Dec 2020 16:13:01 +0000 (+0100) Subject: Control login limit from optional file to be changed during server run. X-Git-Url: https://plomlompom.com/repos/%27%29;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20chunks.push%28escapeHTML%28span%5B2%5D%29%29;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20chunks.push%28%27?a=commitdiff_plain;h=5862e6964f0ce6e7139862e8b1de3b1cca0a306f;p=plomrogue2 Control login limit from optional file to be changed during server run. --- diff --git a/plomrogue/game.py b/plomrogue/game.py index 8fcb430..b76860a 100755 --- a/plomrogue/game.py +++ b/plomrogue/game.py @@ -349,11 +349,17 @@ class Game(GameBase): self.changed = True def login(self, nick, connection_id): - if len(self.sessions) > 200: - print('DEBUG LOGIN TOO MANY FOR', connection_id) - self.io.send('CHAT "sorry, too many users currenty ' - 'logged in, try again later"', connection_id) - return + login_limit_filename = 'login_limit' + if os.path.exists(login_limit_filename): + with open(login_limit_filename, 'r') as f: + lines = f.readlines() + login_limit = int(lines[0]) + if len(self.sessions) > login_limit - 1: + print('DEBUG LOGIN TOO MANY FOR', nick, connection_id) + self.io.send('CHAT "sorry, too many users currently ' + 'logged in, try again later ' + 'by re-entering your name"', connection_id) + return for t in [t for t in self.things if t.type_ == 'Player' and t.name == nick]: self.io.send('GAME_ERROR ' + quote('name already in use'),