Skip to content

Instantly share code, notes, and snippets.

@vemacs
Created June 5, 2016 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vemacs/210a06a98da51e468470f4d17be19910 to your computer and use it in GitHub Desktop.
Save vemacs/210a06a98da51e468470f4d17be19910 to your computer and use it in GitHub Desktop.
import mcserver, time, threading
from bottle import route, run, response, hook
server = mcserver.McServer('play.primemc.org', 25565)
def schedule_update():
threading.Timer(1, schedule_update).start()
threading.Thread(target=lambda: server.Update()).start()
@hook('after_request')
def enable_cors():
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'PUT, GET, POST, DELETE, OPTIONS'
response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token'
@route('/count')
def index():
count = server.num_players_online
if server.available:
return {"players": {"online": count}}
else:
return {"players": {"online": None}}
schedule_update()
try:
run(host='localhost', port=8082)
except KeyboardInterrupt:
sys.exit(0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment