diff --git a/netsecgame/game/coordinator.py b/netsecgame/game/coordinator.py index 27fdc797..faef03a6 100644 --- a/netsecgame/game/coordinator.py +++ b/netsecgame/game/coordinator.py @@ -701,7 +701,7 @@ async def _remove_agent_from_game(self, agent_addr): # remove agent from reset requests agent_info["reset_request"] = self._reset_requests.pop(agent_addr) # check if this agent was not preventing reset - if any(self._reset_requests.values()): + if all(self._reset_requests.values()): self._reset_event.set() agent_info["episode_end"] = self._episode_ends.pop(agent_addr) #check if this agent was not preventing episode end diff --git a/netsecgame/game/worlds/WhiteBoxNetSecGame.py b/netsecgame/game/worlds/WhiteBoxNetSecGame.py index 277fc239..0b48f2ab 100644 --- a/netsecgame/game/worlds/WhiteBoxNetSecGame.py +++ b/netsecgame/game/worlds/WhiteBoxNetSecGame.py @@ -4,6 +4,7 @@ import logging import os import json +import warnings from pathlib import Path from netsecgame.utils.utils import get_logging_level from netsecgame.game_components import Action, ActionType @@ -126,6 +127,12 @@ def _generate_all_actions(self)-> list[Action]: def _create_state_from_view(self, view, add_neighboring_nets = True): return super()._create_state_from_view(view, add_neighboring_nets=add_neighboring_nets) + def _dynamic_ip_change(self, max_attempts:int=10)->None: + warnings.warn("Dynamic IP change is not supported for WhiteBoxNetSecGame.", UserWarning) + self.logger.warning("Dynamic IP change is not supported for WhiteBoxNetSecGame.") + return None + + if __name__ == "__main__": parser = argparse.ArgumentParser( description="NetSecGame Coordinator Server Author: Ondrej Lukas ondrej.lukas@aic.fel.cvut.cz",