コード例 #1
0
def rip(key, username, password):
    login_url = 'http://minecraft.net/login.jsp'
    play_url = 'http://minecraft.net/play.jsp?server=%s'

    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    login_data = urllib.urlencode({'username': username, 'password': password})
    print ("Logging in...")
    opener.open(login_url, login_data)
    print ("Fetching server info...")
    html = opener.open(play_url % key).read()
    ip = re.search(r'param name\="server" value="([0-9.]+)"', html).groups()[0]
    port = int(re.search(r'param name\="port" value="([0-9]+)"', html).groups()[0])
    mppass = re.search(r'param name\="mppass" value="([0-9a-zA-Z]+)"', html).groups()[0]
    print ("Got details. Connecting...")
    f = RipFactory(username, mppass)
    reactor.connectTCP(ip, port, f)
    reactor.run()
コード例 #2
0
 def _checkIterationTimeout(self, reactor):
     timeout = []
     reactor.iterationTimeout.addCallback(timeout.append)
     reactor.iterationTimeout.addCallback(lambda ignored: reactor.stop())
     reactor.run()
     return timeout[0]
コード例 #3
0
ファイル: run.py プロジェクト: Hetal728/SMP-ClassiCube
controller = ControllerFactory(factory)
try:
    reactor.listenTCP(factory.config.getint("network", "port"), factory)
except:
    logging.log(logging.ERROR, "Something is already running on Port %s" % (factory.config.getint("network", "port")))
    sys.exit(1)
try:
    reactor.listenTCP(factory.config.getint("network", "controller_port"), controller)
except:
    logging.log(logging.ERROR, "Something is already running on Port %s" % (factory.config.getint("network", "controller_port")))
    sys.exit(1)
money_logger = logging.getLogger('TransactionLogger')
fh = logging.FileHandler('logs/server.log')
formatter = logging.Formatter("%(asctime)s: %(message)s")
fh.setFormatter(formatter)
# Add the handler
money_logger.addHandler(fh)

try:
    reactor.run()
finally:
    # Make sure worlds are flushed
    logging.log(logging.INFO, "Saving server metas...")
    factory.saveMeta()
    logging.log(logging.INFO, "Flushing worlds to disk...")
    for world in factory.worlds.values():
        logging.log(logging.INFO, "Saving: %s" % world.basename);
        world.stop()
        world.save_meta()
    sys.exit(1);
コード例 #4
0
        logging.ERROR, "Something is already running on Port %s" %
        (factory.config.getint("network", "port")))
    sys.exit(1)
try:
    reactor.listenTCP(factory.config.getint("network", "controller_port"),
                      controller)
except:
    logging.log(
        logging.ERROR, "Something is already running on Port %s" %
        (factory.config.getint("network", "controller_port")))
    sys.exit(1)
money_logger = logging.getLogger('TransactionLogger')
fh = logging.FileHandler('logs/server.log')
formatter = logging.Formatter("%(asctime)s: %(message)s")
fh.setFormatter(formatter)
# Add the handler
money_logger.addHandler(fh)

try:
    reactor.run()
finally:
    # Make sure worlds are flushed
    logging.log(logging.INFO, "Saving server metas...")
    factory.saveMeta()
    logging.log(logging.INFO, "Flushing worlds to disk...")
    for world in factory.worlds.values():
        logging.log(logging.INFO, "Saving: %s" % world.basename)
        world.stop()
        world.save_meta()
    sys.exit(1)
コード例 #5
0
 def _checkIterationTimeout(self, reactor):
     timeout = []
     reactor.iterationTimeout.addCallback(timeout.append)
     reactor.iterationTimeout.addCallback(lambda ignored: reactor.stop())
     reactor.run()
     return timeout[0]