Ich bin immer noch für Konzept überdenken...
z.B. die berechnung der Rohstoffe: mach die unabhängig vom logout.
schreib bei jedem login den loginzeitpunkt in die datei und berechne ausgehend vom letzten loginzeitpunkt die anzahl der rohstoffe unter berücksichtigung der ausgegebenen rohstoffe etc.
Das ist wichtig, falls sich mal ein spieler nicht ausloggt.
Sei mir nicht böse, aber ich werde deinen Code nicht überarbeiten - ich geb dir aber gerne hier und da anregungen.
Wichtig wäre auch, dass du alle berechnungen machst bevor du irgendwelche ausgaben an den browser sendest - so kannst du dir dann nämlich auch das aktualisieren der Seite spaaren - und was jetzt noch besser wäre:
arbeite mit MySQL statt Textdateien