Posts by Devidian

    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.

    Ja das mit der Zeit zwischen 21 und 7 hab ich neu eingebaut, vorher funktioniert schlafen eh nicht und da würde jede Meldung nur stören. Das mit den aktiv nicht schläfern ist so eine Sache. Wenn sie aktiv sind, dann gibt es vielleicht einen guten Grund warum sie nicht schlafen wollen oder können. Diesen können sie ja per chat Kommunizieren. Solche aktiv Verweigerer sollte man eher einem admin melden wenn es öfter vor kommt und er damit der community schadet. Er könnte ja auch kurz ausloggen wenn er aktiv ist. Das Problem sehe ich also eher bei den Leuten die gerade nicht mitkriegen das die anderen schlafen möchten, weil sie afk sind.

    Ans Bett fesseln geht nicht, höchstens zählen wie oft der Spieler sich in kurzer Zeit hinlegt und dann ... Elektroschocks oder so wenn er wieder aufsteht.😈

    Ich verstehe deine Argumente allerdings möchte ich verhindern dass irgendwer aus Spaß sich immer wieder ins Bett legt und alle den Spam kriegen auch wenn sie nicht AFK sind. Sie würden ja dann einmal die Meldung bekommen dass XY sich hingelegt hat und das spieler a b c d e f und g gerade AFK sind.


    Ich kann aus der chatmeldung natürlich ein jell machen weil es soll halt dafür da sein dass wenn jemand nur vielleicht gerade nicht an der Tastatur ist aber trotzdem seinen Bildschirm sieht, er merkte dass er jetzt was tun sollte.


    Gerade wenn viele Spieler da sein sollten wäre es schon ziemlich spammig wenn man für jeden der AFK ist eine Meldung bekommt.