Integrierter Webserver CORS ?

  • Hey red51,

    der Einfachheit halber in deutsch ;).
    Aktuell stellen wir die Frontend-Entwicklung in unserer Firma etwas um und lassen das Frontend von einer KI entwickeln. Um mit der KI ein wenig zu testen wollte ich einen kleinen Server-Manager für RW bauen, bei dem man die Query url also z.b. http://gs1.omega-zirkel.de:4254/ (http://82.165.51.138:4254/) in meinem Fall, hinzufügen kann um dann den Serverstatus und mehr zu sehen.

    Dabei ist mir aufgefallen das keine CORS header gesetzt sind, wäre das möglich diese zu setzen? gerne als server property. Cool wäre auch wenn man optional ein ssl Zertifikat hinterlegen könnte, klar kann ich einen nginx davor schalten der beides handhabt aber vielleicht wird der manager ja mal zu einem richtigen Projekt auch für andere (mit online map z.b.) daher wäre es gut wenn der "normale" server owner so wenig wie möglich zusätzlichen Aufwand betreiben müsste.

    PS: Sind die routen unter /game eigentlich schon implementiert? Gibt es dazu irgendwo eine info? Ich bekomme nur 403 mit dem Error WrongPasswordException 😅

  • Den CORS Header können wir auf jeden Fall noch setzen :) Werde das mit dem nächsten Update einbauen. Vmtl. macht es Sinn, das auch standardmäßig auf * zu setzen, aber man wird es dann auf jeden Fall auch über die server.properties einstellen können.


    Was SSL angeht, das ist leider etwas komplizierter: Grundsätzlich unterstützt der Webserver SSL und tatsächlich verwendet das auch die RCON-Implementation (auch wenn das RCON-Tool leider noch nicht verfügbar ist), aber für den normalen Serverquery würde das zusätzlichen Aufwand bedeuten, da das Spiel das entsprechend berücksichtigen müsste. Gleichzeitig wäre da aber auch eigentlich kein Sicherheitsgewinn, da mit dem Query ja ohnehin nur öffentlich zugängliche Daten abgerufen werden bzw keine sensiblen Daten ausgetauscht werden.


    Die Routen unter /game sind übrigens tatsächlich schon implementiert und auch teilweise in Verwendung ^^ Das ist im Grunde eine Zwischenlösung, damit der Client größere Daten vom Server erhalten kann (zB Bilder, Plugin-Assets, Map Tiles usw). Für die Abfrage wird ein Passwort benötigt, welches der Server pro Neustart festlegt und allen Clients mitteilt.

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!