aboutsummaryrefslogtreecommitdiff
path: root/diplomacy/server/request_managers.py
diff options
context:
space:
mode:
Diffstat (limited to 'diplomacy/server/request_managers.py')
-rw-r--r--diplomacy/server/request_managers.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/diplomacy/server/request_managers.py b/diplomacy/server/request_managers.py
index 5fa434e..59c0e88 100644
--- a/diplomacy/server/request_managers.py
+++ b/diplomacy/server/request_managers.py
@@ -393,6 +393,10 @@ def on_join_game(server, request, connection_handler):
if not server_game.has_power(power_name):
raise exceptions.MapPowerException(power_name)
+ # Forbid to play a power that is already eliminated.
+ if server_game.get_power(power_name).is_eliminated():
+ raise exceptions.ResponseException('%s is eliminated.' % power_name)
+
if username == constants.PRIVATE_BOT_USERNAME:
# Private bot is allowed to control any dummy power after game started
# (ie. after reached expected number of real players).