diff --git a/server_info/html/servers_info.html b/server_info/html/servers_info.html
index 33a1992..0b72b17 100644
--- a/server_info/html/servers_info.html
+++ b/server_info/html/servers_info.html
@@ -5,96 +5,131 @@
UNLOZE Server Status
-
UNLOZE Server Info
Loading servers...
diff --git a/server_info/python/README.md b/server_info/python/README.md
index c7d510e..08325e3 100644
--- a/server_info/python/README.md
+++ b/server_info/python/README.md
@@ -2,5 +2,6 @@ flask
flask_cors
waitress
werkzeug
+python-a2s
python app.py
diff --git a/server_info/python/app.py b/server_info/python/app.py
index 20d13a2..071472b 100644
--- a/server_info/python/app.py
+++ b/server_info/python/app.py
@@ -1,17 +1,37 @@
-#!/home/nonroot/update_xenforo_server_info/venv/bin/python3
-from flask import Flask
-from flask import request
-from flask_cors import CORS
-from werkzeug.middleware.proxy_fix import ProxyFix
-import traceback
-import json
-from pprint import pprint
-from settings import ips, file_path
-
-app = Flask(__name__)
-app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1)
+#!/home/nonroot/update_xenforo_server_info/venv/bin/python3
+from flask import Flask
+from flask import request
+from flask_cors import CORS
+from werkzeug.middleware.proxy_fix import ProxyFix
+import traceback
+import json
+from pprint import pprint
+import a2s
+from settings import ips, file_path
+
+app = Flask(__name__)
+app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1)
CORS(app)
+#AI slop
+def get_player_list(ip, port):
+ address = (ip, int(port))
+ try:
+ # Get player information
+ players = a2s.players(address)
+
+ player_data = []
+ for p in players:
+ player_data.append({
+ "name": p.name,
+ "score": p.score,
+ "duration": p.duration # Seconds they've been online
+ })
+ return player_data
+ except Exception as e:
+ print(f"Error querying server: {e}")
+ return []
+
#nginx used for reserve proxy
@app.route('/', methods = ['POST'])
def get_server_info():
@@ -30,7 +50,8 @@ def get_server_info():
map_ = server.split("**")[1].split(" ")[0]
players = server.split("(")[1].split(")")[0]
ip = server.split("\n[")[1].split("]")[0]
- j = {"name": name, "map": map_, "players": players, "ip": ip}
+ d = get_player_list(ip.split(":")[0], ip.split(":")[1])
+ j = {"name": name, "map": map_, "players": players, "ip": ip, "player_infos": d}
new_j.append(j)
#print(new_j)