Exemplo n.º 1
0
    def setupRcon(self, serverMessage=None):
        try:
            Events = None
            if self.arma_rcon:
                Events = self.arma_rcon.Events.copy()
            del self.arma_rcon
            self.arma_rcon = bec_rcon.ARC(
                self.rcon_settings["ip"], self.rcon_settings["password"],
                self.rcon_settings["port"],
                {'timeoutSec': self.rcon_settings["timeoutSec"]})
            if Events:
                #restore Event Handlers
                self.arma_rcon.Events = Events
            else:
                #Add Event Handlers
                self.arma_rcon.add_Event("received_ServerMessage",
                                         self.rcon_on_msg_received)
                self.arma_rcon.add_Event("on_disconnect",
                                         self.rcon_on_disconnect)

            if (serverMessage):
                self.arma_rcon.serverMessage = serverMessage
            else:
                #Extend the chat storage
                data = self.arma_rcon.serverMessage.copy()
                self.arma_rcon.serverMessage = deque(maxlen=500)  #Default: 100
                data.reverse()
                for d in data:
                    self.arma_rcon.serverMessage.append(d)
        except Exception as e:
            log.print_exc()
            log.error(e)
Exemplo n.º 2
0
    def setupRcon(self, serverMessage=None):
        self.arma_rcon = bec_rcon.ARC(
            self.rcon_settings["ip"], self.rcon_settings["password"],
            self.rcon_settings["port"],
            {'timeoutSec': self.rcon_settings["timeoutSec"]})

        #Add Event Handlers
        self.arma_rcon.add_Event("received_ServerMessage",
                                 self.rcon_on_msg_received)
        self.arma_rcon.add_Event("on_disconnect", self.rcon_on_disconnect)
        if (serverMessage):
            self.arma_rcon.serverMessage = serverMessage
        else:
            #Extend the chat storage
            data = self.arma_rcon.serverMessage.copy()
            self.arma_rcon.serverMessage = deque(maxlen=500)  #Default: 100
            data.reverse()
            for d in data:
                self.arma_rcon.serverMessage.append(d)
Exemplo n.º 3
0

# The execution of rcon commands is asynchronous and requires an "await" in an "async" function
# All commands are listed in BEC commands in rcon.py
async def main():
    print("Players:", await
          arma_rcon.getPlayersArray())  #get Array with all player on server
    await arma_rcon.listenForDataTask  # waits until on_disconnect
    print("Connection Lost")
    #arma_rcon.serverMessage         # Contains all recent messages (limit = 100) Format: [obj(datetime), Str(Message)]
    #arma_rcon.serverCommandData     # Contains all recent command returned data (limit = 10) Format: [obj(datetime), Str(Data)]
    #arma_rcon.disconnect()          # Disconnects the client
    #arma_rcon.connect()             # Logs back in


###################################################################################################
#####                                Main Program                                              ####
###################################################################################################

if __name__ == "__main__":
    ip = "000.000.000.000"  #Your Server IP
    pw = "Password"  #Your Rcon Password
    port = 3302  #Rcon Port

    arma_rcon = bec_rcon.ARC(ip, pw, port)
    arma_rcon.add_Event("received_ServerMessage", msg)
    arma_rcon.add_Event("on_disconnect", disco)

    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())