OKe in the Java version the folder is called plugins
Posts by noci
A new update (0.9.2) is available now!
Latest Hotfix: 0.9.2.1 (2026-05-13)
Latest Hotfix: 0.9.2.1 (2026-05-13)
-
-
Normally the plugin folder should be created automatically, in the original the folder is called Plugins
I tried gps plugins and pnb to test it out.
To my knowledge the two are for the Java version
-
Dieses Plugin ist für die Gruppen Steuerung von Lichtern gebaut worden.
Lichter können mit /st Spieler unabhängig oder mit /gt für alle Speler, in Gruppen eingeteilt werden die gemeinsam, an und aus geschaltet werden.
Falltüren können als Schalter genutzt werden.
Die erstellten Listen können über einen Timer gesteuert werden
Admins haben die Möglichkeit Spieler Listen zu Sehen, Lampen aus allen Listen zu entfernen oder den verwendeten Timer zu entfernen
Eine Unabhängiege Funktion um Global durch den Admin gesteuerte Listen mit Timer zu erstellen, ist ebenfalls Integriert.
Eine Liste Straßen_Licht könnte für alle Laternen und Lichter im Außenbereich verwendet, und von jeden Spieler individuell gesetzt werden.Das erspart jedem Spieler eine eigene "Straßen_Licht" steuerung zu erstellen
- /st ? Übersicht Befehle
- /st <liste> Listen Informationen
- /st <liste> add Begint die Registrierung der Lampen die Hinzugefügt werden
- /st <liste> del Begint die Registrierung der Lampen die Entfernt werden
- /st Beendet das Registrieren und gibt eine Übersicht aus
- /st <liste> remove Entfernt die Komplette Liste
- /st <liste> timer <on> <off> (+) Erstellt einen Timer, Zeitangabe Stundenweise und Minutenweise ... timer 21 7:30 und für Permanete Prüfung... timer 21 7:30 +, TimerOnly mit... timer 21 7:30 -
- /st <liste> timer remove Entfernt den Timer
nur für Admin sichtbar
- /st ADMIN Begint die Registrierung für Algemeine Informationen einer Lampe, Spieler Übergreifend
- /st ADMIN del Begint die Registrierung zum Entfernen aus allen Listen
- /st ADMIN remove timer Begint die Registrierung zum Entfernen aus allen Timern
Globale Funktion
- /gt ? Übersicht Befehle
- /gt <liste> Listen Informationen
- /gt <liste> add Begint die Registrierung der Lampen die Hinzugefügt werden
- /gt <liste> del Begint die Registrierung der Lampen die Entfernt werden
- /gt Beendet das Registrieren und gibt eine Übersicht aus
- /gt <liste> remove Entfernt die Komplette Liste
nur für Admin sichtbar
- /gt <liste> timer <on> <off> (+/-) Erstellt einen Timer, Zeitangabe Stundenweise und Minutenweise ... timer 21 7:30 und für Permanete Prüfung... timer 21 7:30 +, TimerOnly mit... timer 21 7:30 -
- /gt <liste> timer remove Entfernt den Timer
- /gt SHOW Informationen einer Lampe, wenn sie in einer Liste enthalten ist
TimerOnly, ist zwar ein wiederspruch zum Plugin Konzept, erspart aber ein Komplet Identisches Plugin mit der Funktion, das Lichter Unabhängig von einander zu einer Bestimmten Zeit ein- oder ausgeschaltet werden. Ist diese Option Aktiv, wird keine Gruppen Schaltung vorgenommen. Der Timer löst lediglich eine ein oder ausschaltung aus.
mit / wird eine Funktions Übersicht ausgegeben
Die Parameter können true oder false enthalten.
- Allow.Doors Alle Türen können in die Listen mit Aufgenommen werden
- onlyDrawbridge Nur die Zugbrücke wird in die Listen mit Aufgenommen
Die Datei wird beim Ersten Starten, Automatisch erstellt.
Alle Lichter, bissauf die Absperrung & Warnleuchte werden Unterstützt.
- FIX - Für Listen die keinen Timer hatten wurden keine Informationen angezeigt.
- FIX - Wurde auf dem Server, nie ein Timer eingestellt und Listen Infos angefordert, gab es einen Kritischen Fehler.
- UP - only Timer Funktion hinzugefügt
- FIX - anpassung für Version: 0.6.7_8
(1.9.4)
- ADD - drawbridge läst sich Unabhängin in der Config Aktivieren.
- ADD - Türen lassen sich in der Config Aktivieren.
- FIX - Türen arbeiten jetzt mit 0-100, anpassung Vorgenommen.
- FIX - ADMIN Show, Mehrfach auswahl Abgefangen, verhindert das Überschreiben des Orginal Farben Backups.
-
Wenn ich mir die Beispiel-Admin Datei anschaue, ist die nicht gerade auf dem neuesten Stand (es fehlen z.B. watertools) und über Blueprints steht auch nichts drin ... muss das dann alles
Du kanns die Einträge:
hier raus entnehmen!
Aus general_useallvehicles wird:und was nicht da steht, geht nicht?
Wird aus der Default geladen
-
Was meinst du denn jetzt? Dass das öffnen der Asset Bundles in Unity 3h dauert, oder wenn du es über die API im Spiel laden möchtest?
Um welches Asset Bundle handelt es sich denn genau?Ja, vieleicht weiß ich auch nicht wie das mit Unity genau geht, das muss ich noch mal in Ruhe Testen.
Bislang habe ich den AssetBundeltBrowser installiert und geöffnet und hier verusche ich ein *.bin rein zu Ziehen und dann habe ich
Also im Grunde einfach nur sowas
Das würde reichen

