def api_server_update(key, sid): # Get server database record server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) # Get server process mt = minetest.get_process(server.id) if not mt: return "offline" # Check authentication key if mt.key != key: return "auth" # Handle GETs if request.method == "GET": retval = mt.toserver mt.toserver = [] return json.dumps(retval) # Handle POSTs else: mt.process_data(json.loads(request.form["data"]), server) return "ok"
def api_server_update(key, sid): # Get server database record server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) # Get server process mt = minetest.get_process(server.id) if not mt: return "offline" # Check authentication key if mt.key != key: return "auth" # Handle GETs if request.method == "GET": retval = mt.toserver mt.toserver = [] return json.dumps(retval) # Handle POSTs else: mt.process_data(json.loads(request.form['data']), server) return "ok"
def server_kill(sid): server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) proc = minetest.get_process(server.id) if proc: proc.kill(server) return redirect(url_for('dashboard', sid=sid))
def server_stop(sid): server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) proc = minetest.get_process(server.id) if proc: proc.stop(current_user.username) return redirect(url_for('dashboard', sid=sid))
def __init__(self, sock, api, sid): asyncore.dispatcher_with_send.__init__(sock) self.key = key self.sid = sid self.server = models.Server.query.filter_by(id=sid).first() self.mt = minetest.get_process(server.id) if not mt: self.send("offline") if mt.key != key: self.send("auth")
def chat(sid): server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) status = minetest.status(server) if request.method == "GET": entries = models.ServerChatEntry.query.filter_by(serverId=sid).limit(30).all() return render_template('chat.html', user=current_user, server=server, status=status, entries=entries) else: proc = minetest.get_process(server.id) if proc: proc.send_chat_or_cmd(server, current_user.username, request.form['msg'], True) return redirect(url_for('chat', sid=sid))
def debuglog(sid): n = int(request.args.get('n') or 30) i = request.args.get('i') server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) status = minetest.status(server) proc = minetest.get_process(server.id) log = None if proc: log = proc.getEndOfLog(n, i) return render_template('debuglog.html', user=current_user, server=server, status=status, debuglog=log, n=n, inc=i)
def chat(sid): server = models.Server.query.filter_by(id=sid).first() if not server: abort(404) status = minetest.status(server) if request.method == "GET": entries = models.ServerChatEntry.query.filter_by( serverId=sid).limit(30).all() return render_template('chat.html', user=current_user, server=server, status=status, entries=entries) else: proc = minetest.get_process(server.id) if proc: proc.send_chat_or_cmd(server, current_user.username, request.form['msg'], True) return redirect(url_for('chat', sid=sid))