[Server Plugin] Rising Maps v0.2.0

    We've posted an important announcement regarding the current situation and the future of the game: Announcement

    • [Server Plugin] Rising Maps v0.2.0

      Intro
      DE:

      Hallo zusammen,

      heute möchte ich mein kleines Plugin "Rising Maps" vorstellen. Es dient dazu die Ingame-Map Karten der Spieler auf einem Server zu sammeln und auf dem Server abzulegen.
      Mit einer weiteren Komponente "MapRenderer" (siehe "Renderer") können diese Rohdaten dann in Bilder für eine online-map umgewandelt werden.
      Die fertigen Bilder können dann online mit Komponente 3 "WebMap" (siehe "WebComponent") im Browser angesehen werden (Beispiel mein Server: rwmap.omega-zirkel.de/)

      EN:

      Hello everybody,

      Today I want to introduce my little plugin "Rising Maps". Its goal is to collect the in-game map tiles of all the players on a server and place them on the game-server.
      With another component "MapRenderer" (see "Renderer"), this raw data can then be converted into images for an online map.
      The rendered images can then be viewed online with component 3 "WebMap" (see "WebComponent") in the browser (for example my server: rwmap.omega-zirkel.de/)

      Plugin
      DE:

      Das Plugin wie gewohnt in das plugin Verzeichnis eures Servers kopieren, bitte nicht vergessen auch den shared Ordner aus dem shared-x.x.x.zip in euer plugin Ordner zu entpacken.
      Wer will kann in den properties.settings noch tileRoot und webURL einstellen, per standard landen alle raw Dateien von den Spielern im plugin Unterordner tiles

      Das Plugin sammelt alle Karten-Daten sobald diese bei den Spielern gerendert werden und kopiert diese auf den Server.

      EN:

      The Plugin can be extracted as usual into your servers plugin directory, don't forget to extract the shared zip as well into your plugins directory (this is used by other Plugins too)
      If you like you can than change tileRoot and webURL in your properties.settings. By default all tiles will be saved in the sub-directory tiles of the Plugin directory.

      The plugin fetches all map data from players when they got rendered on the client and copies them over to a local directory on the server.

      Renderer
      DE:

      Der Renderer ist ein Node.js basiertes Programm, aktuell gibt es nur den weg für "Experten", ihr müßt dazu auf eurem game-server node.js (10) mit typescript installieren, euch das repository über git (muss ggf. auch installiert werden) clonen (am besten unter /srv/apps/...) und dann mit npm i;tsc;./app-init.sh die Abhängigkeiten installieren, den code Kompilieren und den service initialisieren. Ihr braucht dafür ggf. root Rechte auf eurem Server. Kopiert euch noch die ./config/config.default.json nach ./config/config.json und passt dort die Einstellungen an.
      Wie gesagt die Anleitung ist vorerst nur für experten, ich werde sowohl eine ausführliche Anleitung (Debian Linux ggf. Windows) sowie eine Vorkompilierte Variante später hinzufügen.

      EN:

      Currently there is only one way to use the rendering component. Due to Canvas dependencies you have to install it with all dependencies on your root or vm server. I cant tell you if you can run it on a rented game server - i predict not. There may be a solution for you later.
      The Manual how to install can be found in the GIT repository README.md (see below)

      (i tried to compile it with nexe into a standalone executable for linux. It runs on the machine where i compiled it but not on my testserver as it fails with missing canvas shared files)

      WebComponent
      DE:

      Die Web Komponente ist eine Angular Anwendung, die Vorkompilierte Version erfordert das die einzelnen map Teile unter der selben domain wie die Karte zu finden sind im Unterverzeichnis /map/z/x/y.png
      Wer eine andere Konfiguration bevorzugt muss sich das Repository aus den Sources klonen und die Datei src/environments/environment.prod.ts anpassen und dann mit ng build --prod neu kompilieren. (npm i nicht vergessen vorher)

      Die Vorkompilierte Version befindet sich im Anhang (forum.rising-world.net/attachm…a7cde3cdcc13fba79ce4eb97c) und kann auf jedem webserver installiert werden (kein php kein nodejs, nur html+css+javascript werden verwendet)

      EN:

      The Web component is an Angular application. The pre-compiled version requires the map tiles located in a sub-path on your website that looks like /map/z/x/y.png.
      If you wish another configuration, you have to clone the repository and change src/environments/environment.prod.ts for your needs. Then recompile it with ng build --prod (do not forget to npm i before)

      The pre-compiled version can be found in the attachments (forum.rising-world.net/attachm…a7cde3cdcc13fba79ce4eb97c). You can install it on any webserver as it dosent need php or nodejs. It's just html+css+js files.

      Manual + Description / Anleitung + Beschreibung:
      Plugin
      Deutsch: github.com/Devidian/oz_rw_plug…/blob/master/README.de.md
      English: github.com/Devidian/oz_rw_plug…aps/blob/master/README.md
      Renderer
      English: github.com/Devidian/oz_rw_risi…end/blob/master/README.md
      WebComponent
      English: github.com/Devidian/oz_rw_risi…end/blob/master/README.md


      History:
      Plugin
      Deutsch: github.com/Devidian/oz_rw_plug…blob/master/HISTORY.de.md
      English: github.com/Devidian/oz_rw_plug…aps/blob/master/README.md
      Renderer
      English: github.com/Devidian/oz_rw_risi…nd/blob/master/HISTORY.md
      WebComponent
      English: github.com/Devidian/oz_rw_risi…nd/blob/master/HISTORY.md


      GitHub Sources:
      Plugin
      github.com/Devidian/oz_rw_plugin_risingmaps
      Renderer
      github.com/Devidian/oz_rw_risingmap_backend
      WebComponent
      github.com/Devidian/oz_rw_risingmap_frontend

      ===============================================================================

      WICHTIG: shared Ordner muss auch in /plugins/ entpackt werden!
      IMPORTANT: shared folder must be unzipped in /plugins directory too!
      Files
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334

      The post was edited 11 times, last by Devidian ().

    • yahwho wrote:

      Look forward to seeing this complete ^^ ist sehr gut
      thy, just added description for WebComponent
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • In dem Fall wäre es so das der letzte der das Map Tile oder die tiles aktualisiert auch derjenige ist dessen map man sieht. Kommt also ein anderer Spielr vorbei ist das Dach drauf, wenn du wieder kommst ist es wieder weg (vorrausgesetzt du hast auf den refresh button gedrückt) mit der aktuellen Version werden nur noch tiles übertragen die neu gerendert wurden. Wenn also 10 Spieler die bereits das Einkaufszentrum auf ihrer Map haben dort herumlaufen wird wohl gar nichts übertragen, bis einer den ingame refresh button drückt ;)
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • DE:

      Im Git zum renderer gibt es eine Installationsanleitung. Ich habe versucht eine vorkompilierte Version zu erstellen die man einfach ausführen kann, dies gestaltet sich aber durch die Canvas Komponente im renderer schwieriger als gedacht, weshalb aktuell nur die Möglichkeit über eine installation aus den sources bleibt.

      Ich werde in das Map Plugin wohl einen Socket-Client einbauen müssen, der dann auch die map files an die rendering Komponente senden kann wenn diese auf einer externen Maschine liegt.

      EN:

      there is now a manual to install the renderer in the git README. The precompailed version of the renderer did not work yet, some dependencies of Canvas that is needed to generate the images broke the executable when moved to my test server. The only way currently seems to be compilation from source.

      I will have add a websocket to the map Plugin in order to send the map tiles to an external renderer in case someone cant install it on his game server.
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • DE:

      Bescheibung hinzugefügt & aktualisiert.
      Achso und wenn jemand das ganze ausprobiert, bitte mal feedback geben ;)

      EN:

      Updated descriptions in the first post.
      And if someone tries it, please give some feedback!
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334

      The post was edited 1 time, last by Devidian ().

    • devi da das ganze im multiplayer funktioniert, kannst du bitte eine option hinzufügen. das spieler die nicht dazu beitragen wollen dieses einmalig wählen können und weiterhin ihre vanilla karte nutzen können.
      sprich karte beim erstmaligem öffnen mit dem plugin auf dem server, fenster mit wahlfläche, willst du zur globalen map beitragen und diese daten nutzen können feld klicken ja oder nein
      was auch gehen würde wenn du @red51 nach einem extra map item für eine standalone vers. für die globale map fragen würdest und das plugin nur über diese funktioniert, würde die normale karte im spiel weiterhin ermöglichen

      warum ich das gerne hätte.

      wenn da grosse projekte im multiplayer wo laufen, die erst gezeigt werden sollen wenn die abgeschlossen sind, oder auch dinge die privat sein sollen,
      kann man das nicht geheim halten wo diese stattfinden, oder wo die privaten baubereiche sind.
      bzw kann man alles sehen und erahnen vorab auf der map was zu unerwünschten plagiaten und/oder ähnlichem auch führen kann, wenn zb. serverbesucher an die kartendaten kommen würden.
      die turnen dann überall herum auch da wo die nicht hinsollen, wenn serverseitig das area protekt nicht funktionieren sollte aua hah, weil die alles finden können. wäre vermutlich auch extremst übel für einen pvp server.

      refresh wird früher oder später auch von jedem mit der vanilla karte benutzt spätestens beim terraforming, auch spieler die garnicht zur karte beitragen wollen, werden so ja durch dieses plugin auf dem server irgendwie dazu genötigt.

      eine möglichkeit zur freiwilligen teilnahme wäre darum wünschenswert, zusätzlich admin gesteuerter auschluss bestimmter gruppen in der permissions.
      das plugin scheint segen und fluch gleichzeitig sein zu können,

      The post was edited 25 times, last by famyko ().

    • Also erstmal ändert die map ja nichts an der ingame karte der Spieler, die bleibt unentdeckt, ein Serveradmin kann ja den Zugang zur onlinemap einschränken.
      Wenn der Admin den link zur Online Map nicht aus gibt, wird auch kein Besucher die map finden von sich aus ;)

      Auf einem pvp Server würde ich das feature nur als admin Übersicht verwenden.

      Ich hatte in meinem ursprünglichen request, bzw. zu den Bedenken die @red51 wegen des traffics hatte geäußert er könne ja in den Optionen des clients einen Schalter machen "Karte mit Server Teilen" dieser ist aber nicht eingebaut worden - das finde ich wiederum auch gut weil nehmen wir mal einen anderen Fall, wenn Nachts "böse" Spieler einloggen und irgendwo weit entfernt "unfug" treiben, möchte ein Admin vielleicht trotzdem gerne wissen wo.
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • Hehe danke,

      ...ich seh das mit den Plugins immer so, ich baue die in der Regel hauptsächlich weil ich die selber gerne hätte (auf meinem Server), und ich teile sie gerne falls jemand anders auch daran Interesse hat und ich bau auch gerne Features ein für Leute die es verwenden, wenn diese ihre Wünsche äußern.
      Von daher ist es bereits erfolgreich in Verwendung ;)
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • DE:

      Ich brauche mal jemand unabhängigen der testen kann ob der LinuxRenderer auf seinem server funktioniert: rwdist.omega-zirkel.de/ auf meinem Testserver läuft es. Wenn jemand anders damit keine Probleme hat, dann habe ich einen weg eine executable zu bauen! ;)
      (nicht vergessen: config.default.json kopieren -> config.json und anpassen!)

      EN:

      I need someone who can try the new precompiled renderer for Linux rwdist.omega-zirkel.de/ on his Server. It runs fine so far on my Server but i need some more results than just mine before i can release it for all.
      (do not forget: copy config.default.json -> config.json and edit for your needs)
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • EN:

      Updated shared lib attachment to 0.6.0 to avoid someone accidently overrides a newer version with this old one.

      DE:

      Habe den shared lib Anhang mal auf die neuste Version aktualisiert, damit nicht aus versehen jemand die neue mit einer alten überschreibt.
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • DE: Nur ein kleiner fix der lange nicht released wurde

      EN: Just a short fix that wasn't released for a long time now

      Source Code: Changelog 0.2.0

      1. ### Fixed
      2. - Exception thrown when typing `/rm` without parameter
      3. ### Added
      4. - Code for plugin update-auto-restart added (`restartOnUpdate` option)
      5. - Short-manual for installation
      6. ### changed
      7. - default language of *.md files is now English
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334
    • Updated Frontend Code:

      Source Code

      1. ## [0.3.0] - 2019-05-12
      2. ### Added
      3. - environment configuration setting `omega`
      4. - `mapTileSubdomains` array in all environment files
      5. - refresh button and refresh interval control in the bottom left corner
      6. - cacheBuster for image files (refresh does not work without a buster)
      7. - 2 new routes `:posX/:posY` and `:posX/:posY/zoom` to bookmark and share map locations
      8. - added component for 404 Errors
      Bookmarking now possible: rwmap.omega-zirkel.de/-4136/13248/3
      Gamer aus Leidenschaft
      (Web) Entwickler aus Leidenschaft
      <3 Vater aus Leidenschaft <3
      (prio in aufsteigender Sortierung ;) )

      ~~~~~~~~~~~~~~~~~
      1. Entweder man macht etwas richtig oder lässt es bleiben!
      2. Egal wie lange etwas dauert, Hauptsache es wird fertig (irgendwann)
      ------------------------
      Discord: Devidian#1334