Posts by red51

    Sorry für die späte Rückmeldung! Das RCON Tool hat leider tatsächlich bisher keine weitere Aufmerksamkeit bekommen... momentan befürchte ich einfach, dass Teile der Community es uns übel nehmen, wenn wir 2 oder 3 Wochen in das RCON Tool stecken...

    Wenn wir aber das Storepage-Update endlich über die Bühne gebracht haben, können wir da wahrscheinlich endlich wieder ein größeren Augenmerk drauf legen ;)

    Sorry, dass ich erst so spät antworte, die letzten Wochen hat sich das Update komplett in den Vordergrund gedrängt! :/


    Also wenn das mit dem Behaviour und AttackReaction über die Npcs.NpcDefinition klappt, reicht mir das. Ich dacht nur das die NpcDefinition Final sind und "extra" gesendet werden müsten.

    Die NpcDefinition kann über die API aktuell leider noch nicht angepasst werden :/ Das ist in Zukunft aber geplant. Allerdings wird das dann entsprechend sämtliche Npcs betreffen (außer bei Npcs, bei denen es manuell überschrieben wurde).


    Für den Edito hätte ich allerdings noch den Vorschlag. Wenn man Selber Feindlich NPC's machen will, wehre die änderung der AttacDistance und Damage nicht schlecht, mann könnte somit unterschiedlich Starke Gegner machen.

    Das wäre grundsätzlich sinnvoll, wir müssen nur mal schauen, wie wir das am besten unterbringen ^^


    :saint: Lange Rede Kurzer Sinn: "Handwritten 1" und "Finger Paint 1" werden über die API zu Dafault.

    Hmm... ich muss mir das nochmal genauer anschauen... ich konnte das auf Anhieb leider nicht direkt reproduzieren :wat:


    plugin.executeDelayed und new Timer(0f, 1f / 4f, 0, () -> {}); sind Syncrone Processe?

    Ich habe einen Process der Blokiert, wenn ich ihn im Timer Ausführe ist für den Client alles soweit OKe, Console geht noch und ich kann Rumlaufen (etstmal nur kleinen bereich), aber Versuche ich mich erneut anzumelden komm ich nicht über 10% (Der Server ist Ausgelastet)

    Die werden alle im Main-Thread abgearbeitet (also ja, die sind synchron). Wenn dort etwas blockierendes gemacht wird, bleibt der Server stehen (zwar laufen Serverthreads weiter, aber der Main-thread ist trotzdem für viele relevante Dinge verantwortlich).


    Kann ich ein ExecutorService oder ThreadPoolExecutor nutzen?

    Ich habe das natürlich schon Probiert, aber dabei festgestellt das ich auch wenn der Pool "eigendlich" Leer ist, und der Server Beendet (exit und restart) bleibt die Java-VM hängen, bis zum X-en.
    Wenn das Theoretisch gehen sollte, muss ich mir das noch mal genauer ansehen ^^ (bin mit Executor noch am Anfang ^^)

    Klar, grundsätzlich kannst du alle Tools, die von Java zur Verfügung stehen, nutzen :)

    Wenn du Threads erstellst, solltest du sie als "Deamon" kennzeichnen - dann werden sie automatisch beendet, wenn der Prozess beendet wird. Wenn du einen ExecutorService verwenden möchtest, müsstest du zB eine ThreadFactory angeben, die die Threads erstellt und direkt via setDaemon() kennzeichnet.


    Wenn ich im Inventar den Letzten QuickSlot mit Gürtel (Slot 0/10) einen Block Dubliziere kommt ein Fehler index out of bounds, ohne Gürtel (Slot 5) geht dann direckt ins Inventar. 8)

    Stimmt, dass sollte nicht sein :wat: Danke für den Hinweis, ich werde das mit einem der kommenden Hotfixes beheben!


    Gibt es eigendlich eine "Area" im Cretiv-Modus auf die sich Comando Befele auswirken?
    Ich habe den edit move entdeckt, was hilfreich ist zum Knstruieren. Da dachte ich mir es wehre doch Cool wenn ich einen Bereich Makieren könnte und alles darin gewegen könnte, hier wehre es nicht Schlecht wenn die Auflösung der Area wie beim Löschen sehr fein ist.

    Nicht direkt... hier würde es doch vmtl. reichen, wenn das F8->2 Tool (wo man ja auch eine Area auswählt) zusätzlich auf den edit Command hören würde, oder?


    Köntest du noch ein Storage.setName(^^) mit auf die Liste Setzten?

    Das hat es tatsächlich noch ins aktuelle Update reingeschafft :D


    Was noch Net wehre das mann beim Storage UI den Mülleiner einschalten kann oder das wie beim Inventar im GM1 mit eingeblendet wird.

    Das müsste eigentlich auch über die Internals-API gehen... ich melde mich nochmal zu der Sache ^^

    Sorry für die späte Rückmeldung! Ränge in der Form gibt es leider bisher nicht... seitens des Spiels werden die Gruppenzuweisungen nicht automatisch verändert, daher gibt es so ein Konzept noch nicht.


    Was genau benötigst du für so ein Plugin denn? Einfach eine weitere Permission wie "rank", die der User in der Permission-Datei eintragen kann?

    Looks like the println (https://javadoc.rising-world.n…ntln(java.lang.String,int) statements do not get added to the log file.

    Thanks for letting me know! This should be fixed with the upcoming update :)


    And also the normal "System.out.print ()" is not on the log file and not in the Console.

    Hmm... unfortunately I could not reproduce that :thinking: Unless you change the output stream, it should automatically go to the log (and to the console) 8|

    Thank you so much for your feedback and your kind words :) Actually we're currently preparing the soundtrack and we hope to get it ready with the upcoming store page update (or shortly after that) ^^

    Only the original icons of hunger and thirst will not be removed.

    Hmm... this seems to be an issue in the game itself :thinking: According to the plugin code (thanks for posting it on github paulevs), it just overrides the style of the hunger/thirst icons (using the Internals API) - that code looks correct. However, apparently the way how searches/queries work have changed in Unitys UI Toolkit in newer Unity versions, which breaks our current code (used by the API to find a UI element) :wat:


    We will try to fix that with the next update. Unfortunately there is no workaround for plugin creators :/ But there is also no need for plugin creators to change anything (so this plugin should work properly again after the next update)^^

    Although, when I went into the game and opened the console with the Tilde (~) key, the logs were empty

    Sorry for the confusion :saint: As mentioned by james1bow , I was referring to the debug console (showing all outputs of the game which would end up in the log file, too), not the ingame console that can be opened by pressing tilde ^^

    Unfortunately the debug console isn't enabled by default, but you can enable it by opening the config.properties file (in the "_New Version" folder in the game directory) with a text editor and setting Game_DebugConsole to True. The debug console is a separate window, so it's also useful to run the game in windowed mode then (so the debug console remains visible)

    Are there really lots of people looking for such a feature? A demand for npcs/bandits attacking or raiding player bases (breaking down walls etc) indeed comes up from time to time (and some people are definitely looking for such a feature), but it's hard to tell how many people in the community really want this feature :saint:


    Honestly I'm not sure if such a feature would work well in RW... unlike in other games, the building system isn't made for this... ideally the game needs a simplified building mechanic for that (where you just use modular walls, foundations, roofs etc, i.e build a base quickly with very few elements, like in most other games). With the current building system, there is a chance that such a feature would mostly result in a lot of frustration for a new player who isn't expecting this (who spend a lot of time creating a detailed building and who may not be aware of blueprints yet) :wat:


    The building system also makes it quite easy (too easy?) for players to avoid bandit attacks. A player could create obstacles bandits couldn't pass anyway (e.g. create walls consisting of countless layers of thin blocks etc), so I'm not sure if such a feature really adds much of a "challenge" to the game.


    IMHO it would be more reasonable if bandits can only break through objects like doors, for example. However, the game definitely needs better pathfinding for npcs before we can implement something like that (or tinker with base raids etc in general). It's quite difficult to implement proper pathfinding in RW, mostly due to the building system (buildings could consist of so many building elements which would quickly kill performance if we take a traditional approach on pathfinding), so unfortunately it will require quite some work (definitely something for the post-storepage-update era) ^^


    About your suggestion regarding blueprint tags specifically, basically it's not a bad idea to have tags for building elements in general, but what would prevent a player from just assigning the "interieur" tag to his entire building (and therefore preventing bandits from breaking in)? If a player can easily circumvent base raids, I'm not sure if it that feature would be really useful? :thinking:

    Thanks for the log file! Unfortunately it doesn't contain any information about a crash, so this seems to be a native crash... unfortunately this makes it a bit difficult to find out what's really going on there :thinking:


    Currently the main reasons for a crash are either out-of-memory errors (according to the log, the server has 196 GB of RAM, but since it's a game hoster, there is most certainly a lot less available for the server), or - more likely - issues with a plugin. The problem with JNI (that's the way how plugins interact with the game) is that every exception always causes a fatal error (i.e. a hard crash). The server tries to prevent that, but apparently there are still situations where this happens.


    If you don't want to remove plugins temporarily (to see if you still run into crashes), maybe try this: open the server.properties file in the server directory with a text editor and set Plugins_SuppressFatalErrorLogs to False, then save the file and restart the server. Now when the server crashes, it should create a hs_err_pid file in the server directory. Maybe upload this file here :)

    These are the npcs that can be considered very rare (as of version 0.7.5.2) ;) You can spawn them with the spawnnpc console command (spawnnpc <name> <variant>, e.g. "spawnnpc pig carrot" etc):


    Danke für den Hinweis! Das Problem scheint damit zusammenzuhängen, dass das Spiel die Bilder im Cache speichert (und das mit abweichenden Auflösungen dann nicht zusammenspielt)... um das zu umgehen, kannst du in der config.properties Datei Game_CacheIcons auf False ändern (das hat eig kaum Auswirkungen, öffnen des Inventars könnte lediglich etwas langsamer sein), dann sollte es eigentlich funktionieren (alternativ kannst du auch den Befehl setoption cacheicons false verwenden) ;)


    Wir werden das mit dem nächsten Update aber korrigieren. Auch werden wir den Befehl dahingehend ändern, dass man eine Textur-ID angeben muss (bzw. -1 für alle Texturen verwenden kann) ^^

    Das ist wohl tatsächlich ein Bug :thinking: Wenn sich das Boot in Innenräumen oder unter der Erde befindet (vmtl. gilt einer der beiden Zustände unter den Brücken), wird die Windstärke reduziert (was erstmal gewollt ist). Nur leider wird zusätzlich die Beschleunigung des Bootes nochmal abgesenkt, wodurch das Boot ca. 10x langsamer ist, als es eigentlich sein sollte... wir werden das mit dem nächsten Update korrigieren :)

    Grundsätzlich haben die Permissions (also die, die bspw. mitgeliefert werden) nichts direkt mit der Admin-Berechtigung zutun - die "admin.json" ist zB einfach nur eine Beispielgruppe, die "admin" heißt, die ist unabhängig von Admins (deren UID in der server.properties eingetragen ist). Die hätte auch "owner" oder "full" o.ä. heißen können. Auch ein Admin ist also automatisch erstmal in der "default" Gruppe.


    Das klingt zwar tatsächlich erstmal irritierend, aber das Permission-System ist prinzipiell optional.


    Standardmäßig ist Permissions_AdminsFullPermissions auf True gestellt - dadurch werden die Permissions bzw. die Permission-Gruppe für Admins ignoriert und feste Berechtigungen dem Admin zugewiesen (zB darf er alle Commands ausführen usw).


    Wenn du als Admin eine andere Permissiongruppe haben möchtest (dich zB der "admin" Gruppe zuweisen willst), musst du das über den setplayergroup oder kurz spg Befehl machen, wie james1bow schon sagt. Wenn du in der "admin" Gruppe bist bzw. wenn die zugewiesene Gruppe die nötigen Berechtigungen enthält, kannst du danach entweder Permissions_AdminsFullPermissions auf False ändern, oder alternativ dich auch als Admin entfernen, entweder manuell oder über den revokeadmin Befehl (denn wenn du mit dem Permission-System arbeitest, dann ist es nicht unbedingt nötig, als Admin in der server.properties eingetragen zu sein).

    The code above looks fine (except the "1 usage" and "no usage" in lines 7 and 17, but that doesn't seem to be part of the code?).

    According to the folder structure, you will find the built plugin in the "artifacts" folder. Basically you just need the "TestPlugin.jar" file (unless you're using external assets like images or models, but that's a different story). Just move the "TestPlugin.jar" file into a separate folder in the "Plugins" dir, so it could look like this:

    Code
    Rising World
    |__ Plugins
    |__ TestPlugin
    |__ TestPlugin.jar


    When launching the game and loading a world, you should see the "Server name:" and "World Name:" output in the console/log. If that doesn't work, do you mind uploading the TestPlugin.jar here, so I can take a closer look at it? :)


    I've read both Getting Started and the Create a Plugin threads, and while they may make sense to someone experienced with Java tools, it seems as though I'm doing something wrong. It would help to see somebody set up a project from scratch, so a novice can see how to properly package a plugin

    Unfortunately the "Getting Started" and the "Create a Plugin" threads are a bit outdated... the content is still mostly valid for the new version, but we definitely want to rework them soon. We'll do that after the store page update ^^

    Oh, thanks for letting me know! It seems that the shutdown event is indeed not triggered if the shutdown restart is performed by the scheduler :wat: We'll fix that with the next update!

    Es scheint eine solche PID-Überwachung zu existieren! :) Nachdem ich den Server mit einem Konsolen-Shutdown gestoppt hatte, ist er von alleine wieder gestartet. Es sei denn, die Befehle "shutdown" und "restart", über Konsole eingegeben, führen beide einen anschließenden Neustart aus.

    Ahh, ok, dann ist zumindest dieses Rätsel schonmal gelüftet :D