evtl. macht es aber Sinn, ggf. noch eine eigene "unequipItem()" Funktion o.ä. zu haben
Ja, vieleicht für de Überünerübernächste Update
wenn setEquippedItem() klappt, ist das auch gutIm Callback des Radial-Menüs kannst du dafür einfach erneut player.showRadialMenu() mit den aktualisierten Werten aufrufen.
Ja, das klappt soweit
Ginge das auch RekrusivDisplay MoreJavaKönnte mann so mit Untermenüs Arbeiten?
Werden da nicht Ketten gebildere derto mehr man hin und her Wandert, werden diese am ende auch Geschlossen
Oder ist da der Vortei von "Short Living Events"?
Müsste ich da noch etwas bereiniegen? (Damit Speicher nicht voll Läuft)Leider ist das nicht so einfach möglich, da das Radial-Menü ein Sonderfall ist
...
dafür müssten wir aber erst einige Anpassungen vornehmen. Ggf. können wir sowas in Zukunft anbieten
Oke, aber ganz Hinten auf die Liste!
Es ist ja schon sehr schön das es jetzt ein RadialMenü gibt und aufjeden Fall zwei ebenen möglich sind
wollte nur mal wissen was alles so geht
ich halte jetzt die Füße still bis Update Fertig ist
-
was in der admin.json hinterlegt ist ....
wenn du eine admin hast, benutze setplayergroup <name/UID> admin, ja hier kommt es auf die Groß und Kleinschreibung an
In den ServerProperties bin ich mit UID hinterlegt ... ja .... Und ich geh mal davon aus, dass der MasterAdminTag mit dem UID Eintrag erscheint und auch nicht weg zu bekommen ist!?
makeadmin ud revokeadmin entfernen den jewaliegen Spieler aus dem eintrag.
Wenn ich doch aber den ID Eintrag lösche und mich in die Gruppe "admin" packe, müsste er dann also verschwinden? Und ich auch das tun können, was in der admin.json hinterlegt ist ....
Ja.
muss ich in diesem Fall noch das mit den fullPermissions in der Server.Properities auf "false" setzen
Nein die gild für die "Master" Admins, für die Gruppen Admins ist das unwichtig
Es kann sein das du den Server aus und wieder Starten musst, irgendwann bleiben Reste zurück bei reloadserver und reloadpermission, manschmal muss auch der Chient neu angemeldet oder Sogar neu gestartet werden -
Erste Versuche wurden schon programmiert.
Ja das ist soweit Richtig

