예제 #1
0
def main(args):
    qryr = SourceQuery(args[0], int(args[1]))
    
    sinfo = qryr.info()
    splayer = sorted(qryr.player(), key=lambda p: p['kills'], reverse=True)
    srules = qryr.rules()
    
    print sinfo['hostname']
    print '*' * len(sinfo['hostname'])
    print
    
    print "(" + ("Linux" if sinfo['os'] == 'l' else "Windows") + " server, version " + str(sinfo['version']) + (", passworded" if sinfo['passworded'] == 1 else ', unpassworded') + ")"
    print
    
    print str(sinfo['numplayers']) + " of " + str(sinfo['maxplayers']) + " players mooching about:"
    
    for p in splayer:
        pname = "<unnamed>" if p['name'] == "" else p['name']
        print " - " + pname + " (" + str(p['kills']) + " kills" + (" as they suck at this game" if p['kills'] == 0 else "") + ", connected for " + str(int(p['time'])) + "s)"
	
    print
    
    print "Current map is " + sinfo['map'] + ". Next is currently " + srules['sm_nextmap'] + "." + ("Learning through repetition!" if sinfo['map'] == srules['sm_nextmap'] else "")
    print
    
    print "Gravity is currently " + srules['sv_gravity']
    print
예제 #2
0
def ezq(adr, port):
    """
    ez-query, put in an ip/port, get out
    info, players, rules dictionaries.
    """
    srcquery = SQ(adr, int(port))
    players = srcquery.player()
    info = srcquery.info()
    rules = srcquery.rules()

    return info, players, rules
예제 #3
0
#!/usr/bin/python

from SourceQuery import SourceQuery
import sys

server = SourceQuery('91.121.95.23', 27013)
#print server.ping()
print server.info()
print server.player()
print server.rules()