Posts by Devidian

The next update will be available on Thursday, April 30, around the evening (GMT+2)!

    Version 0.7.0 is live!

    Main feature: set permissions for offline players!

    Offline players now appear in the permission list, the admin can set the time when the player must have been online last to appear in the list (default 24h) can be set in plugin settings as always


    Changelog


    ## [0.7.0] - 2026-03-11 | Area permission activity list

    - docs: standardize agent prompts, PR checklist, and runtime smoke-test guidance
    - build: add API verification helper and stricter CI/release validation flow
    - feat: include recently online players in the area permission list via configurable Players-DB lookup
    - feat: show online or offline status in the area permission table
    - build: package only `README.md` and `HISTORY.md` into release artifacts

    - refactor: used `player.getCurrentArea();` where possible [0.6.1]
      - this will reduce Server.getAllAreas calls
    - fix: impossible to claim because `null` area results in false for singleChunkCheck [0.6.2]
    - fix: wrong area used for claim method (`null` area from `uiPlayer.getCurrentArea();`)

    BREAKING: this release requires OZTools `>= 0.17.0`

    A new version has appeared! v0.20.0 has only small changes but i included some AI agent configs for my development - as i am forced to use ai at work to develop new stuff i will use it for my hobby developments too, so i can earn more xp in using them - that doesnt mean i let them code everything :D

    Besides that the default chat prefix and discord chat syntax have changed. They now have a the new placeholder **PH_LANGUAGE** included. If you dont like to see the players system language just remove it from your settings.

    I thought it would be helpful to see the players system language in chat so everyone can react in the users native language if hes able to do so.

    Changelog


    ## [
    0.20.0] - 2026-03-10 | Player-System-Language in Chat

    - feat: new placeholder for chat to discord `**PH_LANGUAGE**`
    - feat: new placeholder for chat-prefix ingame `**PH_LANGUAGE**`
      - replaced with the players system language
    - feat: new setting `useShutdownNotRestart` executes shutdown not restart if true (default=true)
    - fix: aligned `en` and `ru` translation files with the German source texts
    - feat: added French translation file `fr.properties`
    - build: copy only `README.md` and `HISTORY.md` into `dist`
    - fix: aligned `settings.default.properties` with all active plugin settings and code defaults

    Hey, den Fehler hab ich auch schon weitergeleitet in gewisser weise, red hat ihn glaube ich auch schon gefixt und sollte mit nächstem Update weg sein.

    Okay soweit ich das herausgefunden habe ist die *.biomes ein 256x256 bild wie dieses:


    und die *.tile ein 1024x1024 wie dieses.



    Aber ehrlich gesagt hab ich keinen Schimmer wie ich daraus jetzt ein Bild für ne Karte mache 😅

    Also das was SonoBionda meint, fällt mir immer nur wieder auf, wenn ich in einer Area stehe und diese lösche, sagen wir mal "Devidian's Home" dann laufe ich in die Area "SonoBionda's Home" und bin in ihrer Area mit den dortigen Rechten, wenn ich aber wieder raus laufe bin ich nicht in "Wildnis" sondern wieder in "Devidian's Home". Wildnis gibt es quasi nicht mehr für mich, bis ich neu einlogge. Vielleicht muss ich mal ein YT Video dazu machen.

    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 😅

    Hey, would it be possible to somehow implement a new category in the permissions for plugins? For example


    Code
    {
    "plugins":{
    "allowgps": true
    }
    }

    I know it could be complicated when it comes to type checking but maybe there could be a workaround like prefixes, for example b_allowgps or i_privatemarkerlimit


    I think this could be awesome for some plugins to define stuff for different permission groups or areas.
    For example i could imagine a market plugin that only works in a desired market area(s) on one server but is allowed everywhere on another server but not for default-permission players. Sure the plugin could come with its own area logic but then every plugin has to manage this on its own.

    I was thinking about using area_create permission to determine if players can use my landclaim plugin to claim a chunk but i dont know if this will one time allow players to create some sort of vanilla area without area tools from creative. I want to prevent this and so i thought it would be nice to have permissions for plugins.

    Ja das mit den Permissions der Areas stimmt. Wenn man eine Area löscht in der man sich gerade befindet, bleiben die aktuellen permissions bestehen. Auch wenn man respawned hat man noch die permissions aus der zone in der man gestorben ist, ist mir zumindest öfter mal aufgefallen.

    Hmm also eigentlich war das hauptsächlich dafür gedacht beim erstellen zu prüfen ob eine existierende area, z.b. eine über F9 erstellte oder von einem anderen Plugin erstellte bereits den aktuellen chunk berührt oder im Fall das man einen claim erweitert wird der chunk geprüft in dem die area erweitert werden soll. Und wenn dem so ist sollte das erstellen oder erweitern unterbunden werden. Ja man kann Areas wieder löschen, die Methode verwendet aber dann diese Methode nicht, allerdings glaube ich das ich weiss worauf du hinaus willst, wenn jemand eine area löscht während getAllAreas ausgeführt wird dann könnte es eine null ref geben. Das aber so oft zur gleichen Zeit erstellt und gelöscht wird ist eher unwahrscheinlich, also wird ein Methode wohl wirklich zu oft diesen call machen.

    Es gab aber auch noch andere Stellen wo ich das aufgerufen habe, ich werde mal sehen ob ich die calls dort reduzieren kann, ich glaube an mindestens einer Stelle kann ich es definitiv anders lösen.

    Ah okay, dann geht es wohl um diese Methode hier


    Aber was daran genau problematisch ist kann nur red51 beantworten befürchte ich 😅

    Ich habe die Tage im OZ.Tools plugin eine property hinzugefügt um den log4j logger zu deaktivieren, dann werden von allen plugins die logs ins hauptlog geschrieben. Das könnte den memory footprint minimal verkleinern. Ich habe die Version nur noch nicht getagged

    Das Ende mit Log4j ist korrekt, das wird als aller letztes geschlossen, hier z.b. ein log von meinem regulären Server wenn ein neustart initialisiert wird:


    Code: LOG
    JNI: DESTROY JAVA VM
    Create new JNIEnv (handle: 94037287929456, thread: 18258)
    [Java] [OZLogger] Terminating Log4j framework globally.
    NativeMemoryManager: Free 10873 memory pointers (43750644 B)...
    [WARNING] [17:01:02] [RESTART] Invoke RisingWorldServer.x64...

    Und hier auch nochmal meine tests die ich gemacht habe mit meinem Docker image:


    KonfigurationSpielerRAM (MB)
    Vanilla0295
    11400
    OZ.Tools0342
    11435
    OZ.Tools + OZ.GPS0350
    11441
    OZ.Tools + OZ.LandClaim0357
    11447
    OZ.Tools + OZ.AdminUtils0354
    11450
    OZ.Tools + OZ.DiscordConnect (botEnable=false)0344
    11441
    OZ.Tools + OZ.DiscordConnect (botEnable=true)0395
    11496
    OZ.Tools + OZ.GPS + OZ.LandClaim + OZ.AdminUtils + OZ.DiscordConnect (botEnable=true)0425
    11516


    Verwendet habe ich `docker compose stats` für die Messung des containers mit dieser Konfiguration:


    Er läuft jetzt seit gestern Abend 20 Uhr und hat aktuell 290MB usage (mit allen plugins)


    Also zumindest ohne Spieler schon mal kein memory leak 😅Allerdings sehe ich diese Meldung im log das erste mal:


    Ich habe alle archiv logs meiner anderen 2 Instanzen durchsuchen lassen aber diese ADMIN MESSAGE hatte ich noch nie

    Naja was MP angeht könnte man es doch wie andere Spiele machen. Man errechnet einen score für jeden Spieler, (z.b. Spielzeit, getötete (agressive) npcs, aktuelle Ausrüstung, anzahl tode) und nimmt dann entweder den schwächsten wert der aktuellen spieler wenn das event startet oder einen Mittelwert oder einen Median.

    Schwierig ist eher das Grund-Balancing und die Skalierung denke ich unabhängig vom MP, da es aktuell grundlegend nicht wirklich RPG Elemente gibt an denen man die "Macht" Eines Spielers festlegen könnte, also sowas wie Spieler-Level, Ausrüstungs-Level, Angriffskraft etc.

    Hmm wäre vielleicht ne Idee für ein Plugin, solange es da Vanilla nichts gibt :D

    Für Events über plugins müßte man allerdings die NPC's irgendwie nach dem Motto "spawne 5 banditen in 50m Entfernung (radius) und lasse sie auf spieler xy / richtung pos laufen" steuern können. Gibt es ein Event für den Tageswechsel? Ich habe bisher nur Season und Weather gesehen meine ich. Dann könnte man ja die aktuelle Mondphase checken und jeden n'ten Vollmond zum Bludmond machen zusammen mit einem event.