Posts by Devidian

    Mir ist das schon länger mal aufgefallen aber aus aktuellem anlass habe ich es noch mal genau untersucht. Die Zeilenumbrüche im chat ignorieren formatierungen bzw. trennen auch innerhalb von tags.


    Wenn ich als Admin auf einem Server im lokalen chat schreibe:


    Wenn ich über ein Plugin schreibe gibt es manchmal sogar einen extra Umbruch.


    wenn ich im singleplayer schreibe:

    Ich hab mein Manager tool umgeschrieben und es benutzt jetzt die Serverliste, die server werden wegen http nicht direkt angesprochen sondern laufen über ein proxy backend, welches die daten der server auch cached damit diese nicht ständig unter Beschuss stehen. Das backend holt also regelmäßig die liste sowie die daten der server ab und gibt die daten dann an das Frontend weiter. Aktuell hab ich für die Erkennung des server admins einen kleinen hack eingebaut, wenn man die steamid in contact einträgt und man sich mit steam angemeldet hat (selbe id) gilt man als server admin, aktuell kann man damit aber noch nicht viel machen :D


    https://gs1.omega-zirkel.de/rwman

    Wo wir hier gerade bei Zeit sind, hätte ich auch ein paar fragen.


    1. Die Schlafenszeit ist ja jetzt abhängig von der Jahreszeit, kann ich die irgendwo abfragen? In meinem AdminUtils Plugin habe ich eine funktion die das spiel beschleunigt solange nicht alle schlafen, ich habe hier aber fixe 21/7 uhr noch drin, die man zwar in der config anpassen kann aber halt global und nicht dynamisch.

    2. Ich beschleunige die Zeit aktuell auf 0.5f weil kleinere werte irgendwie die Zeit auch hin und her springen lassen und die Uhr nicht sauber läuft, ist das die maximale Zeitbeschleunigung?

    Alles klar! Die Plugin-Klasse selbst erhält dann die Möglichkeit eine Route zu registrieren (zB registerWebserverHandler()), bei welcher der Pfad angegeben werden kann sowie optional auch ein Handler für die Requests. Die Route wird dann (um Kollisionen zu vermeiden) immer "/plugins/pluginname/<pfad>" sein. Zusätzlich zum Handler gibts aber dann auch ein neues HttpRequestEvent, aus welchem du die Http-Methode (GET, POST, PUT etc), den Pfad, Query Parameter, Header, Body (byte[] sowie String) und Remote-Adresse erhalten kannst. Für die Response kannst du dann den Response-Code, ContentType, Response-Header sowie -Body setzen ^^


    Sowas war mal vorgesehen, allerdings haben wir das erstmal nicht reingepackt, damit von außen nicht ersichtlich ist, welche Plugins ein Server explizit verwendet... kA ob es überhaupt sinnvoll ist, aus sowas ein Geheimnis zu machen, bzw. ob manche Server-Admins evtl. nicht wollen, dass ihre Plugins preisgegeben werden? :hushed:

    Dafür könnte man ja ein exposePlugins in die server.properties einfügen was per default false ist. Wenn ich meine Plugins dann entsprechend anpasse, werde ich genau so vorgehen, so war der plan.

    Wenn das am einfachsten ist, wäre das perfekt denke ich. 👍


    vielleicht könntest du auch noch eine route integrieren die auch ohne plugins funktioniert /pluginlist die eine liste der installierten plugins + version zurück gibt? Das würde nativ wahrscheinlich mehr sinn machen, könnte man auch für andere consumer verwenden.

    red51 wäre es evtl möglich über den integrierten webserver plugindaten bereitzustellen? Ich überlege gerade wie es möglich wäre z.b. die karten-oberflächendaten bereitzustellen ohne das man zusätzlich noch mein nodejs backend auf dem server installiert haben muss. Das ist in den meisten Fällen wahrscheinlich eh nicht so ohne weiteres möglich. Es würde reichen wenn ich über ein plugin eine Datei erstellen kann, z.b. json und die dann so speichern kann das es über den webserver abrufbar ist. Gut für die Oberflächendaten wäre wahrscheinlich eine sqlite kopie sinnvoller aber war ja auch nur ein beispiel, obs jetzt eine json Datei oder eine db Datei ist kommt aufs selbe raus. Jedenfalls muss es kein route handler sein der auf anfragen reagiert oder sowas.

    Ingame gibt es keinen rich text editor, wie genau die formatiertung ist weiss ich nicht, ich denke wie bei der formatierung der server beschreibung. <color=red> .. und so.


    Normal mache ich bei jedem update einen neuen update post aber ich habe alle infos zurückgehalten wegen der timeout probleme.... aber da es mit dem UseParallelGC zumindest vorübergehend Abhilfe gibt... dachte ich ist es okay jetzt einmal eine info raus zu hauen.

    Auch hier ein neues Update, Hauptfeature das für alle dazu gekommen ist, ist die Möglichkeit ein Info Fenster zu definieren. In den Admin Einstellungen kann man text hinterlegen der angezeigt werden soll wenn ein Spieler den Server betritt. Der Spieler kann dann den Text bestätigen oder bestätigen und "nicht mehr anzeigen" wählen damit er den dialog nicht jedes mal beim Login bekommt.


    Es gibt noch ein anderes Feature das die Oberflächendaten von chunks sammelt auf denen Spieler sich bewegen, dieses feature ist aber per default deaktiviert und nicht ohne eine weitere (noch nicht von mir freigegebene) Komponente benutzbar. Mit diesem Feature lässt sich in Zukunft eine Online-Karte der Spielwelt erstellen, dafür muss ich aber das Backend das die Karten erstellt noch freigeben. Wird auch nur Funktionieren wenn man entsprechenden Zugriff auf seinem Server hat, ist also nicht für jeden (daher default deaktiviert). Ich überlege mir da aber noch eine Lösung die auch für normale Server funktioniert. Hier mal ein teaser: https://gs1.omega-zirkel.de/rwman/setup bei der Auswahl auf dedizierter Server klicken (rechts), dann einen Server wählen und auf Karte klicken.


    ## [0.8.1] - 2026-06-14 | Worker diagnostics


    - feat: log map source persistence worker lifecycle through Tools diagnostics


    ## [0.8.0] - 2026-06-13 | Map chunk scan radius


    - feat: add configurable square map chunk scan radius with center-first tick-distributed capture

    - change: increase the default per-chunk map capture cooldown from 30 to 60 seconds


    ## [0.7.0] - 2026-06-13 | Raw map source capture


    - feat: replace command-driven plugin PNG generation with settings-controlled departed-chunk source capture

    - feat: add the V2 map source schema, deterministic blob/hash contract, dedicated SQLite lifecycle, and idempotent upsert

    - feat: add per-chunk map capture cooldown and debug timing logs for successful source updates

    - change: remove `/au mapgen` and all plugin-side PNG, metadata, and tile-pyramid generation


    ## [0.6.0] - 2026-06-08 | New-player information panel


    - fix: handle player death causes newer than the bundled PluginAPI without failing the event handler

    - fix: prevent theft prison replacements from applying lethal punishment before incarceration

    - fix: widen the prison detail pardon action button

    - feat: add optional admin-managed new-player info panel with persistent player opt-out

    - fix: edit new-player info text as multiline admin text with a larger character limit

    - feat: add Admin Utils player settings for info-panel re-enable and shortcut visibility

    - change: register Admin Utils with shared player-aware shortcut visibility and close SQLite on shutdown

    Next version is now official released. Main feature is a configurable total playtime requirement for accessing non static gps markers, default is 15 minutes. So in other words new players need to stay 15 minutes on the server before they have access to private,group or global marker.


    ## [0.6.0] - 2026-06-08 | Access rules and sector pricing


    - feat: require configurable total playtime for non-static GPS features while keeping static markers available

    - feat: make `travelCostMode` editable through the shared admin settings select control

    - change: calculate distance travel costs from sector distance with `base + sectorDistance * base`

    - refactor: migrate GPS marker persistence from deprecated Tools `SQLite` to `SQLiteConnectionFactory`

    - feat: add GPS shortcut visibility setting for `/ozt` and inventory shortcuts

    - change: remove obsolete shared escape-close registrations pending future API support

    Hey folks, an update is coming. It brings a new type of special area called "static" for admins. In this area other players cant pickup anything by default. This can be used to setup Shops for the shop plugin, where you want to have a neutral zone with decorations that nobody can pickup.

    Another thing that has changed is the icons, i know not everybody might like them but i wanted to have some kind of consistency for the icons, and as i made ai icons for all other plugins i made ai icons for landclaim too now.


    ## [0.11.2] - 2026-06-13 | Permission UI and claim icon


    - refactor: align area permissions with the shared plugin overlay layout

    - fix: move area owner status to the footer and use the inherited top-right close button

    - fix: improve special-area name contrast on the dark chunk-info overlay

    - fix: use the available owned-claim icon for the extra-claim Shop offer


    ## [0.11.1] - 2026-06-11 | Restore deleted icon


    - fix: restore deleted icon


    ## [0.11.0] - 2026-06-10 | Static area support and new icons


    - feat: new special area "static" added, like "visitors only" area

    - change: exchanged all flat icons with AI created icons to align with other plugins


    ## [0.10.0] - 2026-06-08 | Shortcut visibility and shutdown cleanup


    - feat: add LandClaim player shortcut visibility setting for `/ozt` and inventory shortcuts

    - change: remove obsolete shared escape-close registrations pending future API support

    - change: close LandClaim SQLite connection on plugin shutdown

    This update has no real features regarding the plugin scope, but it has several internal code stability improvements.


    ## [0.15.1] - 2026-06-13 | Callback thread safety


    - fix: dispatch WebSocket-driven game operations onto the server thread

    - fix: parse WebSocket payloads before dispatching game operations

    - refactor: dispatch immutable relay message values instead of mutable parsed entities

    - test: cover broadcast and player-event relay parsing

    - fix: separate transport-only WebSocket sends from player-aware response handling

    - fix: avoid retaining `Player` objects in asynchronous screenshot callbacks


    ## [0.15.0] - 2026-06-08 | Persisted player settings


    - feat: add Global Intercom player shortcut visibility setting for `/ozt` and inventory shortcuts

    - change: persist Global Intercom player runtime settings through shared `PlayerSettings`

    - change: use one-time plugin i18n loading during enable