đŸš©OZ - Land Claim v0.2.0 (Persist player settings)

A small new update is available now!
Update: The standalone should now be available! Sorry for the delay!
  • Hey there,


    before the great shutdown (when unity version was announced) i already started to create my own LandClaim plugin as i was not satisfied with the areaprotection we were using in the Java version. But as i did with all my (planned) plugins i stopped working on it.
    When i setup my unity server i tried some existing plugins but they were not working as expected, so i started with my own plugin again. It is still not 100% where i want it to have but the main features needed as MVP are working so far.
    So i want to invite some players to test it on my public development Server. The server is called

    Omega Zirkel - Plugin development & Testing, current test: OZ LandClaim

    NOW FIRST OFFICIAL RELEASE:


    https://github.com/Devidian/rw-plugin-oz-land-claim/releases

    Remember also to install latest OZ - Tools from

    https://github.com/Devidian/rw-plugin-oz-tools/releases

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


    I recommend to bind the command `/lc open` to a key or mouse, this is almost everything you need to do using it.

    Current features:


    • Claiming by players themself based on Chunks
      • Players have a basic claim limit (can be configured)
      • Players get more claims if they have more playtime on a server (rate configured by admins)
      • Players have to stay a configurable time in a chunk before they can clime (prevents new players to grief areas
        • (Planned: "soft decay" of chunks / protection based on playtime)
      • Players can turn on "chunk view" where they can see chunks
        • Current view: shows the current chunk borders in yellow
        • Owned view: shows the chunks owned by the player in green
        • Other view: shows chunks owned by others in blue (and other colors in the future)
          • (Planned: color for special areas, areas for sale, pvp areas?)
      • Players that claim a chunk become "owner" of that chunk
        • all other players are "guests" by default
      • Players can give other players different permissions for their claim
        • Resident: mostly the same rights as owner in the area but cant change area stuff
        • Friend: can build and destroy own stuff, cant terraform, can use chests
        • Guest: default level, can enter and leave the area but has no overall rights
        • Prisoner: you need slaves? this is the permission you need, but they cant do anything (like guests that cant leave)
        • Exiled: someone is unwanted? exile him!
      • Players can release their claims - if they don't want it anymore (!anyone else can claim then)
      • Players can rename their claims
      • Players can expand claims (i don't want to have a 3 by 3 area of 9 single area chunks, i want to have a single big area 3 by 3 )
        • Claims can be expanded up,down,north,south,west,east
        • expansion will respect claim limits and time in chunks but it will sum up all time so you only need to stay in one chunk)
        • you cant expand if a chunk in direction is claimed by other players
      • Players can split claims with more than 1 chunk into single-chunk claims
    • Admins can change permissions on any claim
    • Admins can release any claim
    • Admins can rename any claim
    • Admins don't have claim limits (configurable)
    • Admins don't need to wait to claim (configurable)
    • Admins can create special areas with special permissionsets
      • rest-area (resting area with no hunger and thirst, no pvp etc.
      • pvp area
      • trap area (go in and never find out (Jail)
      • general special area (name public places block areas from claiming)
    • Other features:
      • Plugin is fully translated to german + English, more languages possible (just ask)
      • An overlay shows up current chunk status and time needed to claim
      • Claimed areas will work even if plugin gets uninstalled as it uses ingame area functionality
      • Connections to discord for claim/release announcements using my Discord Connect Plugin (optional feature, no need for Discord Plugin)
      • In game announcements
      • confirmation window when expanding, splitting or release areas to avoid mistakes

    Features in progress (what im still working on) before i release first version to public


    • currently only bugfixing

    Features planned after first release:


    • Players can sell their claims to other Players (first version wont use any currency, i plan to create a seperate plugin for that)
      • other players can buy claims if they have enought free claims
      • selling and buying will be announced ingame (and optional in discord)

    Screenshots:








    Now is the best time to test and give any feedback. Hope to see anyone testing next days.

    Best regards
    Devidian

    PS: You are welcome to join my Discord if you speak english or german if you need any live support with my plugins or have any feedback. => http://discord.gg/8h3yhUT

    XING | LinkedIn
    Steam | Discord @ Omega Zirkel

    My Plugins:

    OZ Tools | OZ Discord Connect | OZ Global Intercom (unity version in progress) | OZ Land Claim | OZ Currency (planned) | OZ GPS (currently in development)

    Edited 8 times, last by Devidian: new feature ready for testing ().

  • Devidian

    Changed the title of the thread from “OZ - Land Claim (Invitation for testing)” to â€œđŸš©OZ - Land Claim v0.0.0 (Invitation for testing)”.
  • Splitting areas can now be tested, also fixed some bugs yesterday occuring when more than 1 player is actively using the plugin.


    Known issues: if someone changes (adds/removes/expands/splits) areas, the area-frames are not updated on players that have them visible.

  • + Added more area permissions to set in Area permission window (resident,prisoner,exiled,friend and guest now available)

    + now there is a confirm dialog before splitting or expanding an area.

  • Devidian

    Changed the title of the thread from â€œđŸš©OZ - Land Claim v0.0.0 (Invitation for testing)” to â€œđŸš©OZ - Land Claim v0.1.0 (Initial release!)”.
  • NOW FIRST OFFICIAL RELEASE: v0.1.5


    https://github.com/Devidian/rw-plugin-oz-land-claim/releases


    Remember also to install latest OZ - Tools from

    https://github.com/Devidian/rw-plugin-oz-tools/releases

    Patchnotes:


    - feat: player gets message if area is renamed [0.1.4]
    - refactor: now `/lc` opens the menu too (instead of doing nothing) [0.1.2]
    - refactor: default area permissions adjusted [0.1.4]
    - refactor: moved area3d methods to dedicated class [0.1.5]
    - fix: missing translation for changing player permissions of a zone [0.1.1]
    - fix: expanding area did not take origin permisssions into account [0.1.3]
    - fix: Dropdown z-index issue workaround in PermissionPanel [0.1.3]
    - fix: rename area now using direct SQL to Area db [0.1.5]
    - fix: default-permissions in permissions panel from other area types are hidden now [0.1.5]
    - fix: use `area.setName` before `Server.addArea`, `area.setPlayerPermission` after [0.1.5]
    - fix: some more possible null pointer exceptions with area names [0.1.5]

    XING | LinkedIn
    Steam | Discord @ Omega Zirkel

    My Plugins:

    OZ Tools | OZ Discord Connect | OZ Global Intercom (unity version in progress) | OZ Land Claim | OZ Currency (planned) | OZ GPS (currently in development)

    Edited 2 times, last by Devidian ().

  • Devidian

    Changed the title of the thread from â€œđŸš©OZ - Land Claim v0.1.0 (Initial release!)” to â€œđŸš©OZ - Land Claim v0.1.5 (Initial release!)”.
  • Hallo Devidian, ich habe mir die Plugins mal runter geladen und auf meinem LAN-Server getestet.

    Der Server ist 3 x gecrasht, die Logs sagen nicht warum, aber ich habe immer das gleiche gemacht:

    Meinen Bereich anzeigen lassen, eine 5er Reihe Richtung Norden erweitert - Server gecrasht - aber beim Wiederbeitritt war der Bereich richtig erweitert.


    Dann fĂ€nde ich es super, wenn man sich die Stats auch ĂŒber das MenĂŒ anschauen könnte (den Grundbefehl habe ich auf einer Taste, aber möchte ungern eine weiter (von lediglich 5) fĂŒr den Stats Befehl vergeben - und ich schaue öfter nach, ob schon ein weiterer Bereich dazugekommen ist :D

    Und ich frage mich, ob die Anzeige, dass keine Bereiche zur VerfĂŒgung stehen, nicht ausgeblendet werden könnte!? Das ist mir ein wenig zu viel an Info; man lĂ€uft vermutlich öfter durch die Gegend, als dass man sich in seinem Bereich aufhĂ€lt. Hm, vielleicht könnte eine kruze Info erscheinen, wenn ein weiterer Bereich dazugekommen ist, anstatt die ganze Zeit, dass man keine hat (dann könnte ich mir das Nachschauen auch sparen) :thinking::?:


    o.k. das wĂ€re fĂŒrÂŽs erste mein Feedback .... Du hast einen super Job gemacht :thumbup::thumbup::thumbup:

  • Hey, danke erstmal fĂŒr dein Feedback.

    Ist das mit dem Crash immer wieder reproduzierbar? Könntest du das auf dem testserver mal gucken ob das auch dort passiert?


    Wenn du mit der Anzeige der Bereiche die generelle Anzeige oben links meinst, dann hat diese eigentlich genau die Funktion zu zeigen in welchem Bereich man sich befindet oder ob man diesen einnehmen kann oder halt nicht. Wenn ich die Anzeige ausblenden lasse wenn man den Bereich nicht einnehmen kann, könnte das andere wieder verwirren weil sie nicht wissen warum sie dann jetzt den Bereich nicht einnehmen können 😅


    Allerdings hatte ich mir fĂŒr mein neuestes Plugin schon ĂŒberlegt, dass ich sowas wie Einstellungen fĂŒr die Spieler selber brauche. Wenn ich das implementiert habe, kann ich auch speichern ob jemand die Anzeige oben sehen möchte oder nicht und dann ein kleines overlay machen indem man die Einstellungen einstellen kann halt 😅


    Ja das mit den stats wollte ich selber schon in ein Fenster umwandeln dass man ĂŒber das MenĂŒ öffnen kann. Ich werde nach und nach wahrscheinlich alle konsolenbefehle bzw Chat Befehle irgendwie durch menĂŒpunkte ersetzen. Wahrscheinlich werde ich das mit dem allgemeinen mod-info zusammengelegt in so ein infofenster packen dass man ĂŒber das MenĂŒ öffnen kann.

  • Hab es geschafft Devidian ... einmal nach Norden und beim Erweitern nach Westen hat sich Dein Server verabschiedet :D


    edit: kann es sein, dass es ein Maximum an GrĂ¶ĂŸe gibt? Habe eben nochmal versucht Richtung Westen zu erweitern; die Seite hat 7 Chunks. Allerdings ging es auch nach 4-5 Versuchen nicht (auf meinem Konto sind noch genau 7 Chunks verfĂŒgbar) ... ABER, der Server hat diesmal meinem Versuch stand gehalten ;)

  • Ich hab im Discord gesehen das der server einfach wieder online kam ohne offline gewesen zu sein als du da warst. ich checke die logs sobald ich zeit habe. Und eigentlich sollte es kein Limit geben, mein gebiet auf dem testserver ist grĂ¶ĂŸer und auf unserem Hauptserver hat glaube ich schon jemand ein Gebiet das 40 chunks oder so hat.

  • Ok ich habe zwei fehler in den logs gesehen, ausschalggebend war wohl dieser hier:


    Code
    [ERROR] [10:07:31] [JNI exception] java.lang.NullPointerException: Cannot invoke "net.risingworld.api.objects.Area.getStartChunkPosition()" because "area" is null
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    JIW.JNI.Wrapper.Env.JNIEnv:CheckException()
    RisingWorld.PluginAPI.Types.UI.JUIElement:OnClick(JNIEnv, JObject)
    RisingWorld.Server.Network.Listeners.ServerAPIListener:APIClickUIElementReceived(IPacket, AbstractConnection)
    JIW.Network.Core.Common.Event.ReceiveServerPacketEvent:Execute(AbstractNetworkServer, NetworkEvent)
    JIW.Network.Core.Common.Event.NetworkEvent:Execute(AbstractNetworkServer, AbstractNetworkClient)
    JIW.Network.Core.Common.Channel:Run()
    System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)


    Hast du evtl zu schnell hintereinander erweitert? das er quasi mit dem erweitern noch nicht fertig war ? Ich werde dafĂŒr auf jeden fall einen fix einspielen, muss nur herausfinden wieso an der ensprechenden stelle ĂŒberhaupt area null war...

    Ein weiterer Fehler war noch etwas weiter vorne, da weiss ich aber nicht wo der passiert sein soll:


    Code
    [ERROR] IndexOutOfRangeException: Invalid offset (WorldPart): -310 (length: 532512)
    RisingWorld.Common.World.Dungeons.DungeonElement..cctor () (at <00000000000000000000000000000000>:0)
    RisingWorld.Common.World.Dungeons.DungeonElement..cctor () (at <00000000000000000000000000000000>:0)
    RisingWorld.Server.Npc.Threading.ServerNpcManagerThread.SpawnSurfaceNpcs (RisingWorld.Server.Chunks.ServerChunkPart chunkPart, RisingWorld.Common.Definitions.Biomes+Region region, RisingWorld.Common.Definitions.Biomes+Biome biome, System.Single spawnProximity) (at <00000000000000000000000000000000>:0)
    RisingWorld.Server.Npc.Threading.ServerNpcManagerThread.Run () (at <00000000000000000000000000000000>:0)
    System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at <00000000000000000000000000000000>:0)
    ExceptionExtensions:PrintStackTrace(Exception)
    RisingWorld.Server.Npc.Threading.ServerNpcManagerThread:Run()
    System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)


    WorldPart verwende ich meines Wissens nirgends

  • Devidian

    Changed the title of the thread from â€œđŸš©OZ - Land Claim v0.1.5 (Initial release!)” to â€œđŸš©OZ - Land Claim v0.1.7 (Initial release!)”.
  • released v0.1.7


    - fix: possible nullpointer exception


    Also released v0.2.0 (REQUIRES OZ Tools v0.12.0+)

    - feat: settings are now persisted to SQLite

    XING | LinkedIn
    Steam | Discord @ Omega Zirkel

    My Plugins:

    OZ Tools | OZ Discord Connect | OZ Global Intercom (unity version in progress) | OZ Land Claim | OZ Currency (planned) | OZ GPS (currently in development)

    Edited once, last by Devidian ().

  • Devidian

    Changed the title of the thread from â€œđŸš©OZ - Land Claim v0.1.7 (Initial release!)” to â€œđŸš©OZ - Land Claim v0.2.0 (Persist player settings)”.
  • - Könntest du einen max claim limit hinzufĂŒgen? Also, dass ein Spieler z.B. maximal bis 30 chunks claimen kann, auch wenn er wochenlang spielt.
    - Spend more time ggf auch auf Deutsch ĂŒbersetzen und einen (Timer) hinzufĂŒgen, sodass man weiß, wie lange man warten muss.
    - Wenn ein Chunk freigegeben wurde, sollte man einen Chunk vielleicht auch gleich wieder claimen dĂŒrfen (der Cooldown sollte nur auf neue Chunks angewendet werden)

    - ggf eine Unterteilung nach Rollen (Rolle X kann von Anfang an mehr Chunks claimen, muss weniger lange warten und/ oder hat ein höheres Max Claim Limit als Rolle Y).

  • Moin und schönen Feiertag,


    also ich könnte mir eine Bereichsgrenze vorstellen, so dass man einen Bereich nicht unendlich erweitern kann. Vielleicht möchte man sich ja auch noch in der WĂŒste irgendwo niederlassen, oder sonst wo, da denke ich, braucht es eine grundsĂ€tzliche Obergrenze nicht.

    Zumal ja auch geplant ist, Chunks abtreten/verkaufen zu können,

  • Könntest du einen max claim limit hinzufĂŒgen? Also, dass ein Spieler z.B. maximal bis 30 chunks claimen kann, auch wenn er wochenlang spielt.

    Das hatte ich auch schon mal ĂŒberlegt, man kann es aber theoretisch auch so realisieren indem man Base Limit auf 30 setzt und Claims pro Zeit auf 0 oder so, das man quasi keine neuen Claims bekommt.


    Spend more time ggf auch auf Deutsch ĂŒbersetzen und einen (Timer) hinzufĂŒgen, sodass man weiß, wie lange man warten muss.

    Ah das muss die Meldung beim erweitern sein, ja werde ich machen, eigentlich war nie geplant das die Meldung ĂŒberhaupt kommt weil alle Checks vorher das verhindern sollten, aber beim erweitern ist das nicht so einfach da er die Zeit von allen Zellen zusammen rechnet.


    Wenn ein Chunk freigegeben wurde, sollte man einen Chunk vielleicht auch gleich wieder claimen dĂŒrfen (der Cooldown sollte nur auf neue Chunks angewendet werden)

    Kann man auch, wenn die Zeit im chunk gesammelt wurde. Wenn es vorher ein erweiterter Claim war hat man evtl noch nicht genug Zeit im freigegeben chunks verbracht.


    Zeiten werden pro chunks gesammelt und die Zeit wird auch weiter gesammelt selbst wenn man geclaimt hat. Das ist fĂŒr andere Features relevant die ich evtl noch umsetzen möchte.

    ggf eine Unterteilung nach Rollen (Rolle X kann von Anfang an mehr Chunks claimen, muss weniger lange warten und/ oder hat ein höheres Max Claim Limit als Rolle Y).

    Schwierig, da jeder Server eigene Rollen hat und das Plugin nur area permissions. Und ich bin mir ziemlich sicher das man in den permissions keine custom Werte definieren kann. Da mĂŒsste ich dann schon wieder rollen vordefinierten die man als Admin dann höchstens eigenen rollen zuweisen kann.

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!