def disable(self):
     """actions to take when the plugin is disabled"""
     was_recording_all_players = self._recording_all_players
     self.stop_recording_all_players()
     if was_recording_all_players:
         self._recording_all_players = True  # persist the value so demo can restart when plugin is re-enabled
     Plugin.disable(self)
 def __init__(self, console, config=None):
     self._breakpoints = 0
     self._current_rotation_no = 2
     self._rotations = {}
     self._autorotation = True
     self._randomize_rotation = True
     self._adjust_players_settings = True
     self._max_players = 64
     self._current_players_setting = 16
     self._player_counts = {}
     self._delay_player_check = True
     self._breakpoints = 0
     self._ticket_configs = 0
     self._gametype_mults = {}
     self._max_tickets = 100
     self._use_mult = 100
     self._autotickets = True
     self._idle_kick_disable = False
     self._idle_player_count = 0
     self._current_tickets = 0
     self._bps = {}
     self._next_gametype = ''
     self._next_map_name = ''
     self._easy_map_names = {}
     Plugin.__init__(self, console, config)
Beispiel #3
0
 def __init__(self, console, config=None):
     self._adminPlugin = None
     self._re_valid_command_name = re.compile(r"^[a-z][\w]+$",
                                              re.IGNORECASE)
     self._re_argument_placeholder = re.compile(
         r"<ARG(?::(?P<type>[A-Z_]+)(?::(?P<property>.*?))?)?>")
     Plugin.__init__(self, console, config)
Beispiel #4
0
    def __init__(self, console, config=None):
        """
        Build the plugin object.
        """
        Plugin.__init__(self, console, config)

        self.min_ingame_humans = 1
        """:type : int"""
        self.consecutive_deaths_threshold = 3
        """:type : int"""
        self.inactivity_threshold_second = 50
        """:type : int"""
        self.last_chance_delay = None
        """:type : str"""
        self.kick_reason = None
        """:type : str"""
        self.are_you_afk = None
        """:type : str"""
        self.suspicion_announcement = None
        """:type : Timer"""
        self.immunity_level = 100
        """:type : int"""
        self.check_timer = None
        """:type : dict[Client, threading.Timer]"""
        self.kick_timers = WeakKeyDictionary()
        """:type : int"""
        self.last_global_check_time = time()
 def __init__(self, *args, **kwargs):
     """
     Build the plugin object.
     """
     Plugin.__init__(self, *args, **kwargs)
     self.crontab = None
     self.last_activity_time = 0
     self.max_idle_time = 180
Beispiel #6
0
 def __init__(self, console, config=None):
     self._adminPlugin = None
     self._configPath = ''
     self.no_level_check_level = 100
     self._scrambling_planned = False
     self._autoscramble_rounds = False
     self._autoscramble_maps = False
     self._scrambler = Scrambler(self)
     Plugin.__init__(self, console, config)
Beispiel #7
0
 def __init__(self, console, config=None):
     self._adminPlugin = None
     self._configPath = ''
     self.no_level_check_level = 100
     self._scrambling_planned = False
     self._autoscramble_rounds = False
     self._autoscramble_maps = False
     self._scrambler = Scrambler(self)
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     self.restriction_status = True
     self.punish_method = 1
     self.warn_duration = '1h'
     self._adminPlugin = None
     self._current_gametype = None
     self._restrictedweapons = []
     self._whitelistgametypes = []
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     """
     Build the plugin instance
     :param console: The console instance
     :param config: The plugin configuration file instance
     """
     self._adminPlugin = None
     self._re_valid_command_name = re.compile(r"^[a-z][\w]+$", re.IGNORECASE)
     self._re_argument_placeholder = re.compile(r"<ARG(?::(?P<type>[A-Z_]+)(?::(?P<property>.*?))?)?>")
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     """
     Initialize plugin object
     """
     self._re_startserverdemo_success = re.compile(r"""^startserverdemo: recording (?P<name>.+) to (?P<file>.+\.(?:dm_68|urtdemo))$""")
     self._adminPlugin = None
     self._haxbusterurt_demo_duration = 0 # if the haxbusterurt plugin is present, how long should last demo of cheaters
     self._follow_demo_duration = 0 # if the follow plugin is present, how long should last demo of cheaters
     self._recording_all_players = False # if True, then connecting players will be recorded
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     """
     Build the plugin instance
     :param console: The console instance
     :param config: The plugin configuration file instance
     """
     self._adminPlugin = None
     self._re_valid_command_name = re.compile(r"^[a-z][\w]+$", re.IGNORECASE)
     self._re_argument_placeholder = re.compile(r"<ARG(?::(?P<type>[A-Z_]+)(?::(?P<property>.*?))?)?>")
     Plugin.__init__(self, console, config)
