X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=plomrogue%2Fgame.py;h=b76860aa5ff7954c802c63334d22367a9acb7ffa;hb=5862e6964f0ce6e7139862e8b1de3b1cca0a306f;hp=d51c832fd36dc2e9d353969bee079f751c62ce40;hpb=7f7742ecc229f9f6b5ab5c28daf11ea2a67ad29a;p=plomrogue2 diff --git a/plomrogue/game.py b/plomrogue/game.py index d51c832..b76860a 100755 --- a/plomrogue/game.py +++ b/plomrogue/game.py @@ -349,6 +349,17 @@ class Game(GameBase): self.changed = True def login(self, nick, connection_id): + 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'), @@ -365,7 +376,7 @@ class Game(GameBase): self.io.send('PLAYER_ID %s' % t.id_, connection_id) self.io.send('LOGIN_OK', connection_id) for msg in self.intro_messages: - self.io.send('CHAT ' + quote(msg)) + self.io.send('CHAT ' + quote(msg), connection_id) self.io.send('CHAT ' + quote(t.name + ' entered the map.')) for s in [s for s in self.things if s.type_ == 'SpawnPoint' and s.name == t.name]: