diff --git a/requirements.txt b/requirements.txt index 51fbdaf4..f64e3932 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ PyNaCl>=1.3.0 werkzeug>=0.15.4 flask>=1.0.3 markdown2>=2.3.8 +mcstatus>=2.2.1 diff --git a/royalnet/royalgamesweb.py b/royalnet/royalgamesweb.py index 7e912ff8..2339b329 100644 --- a/royalnet/royalgamesweb.py +++ b/royalnet/royalgamesweb.py @@ -8,7 +8,7 @@ class TestConfig: TG_AK = os.environ["TG_AK"] -app = create_app(TestConfig, [rp_home, rp_wikiview, rp_tglogin, rp_docs, rp_wikiedit]) +app = create_app(TestConfig, [rp_home, rp_wikiview, rp_tglogin, rp_docs, rp_wikiedit, rp_mcstatus]) if __name__ == "__main__": diff --git a/royalnet/web/royalprints/__init__.py b/royalnet/web/royalprints/__init__.py index 5a4c8d0d..2b65ff79 100644 --- a/royalnet/web/royalprints/__init__.py +++ b/royalnet/web/royalprints/__init__.py @@ -5,5 +5,6 @@ from .wikiview import rp as rp_wikiview from .tglogin import rp as rp_tglogin from .docs import rp as rp_docs from .wikiedit import rp as rp_wikiedit +from .mcstatus import rp as rp_mcstatus -__all__ = ["rp_home", "rp_wikiview", "rp_tglogin", "rp_docs", "rp_wikiedit"] +__all__ = ["rp_home", "rp_wikiview", "rp_tglogin", "rp_docs", "rp_wikiedit", "rp_mcstatus"] diff --git a/royalnet/web/royalprints/mcstatus/__init__.py b/royalnet/web/royalprints/mcstatus/__init__.py new file mode 100644 index 00000000..50c723a5 --- /dev/null +++ b/royalnet/web/royalprints/mcstatus/__init__.py @@ -0,0 +1,29 @@ +"""Minecraft server status :py:class:`royalnet.web.Royalprint`.""" +import os +import flask as f +import socket +from ... import Royalprint +from mcstatus import MinecraftServer + + +tmpl_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates') +rp = Royalprint("mcstatus", __name__, url_prefix="/mcstatus", template_folder=tmpl_dir) + + +@rp.route("/") +def mcstatus_index(server_str: str): + try: + if ":" not in server_str: + server_str += ":25565" + server = MinecraftServer.lookup(server_str) + status = server.status() + try: + query = server.query() + except (socket.timeout, ConnectionRefusedError, OSError): + query = None + except socket.gaierror: + return "No such address", 404 + except (socket.timeout, ConnectionRefusedError, OSError): + status = None + query = None + return f.render_template("mcstatus.html", server_str=server_str, status=status, query=query) diff --git a/royalnet/web/royalprints/mcstatus/templates/mcstatus.html b/royalnet/web/royalprints/mcstatus/templates/mcstatus.html new file mode 100644 index 00000000..147dba9f --- /dev/null +++ b/royalnet/web/royalprints/mcstatus/templates/mcstatus.html @@ -0,0 +1,54 @@ +{% extends "base.html" %} + +{% block title %} + {{ server_str }} - RYG MCstatus +{% endblock %} + +{% block content %} +
+
+ Minecraft Status +
+
+
+ {% if query %} + {% if status.favicon %} +
Server icon
+ {% else %} +
+ {% endif %} +
{{ server_str }}
+
{{ query.motd }}
+
{{ query.players.online }}/{{ query.players.max }}
+
{{ query.software.brand }} {{ query.software.version }} ({{ status.version.protocol }})
+ {% elif status %} + {% if status.favicon %} +
Server icon
+ {% else %} +
+ {% endif %} +
{{ server_str }}
+
{{ status.description }}
+
{{ status.players.online }}/{{ status.players.max }}
+
{{ status.version.name }} ({{ status.version.protocol }})
+ {% else %} +
+
{{ server_str }}
+
-
+
0/0
+
Offline (-)
+ {% endif %} +
+ {% if query %} +
+

Giocatori connessi:

+
    + {% for player in query.players.names %} +
  • {{ player }}
  • + {% endfor %} +
+
+ {% endif %} +
+
+{% endblock %} \ No newline at end of file diff --git a/royalnet/web/static/ryg.css b/royalnet/web/static/ryg.css index 7b50d657..d239a892 100644 --- a/royalnet/web/static/ryg.css +++ b/royalnet/web/static/ryg.css @@ -513,4 +513,48 @@ button[disabled=""] { .wikiedit-form .CodeMirror .cm-header { color: #ffffff !important; } +.mcstatus-grid { + display: grid; + grid-template-columns: 64px auto auto; + grid-column-gap: 12px; + align-items: center; +} +.mcstatus-grid .mcstatus-icon { + grid-column: 1; + grid-row-start: 1; + grid-row-end: 3; + width: 64px; + height: 64px; +} +.mcstatus-grid .mcstatus-icon .mcstatus-icon-img { + width: 64px; + height: 64px; +} +.mcstatus-grid .mcstatus-address { + font-weight: bold; + grid-column: 2; + justify-self: start; + grid-row: 1; +} +.mcstatus-grid .mcstatus-address .server-up { + color: #7dff7d; +} +.mcstatus-grid .mcstatus-address .server-down { + color: #ff7d7d; +} +.mcstatus-grid .mcstatus-description { + grid-column: 2; + justify-self: start; + grid-row: 2; +} +.mcstatus-grid .mcstatus-players { + grid-column: 3; + justify-self: end; + grid-row: 1; +} +.mcstatus-grid .mcstatus-version { + grid-column: 3; + justify-self: end; + grid-row: 2; +} /*# sourceMappingURL=ryg.css.map */ \ No newline at end of file diff --git a/royalnet/web/static/ryg.css.map b/royalnet/web/static/ryg.css.map index a5e2e653..41f70a7f 100644 --- a/royalnet/web/static/ryg.css.map +++ b/royalnet/web/static/ryg.css.map @@ -1 +1 @@ -{"version":3,"sources":["ryg.less"],"names":[],"mappings":"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","file":"ryg.css"} \ No newline at end of file +{"version":3,"sources":["ryg.less"],"names":[],"mappings":"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","file":"ryg.css"} \ No newline at end of file diff --git a/royalnet/web/static/ryg.less b/royalnet/web/static/ryg.less index a46e3a70..661139c6 100644 --- a/royalnet/web/static/ryg.less +++ b/royalnet/web/static/ryg.less @@ -621,3 +621,59 @@ nav { } } + +.mcstatus-grid { + display: grid; + + grid-template-columns: 64px auto auto; + grid-column-gap: 12px; + + align-items: center; + + .mcstatus-icon { + grid-column: 1; + grid-row-start: 1; + grid-row-end: 3; + width: 64px; + height: 64px; + + .mcstatus-icon-img { + width: 64px; + height: 64px; + } + } + + .mcstatus-address { + font-weight: bold; + + grid-column: 2; + justify-self: start; + grid-row: 1; + + .server-up { + color: @pastel-lime; + } + + .server-down { + color: @pastel-red; + } + } + + .mcstatus-description { + grid-column: 2; + justify-self: start; + grid-row: 2; + } + + .mcstatus-players { + grid-column: 3; + justify-self: end; + grid-row: 1; + } + + .mcstatus-version { + grid-column: 3; + justify-self: end; + grid-row: 2; + } +}