Beispiel #12
0
 def __init__(self, console, config=None):
     """
     Initialize plugin object
     """
     self._re_startserverdemo_success = re.compile(r"""^startserverdemo: recording (?P<name>.+) to (?P<file>.+\.(?:dm_68|urtdemo))$""")
     self._adminPlugin = None
     self._haxbusterurt_demo_duration = 0 # if the haxbusterurt plugin is present, how long should last demo of cheaters
     self._follow_demo_duration = 0 # if the follow plugin is present, how long should last demo of cheaters
     self._recording_all_players = False # if True, then connecting players will be recorded
     Plugin.__init__(self, console, config)
    def __init__(self, console, config=None):
        Plugin.__init__(self, console, config)
        if self.console.gameName not in ('iourt41', 'iourt42', 'iourt43'):
            self.critical("unsupported game : %s" % self.console.gameName)
            raise SystemExit(220)

        ### kill modes constants ###
        try:
            self.UT_MOD_BLED = self.console.UT_MOD_BLED
        except AttributeError, err:
            self.warning("could not get UT_MOD_BLED value from B3 parser. %s" % err)
            self.UT_MOD_BLED = '23'
Beispiel #14
0
    def __init__(self, console, config=None):
        Plugin.__init__(self, console, config)
        if self.console.gameName not in ('iourt41', 'iourt42', 'iourt43'):
            self.critical("unsupported game : %s" % self.console.gameName)
            raise SystemExit(220)

        ### kill modes constants ###
        try:
            self.UT_MOD_BLED = self.console.UT_MOD_BLED
        except AttributeError, err:
            self.warning("could not get UT_MOD_BLED value from B3 parser. %s" %
                         err)
            self.UT_MOD_BLED = '23'
Beispiel #15
0
 def __init__(self, console, config=None):
     Plugin.__init__(self, console, config)
     """:type: b3.plugins.admin.AdminPlugin """
     self._adminPlugin = None
     """:type: int """
     self._non_member_level = None
     """:type: bool """
     self._automation_enabled = None  # None if not installed, False if installed but disabled
     """:type: int """
     self._total_slots = None
     """:type: int """
     self._min_free_slots = None
     """:type: int """
     self._delay = None
     self._kick_in_progress = threading.Lock()
     """:type: int """
     self._retain_free_duration = 0
     """:type: dict """
     self._retain_free_slot_info = None
 def __init__(self, console, config=None):
     Plugin.__init__(self, console, config)
     """:type: b3.plugins.admin.AdminPlugin """
     self._adminPlugin = None
     """:type: int """
     self._non_member_level = None
     """:type: bool """
     self._automation_enabled = None  # None if not installed, False if installed but disabled
     """:type: int """
     self._total_slots = None
     """:type: int """
     self._min_free_slots = None
     """:type: int """
     self._delay = None
     self._kick_in_progress = threading.Lock()
     """:type: int """
     self._retain_free_duration = 0
     """:type: dict """
     self._retain_free_slot_info = None
Beispiel #17
0
    def __init__(self, console, config=None):
        Plugin.__init__(self, console, config)
        self._adminPlugin = self.console.getPlugin('admin')
        if not self._adminPlugin:
            raise AttributeError('could not find admin plugin')

        self._non_member_level = None
        """:type: int """
        self._automation_enabled = None  # None if not installed, False if installed but disabled
        """:type: bool """
        self._total_slots = None
        """:type: int """
        self._min_free_slots = None
        """:type: int """
        self._delay = None
        """:type: int """
        self._kick_in_progress = threading.Lock()
        self._retain_free_duration = 0
        """:type: int """
        self._retain_free_slot_info = None
        """:type: dict """
Beispiel #18
0
    def __init__(self, console, config=None):
        self._adminPlugin = None

        self.vote_interval = None
        self.nextmap_display_interval = None
        self.vote_duration = None
        self.vote_threshold = None
        self.number_of_vote_options = None
        self.exclude_current_map = None
        self.exclude_next_map = None
        self.map_options_pickup_strategy = None
        self.map_options_source_file = None

        self.current_vote_session = None
        self.current_vote_session_timer = None
        self.last_vote_start_time = None

        self.nextmap_timer = None
        self.game_modes_shortnames = {}

        Plugin.__init__(self, console, config)
Beispiel #19
0
    def __init__(self, console, config=None):
        Plugin.__init__(self, console, config)
        self._adminPlugin = self.console.getPlugin('admin')
        if not self._adminPlugin:
            raise AttributeError('could not find admin plugin')

        self._non_member_level = None
        """:type: int """
        self._automation_enabled = None  # None if not installed, False if installed but disabled
        """:type: bool """
        self._total_slots = None
        """:type: int """
        self._min_free_slots = None
        """:type: int """
        self._delay = None
        """:type: int """
        self._kick_in_progress = threading.Lock()
        self._retain_free_duration = 0
        """:type: int """
        self._retain_free_slot_info = None
        """:type: dict """
 def __init__(self, console, config=None):
     self._admin_plugin = None
     self.console = console
     #check if round is active or not
     self._active = False
     self._server_size = 16
     self._slots_when_empty = 16
     self._min_slots = 4
     #change roundStart/RestartPlayerCount
     self._do_rs = True
     self._do_change_maps = False
     self._do_end_round = True
     self._maps = {}
     self._maps_many = ''
     self._maps_few = ''
     self._maps_current = ''
     self._maps_load_error = {'few' : True, 'many' : True}
     self._maps_parsed = False
     self._maps_first_change = True
     self._border_many = 10
     self._border_few = 5
     Plugin.__init__(self, console, config)
    def __init__(self, console, config=None):
        """
        Build the plugin object.
        """
        Plugin.__init__(self, console, config)

        self.min_ingame_humans = 1
        """:type : int"""

        self.consecutive_deaths_threshold = 3
        """:type : int"""

        self.inactivity_threshold_second = 50
        """:type : int"""

        self.last_chance_delay = None
        """:type : int"""
        
        self.kick_reason = None
        """:type : str"""

        self.are_you_afk = None
        """:type : str"""

        self.suspicion_announcement = None
        """:type : str"""

        self.immunity_level = 100
        """:type : Timer"""

        self.check_timer = None
        """:type : int"""

        self.kick_timers = WeakKeyDictionary()
        """:type : dict[Client, threading.Timer]"""

        self.last_global_check_time = time()
        """:type : int"""
 def enable(self):
     """actions to take when the plugin is enabled"""
     if self._recording_all_players:
         self.start_recording_all_players()
     Plugin.enable(self)
 def __init__(self, console, config=None):
     self._delay = 40
     Plugin.__init__(self, console, config)
     wait_for_rcon_crontab = None
Beispiel #24
0
 def __init__(self, console, config=None):
     Plugin.__init__(self, console, config=config)
     self._messages = {}
     self.stub_method_call_count = 0
     self.stub_method2_call_count = 0
     self.onEvent_call_count = 0
 def __init__(self, console, config=None):
     self.advertise_on_map_change = ServermonitorPlugin.DEFAULT_ADVERTISE_ON_MAP_CHANGE
     self.servers = []
     self.advertisement_format = ServermonitorPlugin.DEFAULT_ADVERTISEMENT_FORMAT
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     self._adminPlugin = None
     self._re_valid_command_name = re.compile(r"^[a-z][\w]+$", re.IGNORECASE)
     self._re_argument_placeholder = re.compile(r"<ARG(?::(?P<type>[A-Z_]+)(?::(?P<property>.*?))?)?>")
     Plugin.__init__(self, console, config)
Beispiel #27
0
 def __init__(self, console, config=None):
     self.advertise_on_map_change = ServermonitorPlugin.DEFAULT_ADVERTISE_ON_MAP_CHANGE
     self.servers = []
     self.advertisement_format = ServermonitorPlugin.DEFAULT_ADVERTISEMENT_FORMAT
     Plugin.__init__(self, console, config)
 def __init__(self, console, config=None):
     self._delay = 30
     self._disable_vehicle_respawn_maps = []
     self._whitelist_gametypes = []
     Plugin.__init__(self, console, config)
Beispiel #29
0
    def startMap(self, mapName=None):
        if mapName:
            self.mapName = mapName

        self._mapTimeStart = self.console.time()

    def mapEnd(self):
        self._mapTimeStart = None
        
        
if __name__ == '__main__':
    from b3.plugin import Plugin
    from b3.fake import fakeConsole
    
    fakeplugin = Plugin(fakeConsole)
    def onEvent(event):
        if event.type == EVT_GAME_MAP_CHANGE:
            fakeConsole.debug("event EVT_GAME_MAP_CHANGE : %r" % event.data)
            fakeConsole.debug("previous map was %s" % event.data['old'])
            fakeConsole.debug("new map is %s" % event.data['new'])
    fakeplugin.onEvent = onEvent
    
    fakeConsole.registerHandler(EVT_GAME_MAP_CHANGE, fakeplugin)
    
    game = Game(fakeConsole, 'fakegamename')
    
    print('setting map name to map1...')
    game.mapName = 'map1'
    assert game.mapName == 'map1'
 def __init__(self, console, config=None):
     Plugin.__init__(self, console, config=config)
     self._messages = {}
     self.stub_method_call_count = 0
     self.stub_method2_call_count = 0
     self.onEvent_call_count = 0
Beispiel #31
0
 def disable(self):
     self.cancel_current_vote_session()
     self._cancel_nextmap_display_timer()
     Plugin.disable(self)
Beispiel #32
0
 def __init__(self, console, config=None):
     self.ident = None
     self.secret_key = None
     self.bf3stats_api = None
     self.age_triggering_player_update = 60 * 60 * 24 * 7
     Plugin.__init__(self, console, config)
Beispiel #33
0
 def enable(self):
     Plugin.enable(self)
     self._init_nextmap_display_timer()