Es sind nur noch Bedienungselemente und kleinere Korreckturen der PluginAPI nötig, daher dauert es mindesten noch bis zum nächsten API-Fix, bevor es in die Beta Test Phase geht
besteht eigentlich die möglichkeit, dass jemand ein plugin machen könnte, das für spieler die möglichkeit schafft mit einem tool, oder über ein menü ein objekt in der welt zu spawnen, das in einem separten ordner als entsprechende datei hinterlegt is
Bislang sind auch nur die Unity-AssetBundel's unterstützt, nach dem API-Update werden auch noch OBJ und FBX hinzukommen.
Blender Dateinen direckt nutzen geht nur über den UnityAssetBundel weg, aber hierzu breuchte es ein eigenen Artikel.
Generell würde ein Unity einsteiger Kurs nicht Verkert sein, da ja auch nicht jeder der Models machen kann ein Bündel machen kann

-
- Da wehre zuerst die Frage hast du ein Gruppe Admin b.z.w. existiert RisingWorldDedicatedServer\permissions\groups\Admin.json (CaseSensitiv)?
- Eigendlich solltest du als Admin in der RisingWorldDedicatedServer\server.properties eingetragen bei Server_Admins=[SteamID], oder mit makeadmin, solange Admin bleiben bis revokeadmin ausgefürt wird oder die SteamID in den Properties entfernt wird.
Das [Admin] beim Namen zeigt das du einer der Master Admins bist, egal welcher Gruppe du angehörst
Das gruppen weckseln machst du mit setplayergroup?
Sollte deine Admin Grupe nicht existieren dann werden die Einstellungen aus der Default genommen!
Du kannst dein Aktuelle Spiel berechtiegung sehen:
In den Berechtiegungen kannst du dan sehen was wirklich gerade Aktiv ist.
Die Seite permissions-new-version hast du neben bei Offen?
Es Klingt aber eher danach das deine Admin Grupe nicht existiert. -
Was dauert so lange? Das Asset Bundle in Unity zu öffnen?
Ja, der AssetBundles-Browser von Unity macht das nicht! Ich habe nach 3h dann mal abgebrochen. Glücklicherweite gab es in der Komunity ein Alternative, die ist allerdings nicht für Große Dateien ausgelegt(1GB+ geht nicht).
Wenn es da noch eine Alternative für die Großen Datein gäbe wehre das schön
Was soll das TextAsset denn können?
Ja, einfach Text-Datein lesen. Die Rückgabe eines byte[] sollte voll ausreichen

vieleicht byte[] data =TextAsset.loadFromAssetBundle(AssetBundle bundle, String path) so in die Richtung.
Aber vieleicht ist das besser, das gesamte Pake von TextAsset.
Oder soll das einfach nur ein Weg sein, einen String aus einem AssetBundle zu erhalten?
Meinst du hiermit, man könnte dem Bundel noch Properties mitgeben
klingt Verlockend, aber denke das wird Komplizierter, also muss nicht sein
Direkt bestehende Texte des Spiels ändern kannst du leider nicht, aber du kannst eigene Elemente einem beliebigen Ziel hinzufügen mit Internals.addUIElementToPlayer()

genau das habe ich Übersehen(also Interface statt interface)
Läuft

