diff --git a/server.py b/server.py index 11ef7ab..d8fd97f 100644 --- a/server.py +++ b/server.py @@ -1,20 +1,30 @@ +import time, json, re import flask -from flask import Flask, render_template +from flask import Flask from flask_socketio import SocketIO, send, emit, join_room, leave_room, has_request_context, disconnect -import datetime, time, json, re -PACKETS_PER_SECONDS = 30 - """ +## Notes from the python/flask port: + +Still to do: + +* NPC +* Language Filter +* Connection monitoring: PACKETS_PER_SECONDS +* serverMod.js! + +## Notes from original/node: + The client and server version strings MUST be the same! They can be used to force clients to hard refresh to load the latest client. If the server gets updated it can be restarted, but if there are active clients (users' open browsers) they could be outdated and create issues. If the VERSION vars are mismatched they will send all clients in an infinite refresh loop. Make sure you update sketch.js before restarting server.js + """ -VERSION = "1.0" -# TODO... +PACKETS_PER_SECONDS = 30 +VERSION = "1.0" with open("data.json") as datafile: DATA = json.load(datafile) @@ -39,7 +49,7 @@ gameState = { } # save the server startup time and send it in case the clients need to syncronize something -START_TIME = datetime.datetime.now() +START_TIME = int(time.time()*1000) # datetime.datetime.now() # a collection of banned IPs # not permanent, it lasts until the server restarts @@ -47,9 +57,8 @@ banned = [] app = Flask(__name__, static_url_path='', static_folder='public') -# self.add_url_rule(f"{self.static_url_path}/", endpoint="static", host=static_host, view_func=lambda **kw: self_ref().send_static_file(**kw), # type: ignore # noqa: B950) app.add_url_rule("/", view_func=lambda **kw: app.send_static_file("index.html", **kw)) -app.config['SECRET_KEY'] = 'secret!' +# app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) connections = 0