Posts by red51

    Have you thought about using some services like Crowdin :thinking: I know that a similar game Vintage Story is using it for community translations.

    It's unfortunately not sufficient for an official translation. A human is still required to make sure the translation is correct... having bad language support with wrong translations is often worse than having no language support... :/


    But as mentioned, creating community translations is very easy in the new version (the language files are just stored in the game directory and can be easily modified or new language files could be added) - unlike in the Java version, where it was quite tricky to edit the language files^^

    somewhat related question, is there a reason why the player doesn't spawn at 0,0, red? it seems logical to me that the center of the world would be the main spawn and i've always wondered about that. i think in ark the reason was that 0,0 sometimes got a little... weird?

    0 0 is basically a perfectly fine location, but you don't spawn there due to the way how islands are distributed: the world is divided into sectors, and each sector has a size of 8192 blocks. There is a sector from 0 to 8192, another sector from 8192 to 16,384, there is also a sector from -8192 to 0 etc. Islands never spawn exactly at the edge of a sector (or more precisely, the edge of a sector is always ocean), that's why 0 0 (i.e. at the edge of a sector) is always ocean (so the player never spawns there) ^^

    Bitte keine alternativlose 3rd Person Ansicht beim Reiten, fand gerade das Reiten in der Java Version gut wie es war. Natürlich als Option wenn es gewünscht wird ja, aber nicht als einzige Option.

    Wenn wir das einbauen, wird es definitiv nur eine Option sein, d.h. niemand wird zur 3rd-Person Ansicht gezwungen ^^


    Beispiel die Karte finde ich auch gut wie sie ist mit eigenen Markierungen und Benennungen und vor allem fand ich auch, dass die Points of Interests in eine gute Richtung gingen, es sollte ja noch anderes kommen.

    Die Karte wird leider von ihrer Art und Weise etwas anders ausfallen als in der Java Version... dazu sind wir allerdings aus technischen Gründen gezwungen. Die Java-Version hat die Karte so generiert, dass die Landschaft von oben gerendert wurde, das Spiel also quasi mehrere Screenshots aus einer Draufsicht erzeugt und zusammengefügt hat.

    In Unitys HDRP ist das leider nicht so einfach möglich, da das zusätzliche Rendern abseits der Spielersicht sündhaft teuer ist (in puncto Performance). Das ist m.E. leider ein fundamentales Manko in der HDRP Architektur... eine Karte wie in der Java Version ist also leider nicht performant zu implementieren...


    Stattdessen wird die Karte abstrakter sein und quasi nur die Insel selbst repräsentieren. Das ist zwar leider weniger hübsch, hat aber dafür andere Vorteile - zB kann dadurch ein deutlich größerer Bereich (oder gar die ganze Insel) dargestellt werden, während in der Java Version ja immer nur ein relativ kleiner Teil aufgedeckt wurde (eben das, was auch generiert war und dadurch gerendert werden konnte).

    Man wird aber natürlich auch weiterhin Marker setzen können usw.


    Eventuell wird es in Zukunft trotzdem nochmal eine Karte wie in der Java Version geben (dann entweder als zusätzliche Karten-Art oder als GPS Gerät o.ä). Das hängt davon ab, ob sich die Möglichkeiten entweder in einer neueren Unity-Version ändern, oder ob wir ggf. die Render-Pipeline wechseln (von der HDRP auf die URP) ;)

    To ban a player that is online, just use the regular ban command ban <name/uid> <duration> [reason], e.g. "ban Testplayer -1 Griefing is not allowed" (to ban a player "Testplayer" permanently with the reason "Griefing is not allowed"). Instead of the player name, you can also use the UID (which is usually better).


    To ban a player that is currently offline, you have to use the command offlineban instead, e.g. "offlineban 76561197960265720 -1 Griefing is not allowed"

    Sorry for my late response! But things like bladder, hygiene or energy isn't planned right now... maybe it will be added in the long run, but probably not in the foreseeable future ^^


    But it is our intention to add various buffs in the future^^ Things like food spoilage and tool wear are also planned btw.


    i know in the java version if you changed things in the db of a multiplayer server it could cause some sync issues. not sure if this is still an issue with unity. maybe red51 could let us know.

    It depends: Both the client and the server use the database. If a particular setting is only used serverside (e.g. aggro range or health of an npc, damage per item hit, world-related things like biomes etc), you can safely modify it in multiplayer and it will work properly.


    But if a particular setting is used clientside, serverside modifications will not be applied clientside. E.g. things like the asset path of an item, the animation or move speed of an npc, or weather settings (except things like duration). Changing these things usually has no effect.


    When changing crafting recipes, it's a bit tricky: the actual crafting is handled serverside (so the server checks the recipe and verifies that the client has all required ingredients etc), however, the crafting UI is shown clientside (obviously). The client also checks if all ingredients are in inventory before sending a crafting request to the server (this is done to prevent the client from spamming the server with useless requests).


    We will change that in the future though, so the definitions will be synced between the client and server - once that's done, you can change any definitions on your server and that will be properly applied to all clients automatically. Alternatively it will be also possible to do that through the API then ;)

    Die neue Version verwendet keine .permissions Dateien, das sind die Dateien der Java Version, wie noci schon sagt... möglicherweise ein Überbleibsel einer vorherigen Java-Installation o.ä.? In der neuen Version werden solche Dateien auf jeden Fall nicht ausgeliefert, sondern nur die .json Dateien... es ist nachvollziehbar, dass das Vorhandensein von .permissions Dateien Verwirrung stiftet :/


    Der Server wird standardmäßig mit einem Ordner Namens "Permissions.Example" ausgeliefert (das ".Example" aus dem Grund, da Steam die Dateien bei einem Update sonst jedes Mal überschreiben würde). Darin befindet sich die "default.json" sowie eine beispielhafte "example.json" Area-Permission und eine "admin.json" Gruppen-Permission (auch die ist nur ein Beispiel für eine Permission einer möglichen "admin"-Gruppe - der Name ist völlig beliebig und nicht zu verwechseln mit Admins, die in der server.properties eingetragen sind).


    Wenn keine Permissions vorhanden sind (Ordner wurde gelöscht o.ä), dann werden die Standardpermissions des Spiels verwendet - was relativ nahe an den Standardwerten in der mitgelieferten default.json ist.


    Wegen dem "Permissions_AdminsFullPermissions", wenn das aktiv ist, werden sämtliche Gruppenpermissions für Admins (also für die, die in der server.properties eingetragen sind) ignoriert. Dann werden Standardeinstellungen des Spiels verwendet (weitgehend die Berechtigungen, die auch im Singleplayer gelten).

    Is there a process I need to follow to add my new multiplayer Server to the server list in the multiplayer tab in the game.

    Servers are automatically added to the server list, as long as Server_Visible is set to true in the server.properties (which is the default setting). But the server list is only updated ~ every 60 seconds, so a server may not show up there immediately after starting it ;)

    Male animals (at least bulls and rams) will always attack you, but only if you attack them first (otherwise they're passive). Same about goats (both male and female). This feature is always active ;)

    Ich möchte mit der Item-ID und der Viariante die Klasse "Item" oder wenn das nicht geht zumindest den Namen zurück bekommen. Ich will z.B. wissen, welches Item kommt bei der ID 25 raus.

    Was du suchst ist eine "ItemDefinition". Denn ein "Item" Objekt ist bereits eine konkrete Item-Instanz in der Spielwelt bzw. im Inventar eines Spielers (oder in einer Kiste). Die Meta-Daten eines Items (also der interne Name, die ID, den Item-Typ usw) sind hingegen in den Definitions gespeichert.


    Wenn du bereits ein konkretes Item hast und wissen willst, welches Item es ist, kannst du item.getDefinition() aufrufen, um die zugehörige ItemDefinition zu erhalten. Wenn du das hingegen ganz allgemein haben möchtest, sprich du hast eine ID oder einen Namen und willst die zugehörige Definition haben, musst du Definitions.getItemDefinition() verwenden. Beispiel:

    Java
    //Suche nach ID (alternativ kannst du auch einen Item-Namen angeben)
    Items.ItemDefinition def = Definitions.getItemDefinition(25);
    if (def != null) {
    System.out.println("ID 25: " + def.name);
    }
    else {
    System.out.println("No item with ID 25 found!");
    }
    //Ausgabe: "ID 25: rakewood"


    Wenn keine Definition gefunden wurde (weil es das gesuchte Item bzw. diese ID nicht gibt), dann wird null zurückgegeben.


    Gehört zwar nur bedingt hier hin, aber kennt jemand den Konsolenbefehl für ein komplettes Motorboot ?

    Das Motorboot heißt rib, du kannst es also mit spawnvehicle rib spawnen ;)

    Hehe, it could be considered a minor easter egg :D Back then when we were working on the demo, we've created the swarm of flies. Actually they were even in the demo world (a bit behind the starter cabin). We have some future plans to spawn them naturally in the world (either spawn them randomly, or at some points of interest [e.g. buried chests], or near dead bodies etc), but until then, we decided to spawn them at 0 0 (considering this is always in the middle of the ocean, so likely they shouldn't interfere with any buildings etc) ^^

    The problem is that we're baking shadows dynamically (for reasons of performance, so shadow casting does not need to be performed every frame). Unfortunately the current implementation still has some limitations... the shadow maps are only updated if you modify the surrounding world (e.g. remove or place a block), but it doesn't react to dynamic elements like animated objects (e.g. doors), players, animals etc.


    You can "fix" that by turning the lamp off and on again (this forces the game to recalculate the shadows), so it will recognize the closed door.


    There is a hidden setting to force dynamic shadows, but that has a big impact on performance (and it gets worse the more lights you're using), so it's not recommendable to use that


    We'll rework the shadow caching in the future, so it will properly recognize nearby changes (like closing/opening a door, moving animals etc).

    Unfortunately we cannot add support for more languages while the game is still in early access :/ We're not able to maintain any language other than German or English ourselves, so we would have to rely on external translators for that. This, unfortunately, could result in additional delays of our updates (because the language files change with almost every update, and we would have to wait until the external translators are ready, which could take weeks in the worst case). In addition to that, we don't have the funds to hire a professional translator atm...


    But once the game is out of early access (or at least in beta state), adding official support for more languages would be possible ;)


    Having said that, the language files for the new version are easily accessible (they're located in the "Data/StreamingAssets/Languages" folder) and can be modified with a text editor. Modifying these files (or adding new language files) should never cause the game to crash (at least we're not aware of any situations where this results in a crash).

    Ich weiß nicht, ob es bereits möglich ist, aber ich brauch unbedingt eine Methode, wo man ein Item-Objekt durch TypeID und Variante erhält, damit man z.B. den Namen auslesen kann.

    Es gibt bestimmt die Methode, die du suchst, aber leider habe ich nicht ganz verstanden, was du meinst :saint: Worum geht es dir konkret? Möchtest du Items spawnen, oder nur den Namen eines bestimmten Objektes/Items erhalten?


    Gibt es eine Möglichkeit, eine Liste aller Item-IDs zu erhalten, das man auch herausfinden kann, welche Item-IDs es gibt.

    Ja, mit Definitions.getAllItemDefinitions() kannst du alle Item-Definitionen auslesen. Die Item-Definitionen enthalten quasi alle Daten, die in der "definitions.db" im Spielverzeichnis (unter Data/StreamingAssets) gespeichert sind (mit diesen Daten arbeitet auch das Spiel selber). Bedenke aber, dass das Array auch null-Einträge enthalten kannst, das musst du daher beim durchgehen prüfen:

    Java
    for (Items.ItemDefinition itemDef : Definitions.getAllItemDefinitions()) {
    if (itemDef != null) {
    System.out.println(itemDef.id + " - " + itemDef.name);
    }
    }

    Der Wechsel der Kopfbedeckungen trat eigentlich erst auf, nachdem ich toggleterrain benutzt hatte. Davor nicht.

    Das hängt mit dem Befehl nicht zusammen, bzw. wenn, dann ist das Zufall ^^ Das Problem tritt auf, wenn du deine Kleidung (oder Kopfbedeckung) wechselst nachdem du einen Dummy gespawnt hast (aber bevor du die Welt einmal verlassen hast).

    Das hat sich wieder erledigt. Nachdem ich mit den Grafikeinstellungen rumexperementiert habe, hatte ich SMAA statt wie sonst FXAA aktiv. Die Einstellung habe ich wieder rückgängig gemacht und alles sieht so wie früher aus. Da mir das erst nach dem letzten Patch aufgefallen ist, dachte ich zunächst, dass ihr was geändert habt :saint: . Deshalb habe ich meinen Post wieder gelöscht.

    Oh, achso, hatte deinen Post noch zwischengespeichert und gar nicht realisiert, dass du ihn bereits gelöscht hast :saint: Freut mich aber, dass alles wieder beim alten ist :D

    Unfortuantely there is no such method in the new API yet :/ Using it was a bit tricky: Many built-in sound events couldn't be played properly (some required additionial parameters or had certain requirements). Most sounds also have an instance limit, so depending on the situation, it may or may not work. Not a very reliable API ^^


    Was there a specific game sound you wanted to play? We could maybe add this to the Internals API instead^^


    We've also plans to expose specific built-in sounds. We want to add a creative mode tool to place various sound effects in the world. We've prepared various generic sound effects for that (e.g. typical city sounds, machine sounds, vehicle sounds etc). Of course these sounds will also be exposed to the API once ready ;)

    It turned out that the Windows console is a bit more limited that expected :/ It doesn't support arbitrary colors, instead you can only select a few pre-defined colors. The last hotfix has added the new Internals.println() method which accepts a color ID. Not a perfect solution, but better than nothing ^^


    We may change this method in the future, so I'd recommend to create a new function which wraps the internal function ;)

    :saint: red51, du hast doch zugriff auf einiege Steam Daten, zumindestens die ID und das Profielbild.

    Leider ist das etwas komplizierter :saint: Das Spiel hat über die Steam API tatsächlich Zugang zum Avatar, das Problem ist aber leider, dass der Server das nicht hat (bzw. Steams GameServer API keine Funktionen dafür bietet, sofern ich nichts übersehen habe)... die Plugin API kann also nicht direkt die Steam-API verwenden. Würde die Plugin API stattdessen clientseitige Funktionen zum Auslesen des Avatars verwenden, würde das nur im Singleplayer klappen, nicht aber im Multiplayer (wenn die API auf einem Server läuft). Hinzu kommt aber leider auch, dass das dann nur bei Steam-Usern funktionieren würde...


    Ggf. wäre es überlegenswert, dass der Client künftig sonst einfach selbst seinen Avatar an den Server sendet. Dann könnte sowas natürlich auch über die API zugänglich gemacht werden. Ich packe das mal auf unsere Liste. Spätestens wenn das Spiel das irgendwofür benötigt (um zB die Avatare in der Spielerliste anzuzeigen o.ä), würden wir sowas einbauen ^^