Kann ich das [H] "Item weckstecken" ausführen?
Das nervt ein bisschen beim Platzieren
Dabei ist mir noch aufgefallen das player.getEquippedItem() immer NULL zurück gibt, das hatte glaube ich Patrick schon erwähnt wo er im Inventar getestet hatte.
Ich habe mich noch mal ein bisschen mit dem Radialmenü beschäftigt.
Ich habe versucht ein Radial Untermenü zu machen, dabei ist mir aufgefallen das es aktuell wohl nur ein Menü gibt
Wehre es möglich das Radialmenü als UIRadial zurück zu geben und es wehre schön wenn mann es ausblenden und beenden könnte, also das Hauptmenü Ausblenden wenn man im Untermenü ist. Mann müsste dan zwar mehr Steuern aber wehre halb so wild. -
Die Icons für das Baumenü liegen überwiegend in "interface/icons/building"
Ich habe das mal getestet:
was habe ich im Phat Vergessen?
Ich bekomme für die GameAssets keine "CH:" warscheinlich CheckSumme -
Auch wenn keine Areas vorhanden sind sollte diese Funktion eigentlich niemals null zurückgeben.
Ja, vieleicht ist schon Repariert

Alerdings wenn ich Versuche:
Bekomme ich:
Display MoreCodeIch hatte das Vorher, nicht so genau beschrieben

Unity bietet direkt einen Asset Bundle Browser als Package für den Editor
Das ist gut, kann man mal ein Liste erstellen

interface.bin mit 144Mb dauern bei mir schon über 50min.
hätte ich nicht gedachtMit dem nächsten Update kommt ja die getAllAssetNames() Funktion für Asset Bundles rein.
Das wird Rocken
Könnte man neben einem TexturAsset auch ein TextAsset Laden? So das im Bundel zu einem Prefab noch ein Vorschaubild und Beschreibung platzieren kann
Du meinst das Radial-Menü? Wahrscheinlich wäre da eine player.hideRadialMenu() Methode sinnvoll
Ja, Perfeckt

Also zumindest dass das Callback dann trotzdem aufgerufen wird
Das reicht volkommen aus

Das ist zumindest dann "normal", wenn keine Npcs deaktiviert wurden.
Oke, also direckt habe ich keine Abgeschaltet, ich hatte ja nur noch welche von dem Test mit spawnnpc <name> variante Übrig , bei den es mehrere Varianten gibt, aber das Maximun +1 dan wohl die diable ausgelöst hat.
Aber warscheinlich wird für die DisableNpc noch eine DB gemacht in der die nicht reingekommen sind, denke ich
Spawnen über die API und da zu deaktievieren habe ich noch nicht GetestetEine kleinigkeit habe ich noch

