What: _build_view in routes/players.py re-reads server.properties, whitelist.json, and ops.json on every render.
Why: Acceptable at today's scale (<10 servers) but the read pattern will hurt once that grows or once anyone hits this surface repeatedly.
Approach: Cache each file by (path, mtime). Trivial wrapper. Invalidates naturally on edit.
What:
_build_viewinroutes/players.pyre-readsserver.properties,whitelist.json, andops.jsonon every render.Why: Acceptable at today's scale (<10 servers) but the read pattern will hurt once that grows or once anyone hits this surface repeatedly.
Approach: Cache each file by (path, mtime). Trivial wrapper. Invalidates naturally on edit.