set up playerdata db

setup roomlist.json
This commit is contained in:
2026-06-12 00:50:50 -05:00
parent 7f09944bf5
commit 709ce2c8f3
5 changed files with 63 additions and 6 deletions

16
api.py
View File

@@ -1,4 +1,11 @@
from flask import Flask
import json
rooms : dict
JsonWorldArrayFilePath = "db/roomlist.json"
app = Flask("RecForever.API")
@@ -6,4 +13,13 @@ app = Flask("RecForever.API")
def apiRoot():
pass
@app.route("/api/listworlds")
def getWorldList():
global rooms
with open(JsonWorldArrayFilePath, 'r') as WorldList:
list = json.load(WorldList)
rooms = list
return rooms
app.run(port=9902)

44
auth.py
View File

@@ -1,15 +1,47 @@
from flask import Flask, request, jsonify
players = {
"Dev": "Dev123"
}
from tinydb import TinyDB, Query
import os
import json
doesDBExist = False
if not os.path.exists("db/player.json"):
doesDBExist = False
else:
doesDBExist = True
PlayerDatabase = TinyDB("db/player.json")
if not doesDBExist:
PlayerDatabase.insert({"data": {"id": 0, "name": "Dev", "pass": "Dev123"}})
Users = Query()
def getUserData(username:str):
results = PlayerDatabase.search(Users.data.name == username)
if results:
pdata = results[0]["data"]
jstring = json.dumps(pdata)
j = json.loads(jstring)
return j
players = {}
app = Flask("RecForever.Auth")
@app.route("/login/byuid", methods=['POST'])
def login():
data = request.get_json()
username = data.get('username')
password = data.get('password')
if players[username] == password:
return jsonify({"status": "ok"}), 200
userData = getUserData(username)
if userData["pass"] == password:
return jsonify({"status": "ok", "uid": userData["id"]}), 200
else:
return jsonify({"status": "forbidden"}), 403
return jsonify({"status": "forbidden", "uid": userData["id"]}), 403
app.run(port=9904)

1
db/player.json Normal file
View File

@@ -0,0 +1 @@
{"_default": {"1": {"data": {"id": 0, "name": "Dev", "pass": "Dev123"}}}}

8
db/roomlist.json Normal file
View File

@@ -0,0 +1,8 @@
{
"rooms": {
"DormRoom": {
"SpaceID": "DormRoom",
"icon": "DormRoomImage.png"
}
}
}

BIN
db/spaces/DormRoom.pck Normal file

Binary file not shown.