Kann ich hier HudLayer/hudContainer/leftContainer/buildingStatusContainer/transformStatusContainer/statusLabel rein Schreiben?
Im Style ist das ja nicht für den Text möglich, aber am Liebsten würde ich schon dein Baumenü nurzen
Mit player.addUIElement(UIElement, UITarget.HUD); komme ich ja auch nicht direckt bis zum HudLayer/hudContainer/leftContainer/buildingStatusContainer/transformStatusContainer/ um dort eventuell nur einen eigenes UILabel zu Platzieren
Kannst du da was anbieten, oder ist die gefar dann zu groß, das dass Spiel Instabiel wird -
Die nächste Frage wehre:
- ist das nur in den Gruppeneinstellungen, wie sieht deine default aus
- Benutzt du Areas? Hast du Prioritäten vergeben?itemgive Befehl
das wird ja in den command:{... gemacht, und betrifft nur die Consolen Komandos
aber es können dennoch fremde Sachen geblaupaust werden
Du kannst in den Einstellungen nachschauen ob "create": false gesetzt ist, wenn ja ist das eigendlich eine sache für Red.
Ich glaube aber an den Berechtiegungen wird noch gearbeitet
-
Hi, red51
Ich weiß nicht ob schon gemeldet wurde Server.getAllAreas gibt ein Arry mit NULL zurück

Wie kann ich herausbekommen welche GameTexturen wo sind? Also für loadFromGame und mir gehts um die ganzen Icons im Baumenü(Linke Seite) und die vom Radialmenu bei [C]
Also die Prüfung ob Taste Gedrückt ist bekomme ich hin, aber wie kann ich den Calback für den Spieler Schlißen wenn ich C Losllasse?Wehre es möglich bei showContextMenu, showRadialMenu, showMessageBox und vieleicht auch die anderen MessageBoxen, den Abbruch Registrieren? Also wenn das Menü zu geht weil mann daneben Klickt(außer Radial) oder mit ESC
Ich habe vor ein Löschne zu bestätiegen nur bekomme ich keinen Event bei den Beiden Aktionen

Bei World.getDisabledNpcs() kommt ein NULL zurück.
-
Du meinst XML serialization in Java ?
Ja, so heißt das Fachsprachlich

-
Beispiel / Vorschlag für eine Plugins\meinSuperPlugin\items.xml Date
Man könnte auch ein Plugin machen was so ein XML Versteht und daraus CustomItems macht
Soetwas Reitz mich schon seht, ich müsste nur noch den Punkt von einer XML zu einer Selbst Definierten Klasse in erfahrung bringen

-
Es gibt ja nur wenige Maustasten, sodass ich nicht weiß,ob wirklich einzelne Tasten registriert werden müssten
Ja, das war mir nicht Klar wie es im Hintergrund genau Läuft
warscheinlich war ich noch verwirrt wegen dem disalbeKey, ob ich nicht was zum registrieren braue
Klar lieber so einfach wie möglich
Oder bist du auf eine Funktion in der API gestoßen, die damit nicht korrekt umgehen kann?
Nein, alles gut. bei mir ging es um das Laden aus einer Config.
-
For me, it Works like System.out.println("Seed["+Server.getBuild()+"] ");
-
Einfacher und sinnvoller ist es bei einem Prefab eigentlich, die benötigten Texturen direkt beim Vorbereiten des Plugins (in Unity) mit ins AssetBundle zu packen
Ja, der Gedanke karm mir auch schon, einfach ein Bild für die Vorschau mit rein zu Packen

gerne auch mit Registrieren(wenn es Sinn macht)
Ich dachte da an registerMouseButton(Links,Rechts,Mitte,Rad) ähnlich wie bei player.registerKeys zum aun und aus schalten
Wie meinst du das genau?
Was das Färben von Plugin-Ausgaben angeht, meinst du die Ausgaben in der Konsole?Ja die Ausgabe in der Konsole, aber warscheinlich auch eher unwichtig, wenn man etwas sucht ist ein Editor für die Log eh besser und da gibt ja den [Java] eintrag
(int) (long)Long.parseLong
Ich hatte für die Konvertierung der Farbe vom Hex:FFFF FFFF = DEC:4 294 967 295 Probleme weil der Integer ja "nur" bis +2 147 483 647 geht, aber über den umweg das aus einem Long zu hole, den dan zu einem Integer machen und dann kann ich das erst richtig mit ColorRGBA(int rgba)
-
Für Modelle ist später eigentlich dann das Model Objekt die bessere Wahl - dort wirst du auch direkt ein Material zuweisen können

Oke, das Klingt gut🧘🏻♂️
Allerdings ist anhand des Datennamens der Typ oft schon erahnbar
das Reicht natürlich voll und ganz ausNein, derzeit leider nicht, da das fertige Modell erst beim Client existiert und der Server keinen Zugriff darauf hat.
Das währe erstmal nur für den Client selber(Ohne das zu Teilen als Poster oder so), an der Stelle wo ich das bräuchte, habe ich das Geladene PrefabAsset ...

Ich könnte da eine Temporäres Prefab erstellen, aber da wehren noch keine TextureAsset erst beim player.addGameObject ?Was wir sonst einbauen könnten wäre eine "getWorldPosition()" Funktion, die allerdings dann mit einem Callback arbeiten muss (da die Position erst vom Client ausgelesen und dann zum Server geschickt werden muss). Dann könnte man mit der API zumindest seine eigene Synchronisierung umsetzen^^
Ja sollte ausreichen
ich habe ein Würfel Mesh in die Handbekommen und da überkarm mich die Idee, einen Ingame Würfel zu machen
um gemeinsam zu Würfeln
Dazu wehre auch eine getWorldRotation() nicht schlecht
damit könnte ich auch herausbekommen welche Zahl oben ist und die LockalRotation bei der Synkronisation anpassendann quasi ein PlayerMouseButtonEvent oder so
Ja
gerne auch mit Registrieren(wenn es Sinn macht), interessant wehre da auch isPressd() und ein isDrag() oder vieleicht isHold() damit mann den Plazier Timer umsetzen kannHmm... das kann ich bei mir leider nicht reproduzieren
Ja
das habe ich befürchtetAlso ich habe das eigendlich in einer Verschachtelung von Sub-Klassen und Interfaces, alle anderen Player bezogenen Events/Funktionieren wie erwartet. Und beim disableClientsideKeys muss ich ja nichts vorbereiten, registrieren und so, das sollte immer vom Player aus möglich sein(das an und ab Schalten)?
Ich bin jetzt sogar soweit gegangen und habe zu Testzwecken das in den Ersten Event(PlayerCommandEvent) was durch ein Command ausgelost wir mit dem event.getPlayer(), nach dem Comando konnte ich aber weiterhin mit ESC in das Spielmenü kommen
Sogar ein Platzieren im PlayerSpawnEvent war ohne erfolg
Im Spawn habe ich auch Key.I Key.Tab auch hier gehen bei mir die Menü's auf, Key.W läst mich auch weiter Laufen
Ich habe noch etwas mehr getestet, denn mit Key.F12 geht es definitiv
und Key.F3
...
Oke leider habe ich bei mir festgestellt, das die einziegen beiden ClientsideKeys die ich abschalten kann sind die F1-12, aber auch nur den ersten in der Liste/Reienfolge ...Ich habe das Pfenomän Festgestellt das nur das aller erste disableClientsideKeys Funktioniert, die Liste scheint dann Fest zu sein, ich habe das auch nur mit einem Plugin getestet
Server Update# If true, player world events (e.g. place or remove elements or terrain) will be tracked and logged
Settings_LogWorldEvents=False
oder habe ich den erst jetzt wargenommenIch benutze den player.raycast der ist ebenfalls seht Informativ
zum Coden auf jeden fall gut das all die Infos drin sind, gerne auch noch einiege mehr
(z.b. uidebugger [Layername] um die Phade zu Kopieren
)
Nur für den Reguleren betrieb vieleicht auch ausschaltbar machen, vieleicht noch Settings_LogPlayerEvents, Settings_LogPluginEvents hier wehre auch eine 4. Farbe schön (Rot Fehler, Gelb Warnung, z.b. Türkis Plugin, Weiß Server) oder wenn man später noch die Plugin Ausgaben noch Färben könnte
Es gibt ja immernoch das Problem mit dem Player Namen im Spiel
Das sieht mir nach einem Rundungs/Konvertierungs Problem aus, in Java konnte ich das mit dem (int) (long)Long.parseLong lösen.
Vieleicht ist auch nur untergergangen

Texture2D duplicateTexture(Texture2D source)
Sowas ist gut, beim Thema Texture2D, gibt es da auch etwas zum Mischen oder Überlagern per Maske?
-
Hi red51 mMir ist aufgefallen das player.disableClientsideKeys(Key.Escape); nicht klappt, laut dem Log Disable 1 clientside keys [60] from plugin ToolsAPI (1) gibt es auch keine Probleme
Kannst du da noch mal nachschauen?