async def query_rules(self, ctx):
     ip = await self.config.guild(ctx.guild).ip()
     query_port = await self.config.guild(ctx.guild).query_port()
     if ip and query_port:
         try:
             return a2s.rules((ip, int(query_port)), 2)
         except socket.timeout:
             await ctx.send("Connection timed out to server.")
             return None
         except socket.gaierror:
             await ctx.send("Invalid host address.")
             return None
     else:
         await ctx.send("IP and Port must be set.")
         return None
Exemple #2
0
    def update_rules(self):
        #a2s = valve.source.a2s.ServerQuerier((self.host, self.port))
        try:
            rules = a2s.rules((self.host, self.port))
            self.up = True
            self.save()
        #except valve.source.a2s.NoResponseError:
        except:
            self.up = False
            self.save()
            return False

        rule_models = []
        for cvar, value in rules.items():
            rule_models.append(Rule(
                server=self,
                cvar=cvar,
                value=str(value)
            ))
        self.rule_set.all().delete()
        Rule.objects.bulk_create(rule_models)
        return True
Exemple #3
0
 def update_rules(self):
     try:
         self.rules = a2s.rules(self.address)
     except (socket.timeout, OSError, a2s.exceptions.BrokenMessageError):
         print("%s: error updating rules" % self.name)
         self.rules = None
Exemple #4
0
 def get_rules(self):
     try:
         return a2s.rules(address)
     except (socket.timeout, OSError, a2s.exceptions.BrokenMessageError):
         return None
Exemple #5
0
 def get_rules(self):
     return a2s.rules(self.address)