Posts by Devidian

A new update is now available, introducing seasons and more!

    Fine! I had time to study java (plugin development). Let me ask you for help in case of errors or clarifications? I will be very grateful for your help.


    Großartig! Ich hatte Zeit, Java (Plugin-Entwicklung) zu studieren. Darf ich Sie um Hilfe bitten, falls Sie Fehler oder Klarstellungen haben? Ich werde für Ihre Hilfe sehr dankbar sein.

    EN:


    Of course you can, but for a better/faster help just ask in a new thread in this forum and everybody may help you (including me)


    DE:


    Natürlich kannst du, aber damit du schnellere / bessere Hilfe bekommst stelle deine Fragen einfach hier ins Forum, dann hilft dir sicher jeder (auch ich)

    DE:


    Gestern habe ich es geschafft das "RisingMapBackend" mit meinem code aus dem Prototypen zum laufen zu bringen. Ich habe den output gestern nicht mehr geprüft aber es hat ca. 500MB Kartenmaterial erzeugt aus meinen lokalen Dateien (Alle Zoomstufen von 0 bis 4, wobei 4 Ausgangsstufe ist). Das aktuelle Prozessmanagement gefällt mir noch nicht und ich werde dies als nächstes überarbeiten. Aktuell gibt es einen Master Prozess der für jedes Kartenteil einen eigenen Kindprozess für die Verarbeitung startet, bis zu 10 gleichzeitig. Da aber die einzelnen Prozesse so schnell sind, erzeugt diese einen ziemlichen overhead und ich werde den Master so ändern, das er eine feste Anzahl an MapRenderern startet was man in der Konfigurationsdatei einstellen kann. Der Master wird dann die ankommenden Kartendaten einfach in rotation an die Renderer senden. (Der Master speichert die roh-map files lokal, sendet dem Renderer die Koordinaten und den Dateinamen (hash des inhalts) und der Renderer löscht die Datei nach dem bearbeiten wieder)


    Der FakeAPIClient macht jetzt beim ersten start eine vollständige Synchronisation und überwacht dann den map Ordner auf Änderungen. Das Funktioniert soweit einwandfrei.


    Der FakeAPIServer muss sich jetzt nur noch die aktuellen Kartendaten merken, damit er auch nach einem neustart den aktuellen Stand aller MapTiles kennt und nicht bei einer vollständigen synchronisation zum Beispiel schon vorhandene neuere Kartenteile überschreibt.


    EN:


    Yesterday i had some time and managed to get the "RisingMapBackend" running with my prototype code. I did not check the results yet but it generated ~ 500MB map data out of my local map files (all zoom levels from 0 to 4 where 4 is origin map tile). I don't like my current process management of the backend and will change it next. Currently there is a master process that spawns a child which computes a single tile and then exits for each tile. Up to 10 processes spawn at the same time but the single process of one tile is so fast that creating a new child on every tile is a huge overhead. I will change the master to spawn a fixed number of childs that can be set in the config file. Then the master will rotate the incoming map tiles to the childs via IPC. (the master saves the file locally, the child takes coordinates and map file name and deletes the file after computing).


    The FakeAPIClient now makes a fullsync at first startup and then watches the map directory, this is working fine.


    The FakeAPIServer now has to remember all current map data, so that he in case of a restart can reload them. The map-tile-data is needed in case some client sends a fullsync with older map tiles then someone else already uploaded.

    Total der Rotz wenn ihr mich fragt. Ich fand die DSGVO schon der größte mist auf diesem Planeten, weil die Umsetzung des Grundgedanken hier total das Ziel verfehlt hat, aber das schießt den Vogel ab. Hab schon überlegt ob ich dann aus Spass eine Plattform gründe, die ich alle 3 Jahre einstampfe um die selbe unter anderem Namen wieder neu zu erfinden haha ... Am besten das Internet gleich ganz abschalten, zumindest den sichtbaren Teil, denn dann stehen eh nur noch Unwahrheiten und gemachte Meinungen drin... demnächst kann man nur noch im deepweb surfen wenn man seine Meinung frei äußern will. Komm mir schon vor wie in NK

    First of all i have to say that i never used any game servie provider as i own myself a (virtual) root server but i can tell you that nitrado is not a good choice. Everybody i know that used nitrado has made bad experience. For example one of my family members had a 7 Days to die Server by nitrado and it got 3+ rollbacks in a week with several days loss of progress.


    If you have at least a little experience in linux i recommend renting a virtual server. I don't know which provider in your region fits your needs but for example i have a vServer for 30€/month (16 vCores 32vRam) rent at Strato and i'm running more than just risingworld.
    For my current RisingWorld configuration i could also rent a smaller server for 14€/month having 4 cores and 8GB ram maybe.


    What do you pay currently?

    DE:


    Danke @yahwho


    Ich hatte wenig Zeit die Tage, habe es trotzdem schon mal geschafft die Basis für 3 von 4 Komponenten zu erstellen.


    Die "RisingMapFakeAPIClient" Komponente kann sich zur "RisingMapFakeAPIServer" Komponente verbinden, welche wiederum mit dem "RisingMapBackend" verbunden ist. Alles über WebSockets und alles in Node.js geschrieben. Ich muss mal gucken wie ich zumindest die Client Komponente so gestalte das jeder normale Spieler sie einfach benutzen kann.
    Meine Testfunktion sendet schon mal eine datei mit rohdaten vom client zum server wo diese dann geprüft / validiert werden bevor sie dann von dort zum backend gesendet werden. Im backend muss ich nun als nächstes den code aus meinem Prototyp implementieren um die Rohdaten in png's umzuwandeln.
    Die letzte fehlende Komponente ist das Frontend, quasi "RisingMapFrontend", hier werde ich vorerst meinen Prototypen nehmen bis alle anderen Komponenten soweit ihren Job machen. Ich werde dann eine Angular Anwendung draus machen die das Leaflet Framework nutzt (verwende ich im prototyp quasi nur). Diese Komponente wird dann später mit weiteren coolen Funktionen ausgestattet wie WebSocket Verbindung für Live-Updates der Kartendaten oder zum verfolgen der Spieler die gerade online sind.

    EN:


    Thanks @yahwho ;)


    I had very less time in the past days but i've created the basics for 3 of 4 components.


    The "RisingMapFakeAPIClient" Component can connect to the "RisingMapFakeAPIServer" which is connected to the "RisingMapBackend". All connections go through websockets, all components are written in node.js. I have to look how i can get at least the client to be easy used by "normal" players, like an executable.
    My test case takes one map file and sends them from the client to the server where it is "checked" / validated and then send to the backend component. On the backend i now have to implement my prototype code next to convert the raw map data into png's.
    The last missing component 4 of 4 is the frontend component "RisingMapFrontend" i will use my prototype until all other components do their job but then i'll create an angular Project with that leaflet map framework. This component will later get some other cool functionality like websockets connection for live map updates (reload map images or track online player location)

    Oh yeha i know that Problem too. I also would Like to Change My Server Name again, but i do Not want that everybody looses His map again. Last Time i changed My local folder but i cant change those of my players. Not everyone knows where to change that.
    I would like that the directory name does not take the Servername into account.




    PS: all spelling errors are presented by My mobile phone autocorrection.

    Hm Autorennspiele gibt es aber auch genug andere ;)

    Ja, Monster passen vielleicht nicht ganz aber Banditen und wegelagerer finde ich nicht so schlimm. Vor allem da die Mechanik dahinter auch für die guten npcs verwendet werden kann, die du beschreibst, also Siedler etc.


    Manche Spieler mögen auch gerne PvP und Burgen Bau dazu, mit der NPC Mechanik könnte man sich Wachen vorstellen.


    Ich fänd sowas wie Fraktionen/Gilden gut oder ein besseres Blaupausen System das zum survival passt und die echten Ressourcen benötigt.


    Echte Flüssigkeit für die Immersion wäre auch toll für die pve spieler.
    Oder ein Tierzucht system das kein Plugin erfordert. Wobei solche Dinge die durch Plugins hinzugefügt werden können weniger Priorität haben.


    Blöcke Terrain und eigentlich alles sollte auch ein besseres hitpoint system bekommen, damit man sowas wie PvP raids besser umsetzen kann.


    Mir fallen noch sicher andere Dinge ein die auch wichtig wären, ich finde dennoch das das Grundsystem feindlicher npcs nicht falsch ist.


    Das sind nur Mal meine Gedanken die ich gerade so habe :)

    DE:


    Frage: Wie kann ich als Server Besitzer anfangen die Online Karte zu nutzen? [by Galochka]
    Antwort: Aktuell noch gar nicht! Ich muss 3 Komponenten Programmieren bevor ich dieses Tool anderen zum testen zur Verfügung stellen kann.
    1- Einen Map-Server der roh-karten entgegen nimmt und diese zur web-Ansicht speichert.
    2- Eine Fake-ServerPlugin Komponente die Roh-Karten von Clients entgegen nimmt und an den Map-Server schickt
    3- Ein Client-Tool das geänderte Roh-Dateien im Map Ordner an die Fake-Plugin Komponente sendet.
    Sobald die API Unterstützung gegeben ist können 2 und 3 durch ein MapPlugin ersetzt werden.


    EN:


    Question: When to start using this tool as Server-Owner? [by Galochka]
    Answer: Currently not! I have to program 3 components before anyone else can use this tool to setup his own Server-Map.
    1. A Map Server component that takes raw map files and converts them to serve-able map images.
    2. a fake Server-Plugin Komponent that takes raw map files from clients and sends them to the MapServer component
    3. a client tool that watches on raw map file changes in the map directory of a client and sends them to the fake ServerPlugin component on change
    When the API supports map transfer from clients to server, components 2 and 3 will be replaced with a ServerMap-Plugin that requests raw map files from clients and sends them to the MapServer

    DE:


    Frage: Ist eine online Karte nicht unfair für PvP?
    Antwort: Ein Server-Admin kann den Zugriff auf die Karte beschränken, so das nur ausgewählte Personen (Admins) Zugriff haben.


    Frage: Wie kann ich als Server Besitzer anfangen die Online Karte zu nutzen? [by Galochka]
    Antwort: Aktuell noch gar nicht! Ich muss 3 Komponenten Programmieren bevor ich dieses Tool anderen zum testen zur Verfügung stellen kann.
    1- Einen Map-Server der roh-karten entgegen nimmt und diese zur web-Ansicht speichert.
    2- Eine Fake-ServerPlugin Komponente die Roh-Karten von Clients entgegen nimmt und an den Map-Server schickt
    3- Ein Client-Tool das geänderte Roh-Dateien im Map Ordner an die Fake-Plugin Komponente sendet.
    Sobald die API Unterstützung gegeben ist können 2 und 3 durch ein MapPlugin ersetzt werden.



    ______________________________________________________________________________________________________________________


    EN:


    Question: Isn't it unfair for PvP?
    Answer: A Server-admin can deny access for casual players to avoid pvp map abuse and only grant access to other admins.


    Question: When to start using this tool as Server-Owner? [by Galochka]
    Answer: Currently not! I have to program 3 components before anyone else can use this tool to setup his own Server-Map.
    1. A Map Server component that takes raw map files and converts them to serve-able map images.
    2. a fake Server-Plugin Komponent that takes raw map files from clients and sends them to the MapServer component
    3. a client tool that watches on raw map file changes in the map directory of a client and sends them to the fake ServerPlugin component on change
    When the API supports map transfer from clients to server, components 2 and 3 will be replaced with a ServerMap-Plugin that requests raw map files from clients and sends them to the MapServer

    DE: Hallo zusammen,


    seit einiger Zeit plane ich ein RW-Addon/Plugin für dedizierte Server. Dabei geht es vom Grundsatz her um eine Online map für Rising-World, ähnlich wie es dies für 7 Days To Die gibt falls das jemand kennt (Beispiel: https://gs1.omega-zirkel.de/static/index.html).
    Diese Map soll später durch Anbindung an Plugins auch weitere Administrative und Informative Funktionalitäten erhalten. Aktuell müssen die Map-Tiles noch manuell gerendert werden aber der Plan ist es, das die Karte von mehreren Spielern während des erkunden aufgedeckt werden soll. Dies könnte entweder durch eine Erweiterung der API oder durch ein externes Tool passieren (API+Plugin wäre natürlich eleganter, da niemand extra tools installieren muss)


    Hier mal mein aktueller Stand: https://rwmap.omega-zirkel.de/


    Dieses Thema soll zum diskutieren sein ;)


    EN: Hello together,


    for some time now i'm planning a RW-addon/plugin for dedicated servers. The basic idea is to generate an online-map for Rising-World, like the map for 7 Days To Die if anyone knows that (example: https://gs1.omega-zirkel.de/static/index.html). Later this map shall be connected to a plugin to add more administrative and informative functionality. Currently the map must be rendered manually but the goal is to let the players generate map content while they explore the map (like in 7d2d). This could either be done through an API extension or an external tool that uploads changed map files while exploring (API+Plugin would be better of course, so nobody needs extra tools to install)


    Here you can view the current state: https://rwmap.omega-zirkel.de/


    This thread is open for discussion ;)

    DE: Also ich würde so oder so diverse Mechanismen einbauen um den Traffic gering zu halten. Zunächst sollten nur die Maps um den Spieler herum angefordert werden können. Dann sollten zunächst hashwerte und Datum abgeglichen werden um zu vermeiden unnötig Updates zu schicken oder die Karte mit alten Daten zu überschreiben. Dann würde ich noch ein Limit setzen das ein map Part nur alle x Minuten aktualisiert wird. Also wenn ein map Teil von Spieler a schon übertragen wurde, wird es für x Minuten von keinem anderen Spieler angefordert.


    EN: Anyway I would implement some mechanism to reduce traffic. First of all only maps around the player should be able to be requested, then filehash and creation date should be compared to avoid updates and overrides with older map data. Then i would implement a limit per tile per x minutes to be requested. So for example if Player A has sent an update for map tile 1,1 nobody else would be requested for 1,1 for the next X minutes.

    ^^ das ist erst die 3. Veröffentlichung, ab SprachAPI (1.1.2) gibt es den Fehler nicht mehr, Fehler(aus der Testgruppe) lag im Wilkommen.

    Bin Leicht verwirrt gerade :D ich meinte nur wenn doch 0.3 des Willkommen Plugin schon vom 5. Juli 2018 ist und jetzt ein fix released wurde, sollte die Version des Willkommens Plugin doch 0.3.1 sein um sich von 0.3 abzuheben. ;)

    Have a look here for the map file format:Map image data and file names

    oh k, did not see that thread, that helps thy.


    EDIT: Got it



    Wrote a Quick and dirty node app for this:


    @red51 welches Format haben denn die Dateien beim Client unter RisingWorld/Map/__/mx_*_* ? Ich wollte schon mal einen POC bauen bis es möglich ist die Dateien vom Client zu "erbitten" und so auf dem Server zu verarbeiten.


    // -------------


    @red51 which file format is used for the map files in RisingWorld/Map/__/mx_*_* on the client ? I would like to build a POC until there is a way to request those client-map-files from the server via API.