adding support for playerlist info

This commit is contained in:
jenz
2026-02-13 21:48:37 +01:00
parent 4c88546d35
commit 8977cccbff
3 changed files with 134 additions and 77 deletions
+34 -13
View File
@@ -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)