mirror of
https://github.com/wolfswolke/DeathGarden_API_Rebirth.git
synced 2026-03-22 02:04:09 -05:00
Moved Catalog, Eula, Game news, ... to JSON Folder.
This commit is contained in:
parent
e42f827d0f
commit
be1b1e73e4
|
|
@ -17,44 +17,13 @@ def gamenews():
|
|||
faction = request.args.get('faction')
|
||||
playerLevel = request.args.get('playerLevel')
|
||||
print("Responded to game news api call GET")
|
||||
return jsonify({"data": [
|
||||
{
|
||||
"Id": "1",
|
||||
"MessageType": "Daily",
|
||||
"IsOneTimeGameNews": False,
|
||||
"ShouldQuitTheGame": False,
|
||||
"OnlyForPlayersThatCompletedAtLeastOneMatch": False,
|
||||
"RedirectMode": "None",
|
||||
"EmbeddedBackgroundImage": "game/UI/ImageAssets/NewsAssets/GeneralAnnouncement_Large",
|
||||
"EmbeddedInGameNewsBackgroundImage": "game/UI/ImageAssets/NewsAssets/ClosedAlphaWelcomeBanner",
|
||||
"EmbeddedInGameNewsThumbnailImage": "game/UI/ImageAssets/NewsAssets/CrossPromo",
|
||||
"FromDate": 1655511433,
|
||||
"ToDate": 1718669833,
|
||||
"Translations": [
|
||||
{
|
||||
"Language": "EN",
|
||||
"Body": "Test EN"
|
||||
},
|
||||
{
|
||||
"Language": "FR",
|
||||
"Body": "Test Fr"
|
||||
},
|
||||
{
|
||||
"Language": "IT",
|
||||
"Body": "Test IT"
|
||||
},
|
||||
{
|
||||
"Language": "ES",
|
||||
"Body": "Test Es"
|
||||
}
|
||||
]
|
||||
}
|
||||
]})
|
||||
output = json.load(open(os.path.join(app.root_path, "json", "placeholders", "gamenews.json"), "r"))
|
||||
return jsonify(output)
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-Game-News", message=f"Error in gamenews: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-Game-News", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/config/VER_LATEST_CLIENT_DATA", methods=["GET"])
|
||||
|
|
@ -67,7 +36,7 @@ def config_ver_latest_client_data():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-ver-latest-data", message=f"Error in config_ver_latest_client_data: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-ver-latest-data", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/utils/contentVersion/latest/<version>", methods=["GET"])
|
||||
|
|
@ -81,7 +50,7 @@ def content_version_latest(version):
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-content-version", message=f"Error in content_version_latest: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-content-version", message=e)
|
||||
|
||||
|
||||
@app.route("/gameservers.dev", methods=["POST", "GET"])
|
||||
|
|
@ -95,7 +64,7 @@ def gameservers_dev():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-gameserver-dev", message=f"Error in gameservers_dev: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-gameserver-dev", message=e)
|
||||
|
||||
|
||||
@app.route("/gameservers.uat", methods=["POST"])
|
||||
|
|
@ -125,7 +94,7 @@ def gameservers_live():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-gameserver-dev", message=f"Error in gameservers_dev: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-gameserver-dev", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/config/UseMirrorsMM_Steam", methods=["GET"]) # What is this even???
|
||||
|
|
@ -138,7 +107,7 @@ def config_use_mirrors_mm_steam():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-use-mirrors-mm-steam", message=f"Error in config_use_mirrors_mm_steam: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-use-mirrors-mm-steam", message=e)
|
||||
|
||||
|
||||
@app.route("/crashreport/unreal/CrashReporter/Ping", methods=["GET"])
|
||||
|
|
@ -151,7 +120,7 @@ def crashreporter_ping():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-crashreporter-ping", message=f"Error in crashreporter_ping: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-crashreporter-ping", message=e)
|
||||
|
||||
|
||||
@app.route("/tex", methods=["GET"])
|
||||
|
|
@ -163,7 +132,7 @@ def tex_get():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-tex", message=f"Error in tex_get: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-tex", message=e)
|
||||
|
||||
|
||||
@app.route('/favicon.ico')
|
||||
|
|
@ -176,7 +145,7 @@ def favicon():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-favicon", message=f"Error in favicon: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-favicon", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/healthcheck", methods=["GET"])
|
||||
|
|
@ -184,13 +153,13 @@ def healthcheck():
|
|||
get_remote_ip()
|
||||
try:
|
||||
# return jsonify({"status": "success", "online": "true"})
|
||||
return jsonify({"PublicIp": "192.168.1.1", "KrakenVersion": "3.6.1", "Kraken": [{"Running": False, "Errors": {}}]})
|
||||
return jsonify({"Health": "Alive"})
|
||||
# {"Health": "Alive"}
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-healthcheck", message=f"Error in healthcheck: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-healthcheck", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/services/tex")
|
||||
|
|
@ -206,7 +175,7 @@ def services_tex():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-services-tex", message=f"Error in services_tex: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-services-tex", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/consent/eula2", methods=["PUT", "GET"])
|
||||
|
|
@ -234,7 +203,7 @@ def consent_eula():
|
|||
else:
|
||||
return jsonify({"isGiven": False})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-consent-eula", message=f"Error in consent_eula: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-consent-eula", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/consent/eula", methods=["GET"])
|
||||
|
|
@ -242,14 +211,13 @@ def consent_eula0():
|
|||
get_remote_ip()
|
||||
try:
|
||||
print("Responded to consent eula api call GET")
|
||||
return jsonify({"id": "eula", "language": ["de", "en", "es", "es-MX", "fr", "it", "ja", "ko", "nl", "pl",
|
||||
"pt-BR", "ru", "sv", "th", "tr", "zh-Hans", "zh-Hant"],
|
||||
"platform": ["steam", "xbox", "xsx", "switch", "grdk", "stadia"]}) # Don't know. Added as Placeholder.
|
||||
output = json.load(open(os.path.join(app.root_path, "json", "eula.json"), "r"))
|
||||
return jsonify(output)
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-consent-eula0", message=f"Error in consent_eula0: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-consent-eula0", message=e)
|
||||
|
||||
|
||||
@app.route("/api/v1/consent/privacyPolicy", methods=["GET"])
|
||||
|
|
@ -257,14 +225,13 @@ def privacy_policy():
|
|||
get_remote_ip()
|
||||
try:
|
||||
print("Responded to consent privacyPolicy api call GET")
|
||||
return jsonify({"id":"privacy","language":["de","en","es","es-MX","fr","it","ja","ko","nl","pl","pt-BR","ru",
|
||||
"sv","th","tr","zh-Hans","zh-Hant"],
|
||||
"platform":["steam","xbox","xsx","switch","grdk","ps4","ps5","stadia"]})
|
||||
output = json.load(open(os.path.join(app.root_path, "json", "eula.json"), "r"))
|
||||
return jsonify(output)
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-privacy-policy", message=f"Error in consent_eula0: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-privacy-policy", message=e)
|
||||
|
||||
|
||||
@app.route("/file/<game_version>/<seed>/<map_name>", methods=["POST", "GET"])
|
||||
|
|
@ -299,16 +266,8 @@ def leaderboard_get_scores():
|
|||
if request.method == "POST":
|
||||
print("Responded to leaderboard getScores api call POST")
|
||||
logger.graylog_logger(level="info", handler="general-leaderboard-get-scores", message=f"Leaderboard getScores: {request.get_json()}")
|
||||
return jsonify({"TopScores":{"Scores":[{"playerID": "a-1-b-2", "PlayerName": "Hans", "Rank": 1, "Score": 10, "Percentile": 1},
|
||||
{"playerID": "a-2-b-2", "PlayerName": "Peter", "Rank": 2, "Score": 9, "Percentile": 2},
|
||||
{"playerID": "a-3-b-3", "PlayerName": "Lukas", "Rank": 3, "Score": 8, "Percentile": 3},
|
||||
{"playerID": "a-4-b-4", "PlayerName": "Jonas", "Rank": 4, "Score": 7, "Percentile": 4},
|
||||
{"playerID": "a-5-b-5", "PlayerName": "Mark", "Rank": 5, "Score": 6, "Percentile": 5}]},
|
||||
"PlayerScores": {"Scores":[{"playerID": "a-1-b-2", "PlayerName": "Hans", "Rank": 1, "Score": 10, "Percentile": 1},
|
||||
{"playerID": "a-2-b-2", "PlayerName": "Peter", "Rank": 2, "Score": 9, "Percentile": 2},
|
||||
{"playerID": "a-3-b-3", "PlayerName": "Lukas", "Rank": 3, "Score": 8, "Percentile": 3},
|
||||
{"playerID": "a-4-b-4", "PlayerName": "Jonas", "Rank": 4, "Score": 7, "Percentile": 4},
|
||||
{"playerID": "a-5-b-5", "PlayerName": "Mark", "Rank": 5, "Score": 6, "Percentile": 5}]}})
|
||||
data = json.load(open(os.path.join(app.root_path, "json", "placeholders", "leaderboard.json"), "r"))
|
||||
return jsonify(data)
|
||||
else:
|
||||
try:
|
||||
print("Responded to leaderboard getScores api call GET")
|
||||
|
|
@ -317,7 +276,7 @@ def leaderboard_get_scores():
|
|||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
except Exception as e:
|
||||
logger.graylog_logger(level="error", handler="general-leaderboard-get-scores", message=f"Error in leaderboard_get_scores: {e}")
|
||||
logger.graylog_logger(level="error", handler="general-leaderboard-get-scores", message=e)
|
||||
|
||||
|
||||
@app.route("/submit/", methods=["POST"])
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
from flask_definitions import *
|
||||
import json
|
||||
import os
|
||||
|
||||
|
||||
# Do NOT change Result to ANYTHING or Add anything before it. Game will crash. Doesnt mean it 100% works tho XD
|
||||
|
|
@ -9,7 +7,6 @@ def catalog_get(game_version):
|
|||
print("Game Version of Catalog: " + game_version)
|
||||
get_remote_ip()
|
||||
try:
|
||||
# output = json.load(open(os.path.join(app.root_path, "catalog", game_version, "catalog.json"), "r"))
|
||||
output = json.load(open(os.path.join(app.root_path, "json", "catalog", game_version, "catalog.json"), "r"))
|
||||
return jsonify(output)
|
||||
|
||||
|
|
@ -21,5 +18,6 @@ def catalog_get(game_version):
|
|||
|
||||
|
||||
@app.errorhandler(404)
|
||||
def debug_404(e):
|
||||
def debug_404():
|
||||
logger.graylog_logger(level="error", handler="404-handler", message=f"Path: {request.path} Endpoint: {request.endpoint}")
|
||||
return jsonify({"message": "Endpoint not found"}), 404
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import time
|
||||
|
||||
from flask_definitions import *
|
||||
import requests
|
||||
from logic.mongodb_handler import mongo
|
||||
|
|
@ -250,6 +252,7 @@ def progression_groups():
|
|||
get_remote_ip()
|
||||
try:
|
||||
print("Responded to progression groups api call GET")
|
||||
return jsonify({"ObjectId": "FSTRING", "Version": 11, "SchemaVersion": 11, "Data": {}})
|
||||
return jsonify({"List": [{"ObjectId": "Runner.Sawbones",
|
||||
"SchemaVersion": 11111111,
|
||||
"Version": 11111111,
|
||||
|
|
@ -274,15 +277,28 @@ def ban_status():
|
|||
get_remote_ip()
|
||||
login_cookie = request.cookies.get("bhvrSession")
|
||||
try:
|
||||
ban_data = mongo.get_data_with_list(login=login_cookie, login_steam=False, items={"is_banned", "ban_reason", "ban_start", "ban_expire"}, server=mongo_host, db=mongo_db, collection=mongo_collection)
|
||||
time.sleep(0.5)
|
||||
ban_data = mongo.get_data_with_list(login=login_cookie, login_steam=False,
|
||||
items={"is_banned", "ban_reason", "ban_start", "ban_expire"},
|
||||
server=mongo_host, db=mongo_db, collection=mongo_collection)
|
||||
if ban_data == None:
|
||||
print("Error in ban_data_database")
|
||||
return jsonify({"status": "error"})
|
||||
return jsonify({"IsBanned": ban_data["is_banned"], "BanInfo": {"BanPeriod": 10,
|
||||
elif ban_data["is_banned"] == True:
|
||||
return jsonify({"IsBanned": ban_data["is_banned"], "BanInfo": {"BanPeriod": 10,
|
||||
"BanReason": ban_data["ban_reason"],
|
||||
"BanStart": ban_data["ban_start"],
|
||||
"BanEnd": ban_data["ban_expire"],
|
||||
"Confirmed": True, "Pending": False}})
|
||||
"Confirmed": False, "Pending": False}})
|
||||
elif ban_data["is_banned"] == False:
|
||||
return jsonify({"IsBanned": ban_data["is_banned"], "BanInfo": {"BanPeriod": 0,
|
||||
"BanReason": "None",
|
||||
"BanStart": 0,
|
||||
"BanEnd": 0,
|
||||
"Confirmed": False, "Pending": False}})
|
||||
else:
|
||||
print("Error in ban_data_database")
|
||||
return jsonify({"status": "error"})
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
|
|
@ -386,11 +402,8 @@ def messages_list():
|
|||
get_remote_ip()
|
||||
try:
|
||||
limit = request.args.get("limit")
|
||||
return jsonify({"Messages": [{"Received": 1687192383, "Flag": "Reliable", "Message":
|
||||
{"Title": "Message from the Rebirth Team.", "Body": "Welcome to Project Deathgarden Rebirth! The goal of "
|
||||
"this Project is to rebuild the Deathgarden API. "
|
||||
"For more Info visit our Github Repo!", "Claimable": [{}]}, "Tag": "Direct", "ExpireAt": 1787192383,
|
||||
"Origin": "Warning", "RecipientId": "6969696969696969"}], "NetPage": "None"})
|
||||
output = json.load(open(os.path.join(app.root_path, "json", "placeholders", "messages.json"), "r"))
|
||||
return jsonify(output)
|
||||
except TimeoutError:
|
||||
print("Timeout error")
|
||||
return jsonify({"status": "error"})
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
from flask import Flask, jsonify, request, send_from_directory, abort, render_template, url_for
|
||||
from logic.global_handlers import get_remote_ip, load_config
|
||||
from logic.logging_handler import logger
|
||||
import json
|
||||
import os
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
30
src/json/eula.json
Normal file
30
src/json/eula.json
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"id":"eula",
|
||||
"language":[
|
||||
"de",
|
||||
"en",
|
||||
"es",
|
||||
"es-MX",
|
||||
"fr",
|
||||
"it",
|
||||
"ja",
|
||||
"ko",
|
||||
"nl",
|
||||
"pl",
|
||||
"pt-BR",
|
||||
"ru",
|
||||
"sv",
|
||||
"th",
|
||||
"tr",
|
||||
"zh-Hans",
|
||||
"zh-Hant"
|
||||
],
|
||||
"platform":[
|
||||
"steam",
|
||||
"xbox",
|
||||
"xsx",
|
||||
"switch",
|
||||
"grdk",
|
||||
"stadia"
|
||||
]
|
||||
}
|
||||
35
src/json/placeholders/gamenews.json
Normal file
35
src/json/placeholders/gamenews.json
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"data":[
|
||||
{
|
||||
"Id":"1",
|
||||
"MessageType":"Daily",
|
||||
"IsOneTimeGameNews":false,
|
||||
"ShouldQuitTheGame":false,
|
||||
"OnlyForPlayersThatCompletedAtLeastOneMatch":false,
|
||||
"RedirectMode":"None",
|
||||
"EmbeddedBackgroundImage":"game/UI/ImageAssets/NewsAssets/GeneralAnnouncement_Large",
|
||||
"EmbeddedInGameNewsBackgroundImage":"game/UI/ImageAssets/NewsAssets/ClosedAlphaWelcomeBanner",
|
||||
"EmbeddedInGameNewsThumbnailImage":"game/UI/ImageAssets/NewsAssets/CrossPromo",
|
||||
"FromDate":1655511433,
|
||||
"ToDate":1718669833,
|
||||
"Translations":[
|
||||
{
|
||||
"Language":"EN",
|
||||
"Body":"Test EN"
|
||||
},
|
||||
{
|
||||
"Language":"FR",
|
||||
"Body":"Test Fr"
|
||||
},
|
||||
{
|
||||
"Language":"IT",
|
||||
"Body":"Test IT"
|
||||
},
|
||||
{
|
||||
"Language":"ES",
|
||||
"Body":"Test Es"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
80
src/json/placeholders/leaderboard.json
Normal file
80
src/json/placeholders/leaderboard.json
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"TopScores":{
|
||||
"Scores":[
|
||||
{
|
||||
"playerID":"a-1-b-2",
|
||||
"PlayerName":"Hans",
|
||||
"Rank":1,
|
||||
"Score":10,
|
||||
"Percentile":1
|
||||
},
|
||||
{
|
||||
"playerID":"a-2-b-2",
|
||||
"PlayerName":"Peter",
|
||||
"Rank":2,
|
||||
"Score":9,
|
||||
"Percentile":2
|
||||
},
|
||||
{
|
||||
"playerID":"a-3-b-3",
|
||||
"PlayerName":"Lukas",
|
||||
"Rank":3,
|
||||
"Score":8,
|
||||
"Percentile":3
|
||||
},
|
||||
{
|
||||
"playerID":"a-4-b-4",
|
||||
"PlayerName":"Jonas",
|
||||
"Rank":4,
|
||||
"Score":7,
|
||||
"Percentile":4
|
||||
},
|
||||
{
|
||||
"playerID":"a-5-b-5",
|
||||
"PlayerName":"Mark",
|
||||
"Rank":5,
|
||||
"Score":6,
|
||||
"Percentile":5
|
||||
}
|
||||
]
|
||||
},
|
||||
"PlayerScores":{
|
||||
"Scores":[
|
||||
{
|
||||
"playerID":"a-1-b-2",
|
||||
"PlayerName":"Hans",
|
||||
"Rank":1,
|
||||
"Score":10,
|
||||
"Percentile":1
|
||||
},
|
||||
{
|
||||
"playerID":"a-2-b-2",
|
||||
"PlayerName":"Peter",
|
||||
"Rank":2,
|
||||
"Score":9,
|
||||
"Percentile":2
|
||||
},
|
||||
{
|
||||
"playerID":"a-3-b-3",
|
||||
"PlayerName":"Lukas",
|
||||
"Rank":3,
|
||||
"Score":8,
|
||||
"Percentile":3
|
||||
},
|
||||
{
|
||||
"playerID":"a-4-b-4",
|
||||
"PlayerName":"Jonas",
|
||||
"Rank":4,
|
||||
"Score":7,
|
||||
"Percentile":4
|
||||
},
|
||||
{
|
||||
"playerID":"a-5-b-5",
|
||||
"PlayerName":"Mark",
|
||||
"Rank":5,
|
||||
"Score":6,
|
||||
"Percentile":5
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
22
src/json/placeholders/messages.json
Normal file
22
src/json/placeholders/messages.json
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"Messages":[
|
||||
{
|
||||
"Received":1687192383,
|
||||
"Flag":"Reliable",
|
||||
"Message":{
|
||||
"Title":"Message from the Rebirth Team.",
|
||||
"Body":"Welcome to Project Deathgarden Rebirth! The goal of this Project is to rebuild the Deathgarden API. For more Info visit our Github Repo!",
|
||||
"Claimable":[
|
||||
{
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
"Tag":"Direct",
|
||||
"ExpireAt":1787192383,
|
||||
"Origin":"Warning",
|
||||
"RecipientId":"6969696969696969"
|
||||
}
|
||||
],
|
||||
"NetPage":"None"
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user