-
Posts
2092 -
Joined
-
Days Won
947
Content Type
Profiles
Forums
Blogs
News
Store
Everything posted by Tyron
-
Dear Extraordinary Survivalists v1.18.9-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). Work on v1.19 is underway! It will likely be a smaller update than usual, but also completed sooner than usual. In the mean time, there are more important changes that we would like to release as part of 1.18 still. Functional silos by ElvisAlligator, shared in #screenshots on Discord Game updates Feature: Game servers can now be launched in standby mode (via command line argument -s). In this mode the server is ready to accept connections from clients, but has not launched yet. As soon as the first connection attempt is made, full server launch commences. This allows server owners to launch servers with very low RAM usage until the first player connects - tests show a 20-fold reduction in RAM usage (557 MB -> 25 MB). This can be used in conjunction with the "Players last online" counter of the /stats command to auto-shutdown idle servers and restart them in standby mode. During standby mode, only the commands /stop and /stats are available. Feature: Added new world config to define the despawn time of items dropped on death - only affects those dropped on death, not other dropped items. Can also use /worldconfig droppedItemsTimer command and specifying the time in seconds Tweak: Increased raft speed by 33% Tweak: Windows Installer: Add option to install .NET 7.0 (if not already present) Fixed: Pies in water crashing the game (#3041, thanks Dmitry221060) Fixed: More farmland moisture level oddities Fixed: Weird visual artifacts in the foliage tinting during certain times of year Fixed: --port arg not applying to master server advertising Fixed: Massive lag spikes when loading or searching in the public servers list Fixed: Rare game crash due to a 3rd party dependency not installed on the system (#3028) Fixed: Other players crashing when a player cancels during world load (thanks Dmitry221060) Fixed: Rare crashes on Ubuntu v22.04 (including crashes for clients, if the server was running that version of Linux) #2999, #3009, thanks to all who investigated the issue
-
Dear Extraordinary Survivalists v1.18.9-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). Work on v1.19 is underway! It will likely be a smaller update than usual, but also completed sooner than usual. In the mean time, there are more important changes that we would like to release as part of 1.18 still. Functional silos by ElvisAlligator, shared in #screenshots on Discord Game updates Feature: Game servers can now be launched in standby mode (via command line argument -s). In this mode the server is ready to accept connections from clients, but has not launched yet. As soon as the first connection attempt is made, full server launch commences. This allows server owners to launch servers with very low RAM usage until the first player connects - tests show a 20-fold reduction in RAM usage (557 MB -> 25 MB). This can be used in conjunction with the "Players last online" counter of the /stats command to auto-shutdown idle servers and restart them in standby mode. During standby mode, only the commands /stop and /stats are available. Feature: Added new world config to define the despawn time of items dropped on death - only affects those dropped on death, not other dropped items. Can also use /worldconfig droppedItemsTimer command and specifying the time in seconds Tweak: Increased raft speed by 33% Tweak: Windows Installer: Add option to install .NET 7.0 (if not already present) Fixed: Pies in water crashing the game (#3041, thanks Dmitry221060) Fixed: More farmland moisture level oddities Fixed: Weird visual artifacts in the foliage tinting during certain times of year Fixed: --port arg not applying to master server advertising Fixed: Massive lag spikes when loading or searching in the public servers list Fixed: Rare game crash due to a 3rd party dependency not installed on the system (#3028) Fixed: Other players crashing when a player cancels during world load (thanks Dmitry221060) Fixed: Rare crashes on Ubuntu v22.04 (including crashes for clients, if the server was running that version of Linux) #2999, #3009, thanks to all who investigated the issue View full record
-
- 11
-
-
-
-
Vintagestory dropped support for ARM with new 1.18.8 update
Tyron replied to Orion Tomasi's topic in Discussion
We will likely re-add support for ARM within a year or so -
Dear Extraordinary Survivalists v1.18.8, a stable release, can now be downloaded through the account manager (section "Other Goodies"). As mentioned in the previous devlog post we are migrating from the .net4 to the .net7 framework. It was a half year long parallel project that is now finally ready. Thank you to everyone who tested our net7 testing releases, that was immensely helpful! Screenshot by ElvisAlligator, shared in #screenshots on Discord Game updates (compared to 1.18.7) Changes in 1.18.8.rc.1 Feature: VS now runs under the .net7 framework, improving overall performance Feature: added option to set the window to be always on top (useful for multi-monitor setups with the net7 versions of the game) Tweak: server.sh for Linux servers: Fixed check for requirements and use the net7 dotnet binary to not require DOTNET_ROOT to be set to start the server Fixed: RiftWard stuck in off state when turned off and the world was reloaded (thanks Eugene [Discord] and korobya [PR #21]) Changes since 1.18.8-rc.1 Fixed: Able to refuel the terminus teleporter by breaking and placing it (thanks korobya) Fixed: Able to freely transport boiling water from hotsprings. Will now turn into normal water instead. Fixed: Should fix water not rendering on AMD cards with dynamic shadows disabled View full record
-
Dear Extraordinary Survivalists v1.18.8, a stable release, can now be downloaded through the account manager (section "Other Goodies"). As mentioned in the previous devlog post we are migrating from the .net4 to the .net7 framework. It was a half year long parallel project that is now finally ready. Thank you to everyone who tested our net7 testing releases, that was immensely helpful! Screenshot by ElvisAlligator, shared in #screenshots on Discord Game updates (compared to 1.18.7) Changes in 1.18.8.rc.1 Feature: VS now runs under the .net7 framework, improving overall performance Feature: added option to set the window to be always on top (useful for multi-monitor setups with the net7 versions of the game) Tweak: server.sh for Linux servers: Fixed check for requirements and use the net7 dotnet binary to not require DOTNET_ROOT to be set to start the server Fixed: RiftWard stuck in off state when turned off and the world was reloaded (thanks Eugene [Discord] and korobya [PR #21]) Changes since 1.18.8-rc.1 Fixed: Able to refuel the terminus teleporter by breaking and placing it (thanks korobya) Fixed: Able to freely transport boiling water from hotsprings. Will now turn into normal water instead. Fixed: Should fix water not rendering on AMD cards with dynamic shadows disabled
- 17 comments
-
- 20
-
-
-
-
Dear Extraordinary Survivalists v1.18.8-rc.1, an unstable release, can now be downloaded through the account manager (section "Other Goodies"). As mentioned in the previous devlog we've decided to push forward the .net7 migration of our game. To recap, .net (also written .NET but we think lowercase looks nicer!) is the software framework that we use to create the game and its latest incarnation, .net7, brings wide ranging performance optimizations that we are looking to capitalize on. This update 1.18.8 is functionally nearly identical to game version 1.18.7 except we have upgraded from net4 to net7. Players running this have been reporting large performance boosts... Note that it may require a download of the latest .net from Microsoft (https://dotnet.microsoft.com/en-us/download/dotnet/7.0) if you do not have that already. Vintagehosting (our server hosting service) does not yet support 1.18.8 but we hope to get that ready in a day or two. Vintagehosting support for 1.18.8 is also in testing phase. If you run into issues please downgrade to 1.18.7. This .net7 project had its roots in a proof-of-concept made in a couple of days by some of our community members. One of them now works for Anego Studios overseeing the net7 migration! I estimate it took us roughly 450 man hours to fully support it. One software library the modding community depended on wasn't even available for net7 until late this spring. As always, the devil is in the detail You would not believe how many issues we ran into when preparing this for public release. Glad to have this mostly complete now - let's squeeze out every last bit of performance from this engine! Screenshot by -=Kai=- (Conquest of Blocks), shared in #screenshots on Discord Game updates Feature: VS now runs under the .net7 framework, improving overall performance Feature: added option to set the window to be always on top (useful for multi-monitor setups with the net7 versions of the game) Tweak: server.sh for Linux servers: Fixed check for requirements and use the net7 dotnet binary to not require DOTNET_ROOT to be set to start the server Fixed: RiftWard stuck in off state when turned off and the world was reloaded (thanks Eugene [Discord] and korobya [PR #21])
- 7 comments
-
- 22
-
-
-
-
Dear Extraordinary Survivalists v1.18.8-rc.1, an unstable release, can now be downloaded through the account manager (section "Other Goodies"). As mentioned in the previous devlog we've decided to push forward the .net7 migration of our game. To recap, .net (also written .NET but we think lowercase looks nicer!) is the software framework that we use to create the game and its latest incarnation, .net7, brings wide ranging performance optimizations that we are looking to capitalize on. This update 1.18.8 is functionally nearly identical to game version 1.18.7 except we have upgraded from net4 to net7. Players running this have been reporting large performance boosts... Note that it may require a download of the latest .net from Microsoft (https://dotnet.microsoft.com/en-us/download/dotnet/7.0) if you do not have that already. Vintagehosting (our server hosting service) does not yet support 1.18.8 but we hope to get that ready in a day or two. Vintagehosting support for 1.18.8 is also in testing phase. If you run into issues please downgrade to 1.18.7. This .net7 project had its roots in a proof-of-concept made in a couple of days by some of our community members. One of them now works for Anego Studios overseeing the net7 migration! I estimate it took us roughly 450 man hours to fully support it. One software library the modding community depended on wasn't even available for net7 until late this spring. As always, the devil is in the detail You would not believe how many issues we ran into when preparing this for public release. Glad to have this mostly complete now - let's squeeze out every last bit of performance from this engine! Screenshot by -=Kai=- (Conquest of Blocks), shared in #screenshots on Discord Game updates Feature: VS now runs under the .net7 framework, improving overall performance Feature: added option to set the window to be always on top (useful for multi-monitor setups with the net7 versions of the game) Tweak: server.sh for Linux servers: Fixed check for requirements and use the net7 dotnet binary to not require DOTNET_ROOT to be set to start the server Fixed: RiftWard stuck in off state when turned off and the world was reloaded (thanks Eugene [Discord] and korobya [PR #21]) View full record
- 7 replies
-
- 12
-
-
-
-
-
We'll try to do 1.18.8-rc.1 as full switchover to net7 this week still, maybe even today
-
Dear Extraordinary Survivalists v1.18.7, a stable release, can now be downloaded through the account manager (section "Other Goodies"). This update contains a number of high priority fixes that make another 1.18 release worthwhile. Anego Studios Status update After the hectic release of 1.18 most off us went off the gas pedal, took some time off to recharge and enjoy the summer days. Most of the team has now returned from their holidays and activity is picking up again. As for me personally, there are a number of loose ends that I need to tie up before I can fully focus on actual game content again. I started on some updates on our model creator so that our artists can work to the best of their abilities, as well as some improvements to our world edit commands for Elvas, our builder. At the same time th3Dilli is finishing up the .net7 version of the game and so we are looking into perhaps making the plunge to .net7 as a minor update to 1.18. The release is however tightly coupled to also supporting .net7 on our Vintagehosting servers which is now in testing phase, while (again) at the same time we are in the final phases having principal mod support for Vintagehosting, which also requires a couple of updates on the game client for convenient mod management. On another front I am currently attempting to delegate more work that I have been doing so far, which is also a time intensive process. The first step in that direction was to promote Vallen to community manager and disabling my direct messages on discord, as about 50% of all DMs were things that can be handled via support tickets. I'm also looking into handing over development of Vintagehosting as well as a potential rewrite of the model creator. Redram has been churning out some very interesting mechanical power and animal models, but we don't know yet into which release those will go. Radfast has embarked on a grand journey deep into the game engine code, possibly never to be seen again . Should he re-emerge on the other side then the game engine will have an epic new feature that I shall not disclose for now Elvas is currently doing a full rework on our existing surface ruins, but I also cannot tell when that will make it into the game - soon or later for sure The next story event is in planning phase as well, I personally hope we can prepare some of it already as part of the 1.19 update - we still need to figure out what to prioritize, as we already have a gigantic list of things we would want to address as part of a dejank update. And lastly, most of the team, including myself, will meet for the first time in real life in London this October. We'll also take a peek at the EGX Event that happens around that time, and we'll likely also invite every one of you to come say hello. More information on that later. While taking quite some time organize, I believe it will greatly benefit us in the long term. In short, lots of things happening! Screenshot by Ave_Maria, shared in #screenshots on Discord Game updates Tweak: Can now eat honey comb directly Tweak: Added logging to identify issue with missing textures on toolracks Tweak: Show all processes on Linux and Mac too with /debug threadpoolstate Fixed: Completely broken visuals on some items stored on the ground, such as shoes Fixed: Block ticking not working at all in some cases in large worlds Fixed: Do not spawn massive amounts of threads during worldgen on CPUs with high core count. Should fix high cpu usage on CPUs with 20+ cores (and my game servers running at the same time) Fixed: .reload textures command not working and producing invisible chunks on redraw Fixed: Farmland had incorrect moisture level calculation from rainfall (thanks Amzd!) Fixed: Game server freezing completely on certain chunks from old savegames Fixed: Landform scale world config missing translation entries and using wrong default values Fixed: Able to build a coke oven from any material Fixed: Copying positions to clipboard should be disallowed if allowCoordinateHud is off and not with allowMap being off Fixed: /time add command result message only returning invalid language key Fixed: Coal burning only in layers (2 items) instead of per single coal Fixed: When only one coal was left in a coal pile you could not pick it up Fixed: .charsel leaving changed class on the client side if the player did not have permission to change it in the first place View full record
- 7 replies
-
- 10
-
-
-
-
Dear Extraordinary Survivalists v1.18.7, a stable release, can now be downloaded through the account manager (section "Other Goodies"). This update contains a number of high priority fixes that make another 1.18 release worthwhile. Anego Studios Status update After the hectic release of 1.18 most off us went off the gas pedal, took some time off to recharge and enjoy the summer days. Most of the team has now returned from their holidays and activity is picking up again. As for me personally, there are a number of loose ends that I need to tie up before I can fully focus on actual game content again. I started on some updates on our model creator so that our artists can work to the best of their abilities, as well as some improvements to our world edit commands for Elvas, our builder. At the same time th3Dilli is finishing up the .net7 version of the game and so we are looking into perhaps making the plunge to .net7 as a minor update to 1.18. The release is however tightly coupled to also supporting .net7 on our Vintagehosting servers which is now in testing phase, while (again) at the same time we are in the final phases having principal mod support for Vintagehosting, which also requires a couple of updates on the game client for convenient mod management. On another front I am currently attempting to delegate more work that I have been doing so far, which is also a time intensive process. The first step in that direction was to promote Vallen to community manager and disabling my direct messages on discord, as about 50% of all DMs were things that can be handled via support tickets. I'm also looking into handing over development of Vintagehosting as well as a potential rewrite of the model creator. Redram has been churning out some very interesting mechanical power and animal models, but we don't know yet into which release those will go. Radfast has embarked on a grand journey deep into the game engine code, possibly never to be seen again . Should he re-emerge on the other side then the game engine will have an epic new feature that I shall not disclose for now Elvas is currently doing a full rework on our existing surface ruins, but I also cannot tell when that will make it into the game - soon or later for sure The next story event is in planning phase as well, I personally hope we can prepare some of it already as part of the 1.19 update - we still need to figure out what to prioritize, as we already have a gigantic list of things we would want to address as part of a dejank update. And lastly, most of the team, including myself, will meet for the first time in real life in London this October. We'll also take a peek at the EGX Event that happens around that time, and we'll likely also invite every one of you to come say hello. More information on that later. While taking quite some time organize, I believe it will greatly benefit us in the long term. In short, lots of things happening! Screenshot by Ave_Maria, shared in #screenshots on Discord Game updates Tweak: Can now eat honey comb directly Tweak: Added logging to identify issue with missing textures on toolracks Tweak: Show all processes on Linux and Mac too with /debug threadpoolstate Fixed: Completely broken visuals on some items stored on the ground, such as shoes Fixed: Block ticking not working at all in some cases in large worlds Fixed: Do not spawn massive amounts of threads during worldgen on CPUs with high core count. Should fix high cpu usage on CPUs with 20+ cores (and my game servers running at the same time) Fixed: .reload textures command not working and producing invisible chunks on redraw Fixed: Farmland had incorrect moisture level calculation from rainfall (thanks Amzd!) Fixed: Game server freezing completely on certain chunks from old savegames Fixed: Landform scale world config missing translation entries and using wrong default values Fixed: Able to build a coke oven from any material Fixed: Copying positions to clipboard should be disallowed if allowCoordinateHud is off and not with allowMap being off Fixed: /time add command result message only returning invalid language key Fixed: Coal burning only in layers (2 items) instead of per single coal Fixed: When only one coal was left in a coal pile you could not pick it up Fixed: .charsel leaving changed class on the client side if the player did not have permission to change it in the first place
- 7 comments
-
- 37
-
-
-
-
Dear players, as part of our net7 upgrade we also exchanged much of the framework required to run the game, which also has better support for mac, so we would be very interested to know if this version works for mac users now - with the potential of officially supporting Mac again. You can download the net7 build from info.vintagestory.at Thanks!
-
Dear Extraordinary Survivalists v1.18.6, a stable release, can now be downloaded through the account manager (section "Other Goodies"). Hopefully the last release for 1.18.x unless something is critical enough to fix. Optionally, a .NET 7.0 build of this version is also available on info.vintagestory.at. It offers better and smoother performance and - in the vanilla game - no disadvantages that we are aware of. If you play a modded game, a very small number of the available mods for 1.18.6 will currently not load in the .NET 7.0 version, try your favourite mods and see! Gameplay in single player and multiplayer is identical between the .NET 7.0 build and the regular stable release. There are micro-differences in startup and shutdown which are hardly noticeable, for example in the way that it switches in and out of fullscreen mode. Modders: if your mod is coded and uses any GUI, please see the API Tweak mentioned below, this should help you to create a 1.18.6 version of your mod which works in the same way under both stable and .NET 7.0 releases. In future, we plan for upcoming 1.19.x and later versions of Vintage Story to be released in .NET 7.0 only, so this .NET 7.0 build can be seen as a sneak preview of that! As a reminder, .NET is the software framework that players must have installed to run the game. Its latest incarnation, .NET 7.0, provides us with noticeable performance and stability gains for the game. Our .NET 7.0 page provides a link where you can download .NET 7.0 from Microsoft if you don't have it already. NET 7.0 also greatly helps Mac and Linux compatibility, we are pleased to see large performance benefits on Linux, and we are working on getting back to the game being fully playable on Mac OS as well. As for 1.19 - we still plan that one to be focused on De-jank. That means finishing up some loose ends, adding a few small new features and one major new feature (which will be a surprise!), as well as reworking a few of the not yet optimally designed mechanics. Stay tuned! Screenshot by alostgrue, shared in #screenshots on Discord Game updates Tweak: Updated community translations Tweak: Added a number of missing translation entries Fixed: Avoid a rift ward crash Fixed: Sign/Label typing oddities (text didnt autobreak) Fixed: Using 1-click mod install while a game world is loaded caused undefined behavior. Now gracefully exits the game world first. Also includes all the fixes from 1.18.6-rc.1 and 1.18.6-rc.2: Tweak: Polar bears now cannot climb, but can swim faster than other bears Tweak: Polar bears visually lower in the water when swimming Tweak: (cosmetic) Bear respiratory rate slower when sleeping, sitting or standing still, depending on size of bear Tweak: Handbook display of baking result now shows "(in oven)" not "(in firepit)"Tweak: Additional optional parameter for command /debug logticks to include off-thread data in results Tweak: Changed command /entity cmd [selector] wipeall to /entity wipeall as it does not require a selector Tweak: v1.18.5 had fixed the server privileges escalation issue only by ~90%. This version should be 100% secure now on that aspect. 1.18.6 clients require servers to be on 1.18.6 as well. (Technical info: Completely reworked client<->server handshake) Tweak: Added capability to disable player-2-player collisions (/worldconfigcreate bool player2PlayerCollisions false) Tweak: Added frameprofiling capability for server threads to help find a performance leak likely in one of the threads. Add command /debug threadpoolstate Fixed: Crocks, bowls, and other food containers were losing cellar protection if picked up in 1.18.5 Fixed: Stone, wood and brick slabs placed vertically adjacent to snow could show Unknown (?) texture Fixed: Bears stuck in running animation forever (when chasing a creature which is in a hole the bear cannot fit into) Fixed: Electrum plate could not be smithed Fixed: Drifter drops are no longer affected by weight; drifter info no longer shows Low Weight (or any weight at all!) - so you should generally now receive more loot (on average) from killing drifters Fixed: Bees not being aggressive since 1.18.2 Fixed: Night Vision Mask duplication by putting in more then one gear as fuel Fixed: Decor blocks and also sometimes entities (armor stands etc.) were missing from any structures rotated by worldgen prior to placement Fixed: Axe breaking while felling a tree left floating leaves Fixed: Bucket with alcohol portion showing up in handbook Fixed: Player in bed rotation being backwards Fixed: Raft animations getting broken when pressing too many keys Fixed: Metal parts not centered in GUI Fixed: When unmounting a mountable (raft/bed) placed by someone else, the server did not unmount the using player, when seen by others Fixed: It was possible to read coordinates in other ways in games with worldmap disabled Fixed: Prospecting Pick results (and other chat window output localised to the individual player) are now shown in English if the player's own language is missing the translation Fixed: Extended picking range when mouse is not grabbed (thanks to @noelle-lavenza) [details: Github issue #42] Fixed: Log spam from EntityPhysics after a mod caused an exception in called entity code (for example, if an entity died during physics ticking due to walking into fire or lava, and a mod could not interpret that death reason) Fixed: Rare crash in Clay Oven Fixed: /land claim grant|revoke crashing the game if the claim had not yet been loaded Fixed: Rare client crash in CullVisibleFacesWithDecor due to multithreading Fixed: /wgen testmap rockstrata not working API Tweak: Deprecate methods in GuiElement with Bitmap parameters, please use equivalent overloads with BitmapExternal (this helps to prepare your mod for .NET 7.0, so that re-coding a mod for .NET 7.0 may then not be necessary: note that System.Drawing.Bitmap does not exist in .NET 7.0) API Feature: IServerAPI.AddServerThread() allows mods to create ServerThreads: advantages are that thread pause, shutdown and tick profiling are managed by the server API Tweak: IContainedMeshSource can now return a null mesh to ask the caller to make a default mesh instead; and the container block may be smarter about drawing the textures of IContainedMeshSource items (needs testing!) API Fixed: Some icons no longer centered in GUI dropdown (#2645) API Fixed: Game could crash if a mod uses OnTestBlockAccess with any result other than Granted (Github issue #2761) View full record
-
- 7
-
-
-
-
Dear Extraordinary Survivalists v1.18.6, a stable release, can now be downloaded through the account manager (section "Other Goodies"). Hopefully the last release for 1.18.x unless something is critical enough to fix. Optionally, a .NET 7.0 build of this version is also available on info.vintagestory.at. It offers better and smoother performance and - in the vanilla game - no disadvantages that we are aware of. If you play a modded game, a very small number of the available mods for 1.18.6 will currently not load in the .NET 7.0 version, try your favourite mods and see! Gameplay in single player and multiplayer is identical between the .NET 7.0 build and the regular stable release. There are micro-differences in startup and shutdown which are hardly noticeable, for example in the way that it switches in and out of fullscreen mode. Modders: if your mod is coded and uses any GUI, please see the API Tweak mentioned below, this should help you to create a 1.18.6 version of your mod which works in the same way under both stable and .NET 7.0 releases. In future, we plan for upcoming 1.19.x and later versions of Vintage Story to be released in .NET 7.0 only, so this .NET 7.0 build can be seen as a sneak preview of that! As a reminder, .NET is the software framework that players must have installed to run the game. Its latest incarnation, .NET 7.0, provides us with noticeable performance and stability gains for the game. Our .NET 7.0 page provides a link where you can download .NET 7.0 from Microsoft if you don't have it already. NET 7.0 also greatly helps Mac and Linux compatibility, we are pleased to see large performance benefits on Linux, and we are working on getting back to the game being fully playable on Mac OS as well. As for 1.19 - we still plan that one to be focused on De-jank. That means finishing up some loose ends, adding a few small new features and one major new feature (which will be a surprise!), as well as reworking a few of the not yet optimally designed mechanics. Stay tuned! Screenshot by alostgrue, shared in #screenshots on Discord Game updates Tweak: Updated community translations Tweak: Added a number of missing translation entries Fixed: Avoid a rift ward crash Fixed: Sign/Label typing oddities (text didnt autobreak) Fixed: Using 1-click mod install while a game world is loaded caused undefined behavior. Now gracefully exits the game world first. Also includes all the fixes from 1.18.6-rc.1 and 1.18.6-rc.2: Tweak: Polar bears now cannot climb, but can swim faster than other bears Tweak: Polar bears visually lower in the water when swimming Tweak: (cosmetic) Bear respiratory rate slower when sleeping, sitting or standing still, depending on size of bear Tweak: Handbook display of baking result now shows "(in oven)" not "(in firepit)"Tweak: Additional optional parameter for command /debug logticks to include off-thread data in results Tweak: Changed command /entity cmd [selector] wipeall to /entity wipeall as it does not require a selector Tweak: v1.18.5 had fixed the server privileges escalation issue only by ~90%. This version should be 100% secure now on that aspect. 1.18.6 clients require servers to be on 1.18.6 as well. (Technical info: Completely reworked client<->server handshake) Tweak: Added capability to disable player-2-player collisions (/worldconfigcreate bool player2PlayerCollisions false) Tweak: Added frameprofiling capability for server threads to help find a performance leak likely in one of the threads. Add command /debug threadpoolstate Fixed: Crocks, bowls, and other food containers were losing cellar protection if picked up in 1.18.5 Fixed: Stone, wood and brick slabs placed vertically adjacent to snow could show Unknown (?) texture Fixed: Bears stuck in running animation forever (when chasing a creature which is in a hole the bear cannot fit into) Fixed: Electrum plate could not be smithed Fixed: Drifter drops are no longer affected by weight; drifter info no longer shows Low Weight (or any weight at all!) - so you should generally now receive more loot (on average) from killing drifters Fixed: Bees not being aggressive since 1.18.2 Fixed: Night Vision Mask duplication by putting in more then one gear as fuel Fixed: Decor blocks and also sometimes entities (armor stands etc.) were missing from any structures rotated by worldgen prior to placement Fixed: Axe breaking while felling a tree left floating leaves Fixed: Bucket with alcohol portion showing up in handbook Fixed: Player in bed rotation being backwards Fixed: Raft animations getting broken when pressing too many keys Fixed: Metal parts not centered in GUI Fixed: When unmounting a mountable (raft/bed) placed by someone else, the server did not unmount the using player, when seen by others Fixed: It was possible to read coordinates in other ways in games with worldmap disabled Fixed: Prospecting Pick results (and other chat window output localised to the individual player) are now shown in English if the player's own language is missing the translation Fixed: Extended picking range when mouse is not grabbed (thanks to @noelle-lavenza) [details: Github issue #42] Fixed: Log spam from EntityPhysics after a mod caused an exception in called entity code (for example, if an entity died during physics ticking due to walking into fire or lava, and a mod could not interpret that death reason) Fixed: Rare crash in Clay Oven Fixed: /land claim grant|revoke crashing the game if the claim had not yet been loaded Fixed: Rare client crash in CullVisibleFacesWithDecor due to multithreading Fixed: /wgen testmap rockstrata not working API Tweak: Deprecate methods in GuiElement with Bitmap parameters, please use equivalent overloads with BitmapExternal (this helps to prepare your mod for .NET 7.0, so that re-coding a mod for .NET 7.0 may then not be necessary: note that System.Drawing.Bitmap does not exist in .NET 7.0) API Feature: IServerAPI.AddServerThread() allows mods to create ServerThreads: advantages are that thread pause, shutdown and tick profiling are managed by the server API Tweak: IContainedMeshSource can now return a null mesh to ask the caller to make a default mesh instead; and the container block may be smarter about drawing the textures of IContainedMeshSource items (needs testing!) API Fixed: Some icons no longer centered in GUI dropdown (#2645) API Fixed: Game could crash if a mod uses OnTestBlockAccess with any result other than Granted (Github issue #2761)
-
Dear Extraordinary Survivalists v1.18.6-rc.2, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). We are currently hunting down a small-ish performance leak on the loose, which should not impact most players, but has a significant impact on our Vintagehosting servers, as the problem is multiplied hundredfolds there. That is the reason I am a bit wary of going stable still. This is probably also a good opportunity to give you a small update on the current state of the game. Th3Dilli and radfast have been tirelessly working on 1.18.6 bugfixes, further performance tweaks, .NET 7.0 preparations as well as developing a new build pipeline for .NET 7.0 releases. Meanwhile the rest of the team is starting to work on 1.19. It is very likely that 1.19 will become the version where we fully migrate to .NET 7.0 and drop the .Net 4 builds. As a reminder, .NET is the software framework that players use to run the game and its latest incarnation, .NET 7.0, will provide us with noticeable performance and stability gains for the game. It will also help Mac and Linux compatibility, we are pleased to see that the .NET 7.0 test builds appear to be back to being fully playable on Mac OS, and have large performance benefits on Linux. As for myself, I had to take some time off to visit family, tend after my attention-hungry garden and to generally go touch some nature after spending a long cold Latvian winter in front the screen . That being said though, I've been itching to get back into some coding again! As for 1.19 - we still plan that one to be focused on De-jank. That means finishing up some loose ends, adding a few small new features, as well as reworking a few of the not yet optimally designed mechanics. Stay tuned! In other news, @Vallen has made an excellent series on YouTube explaining Vintage Story Bit by Bit - check it out! Game updates Tweak: Handbook display of baking result now shows "(in oven)" not "(in firepit)" Tweak: Polar bears visually lower in the water when swimming Tweak: Polar bears now cannot climb, but can swim faster than other bears Tweak: (cosmetic) Bear respiratory rate slower when sleeping, sitting or standing still, depending on size of bear Tweak: Additional optional parameter for command /debug logticks to include off-thread data in results Tweak: Changed command /entity cmd [selector] wipeall to /entity wipeall as it does not require a selector Fixed: Bears stuck in running animation forever (when chasing a creature which is in a hole the bear cannot fit into) Fixed: It was possible to read coordinates in other ways in games with worldmap disabled Fixed: /land claim grant|revoke crashing the game if the claim had not yet been loaded Fixed: Rare client crash in CullVisibleFacesWithDecor due to multithreading Fixed: Axe breaking while felling a tree left floating leaves Fixed: Extended picking range when mouse is not grabbed (thanks to @noelle-lavenza) [details: Github issue #42] Fixed: Night Vision Mask duplication by putting in more then one gear as fuel Fixed: Metal parts not centered in GUI Fixed: Bucket with alcohol portion showing up in handbook Fixed: Player in bed rotation being backwards Fixed: Raft animations getting broken when pressing too many keys Fixed: Drifter drops are no longer affected by weight; drifter info no longer shows Low Weight (or any weight at all!) Fixed: /wgen testmap rockstrata not working API Feature: IServerAPI.AddServerThread() allows mods to create ServerThreads: advantages are that thread pause, shutdown and tick profiling are managed by the server API Tweak: Deprecate methods in GuiElement with Bitmap parameters, please use equivalent overloads with BitmapExternal (might help to prepare your mod for .NET 7.0 already, so that re-coding for .NET 7.0 may then not be necessary: note that System.Drawing.Bitmap does not exist in .NET 7.0) API Tweak: IContainedMeshSource can now return a null mesh to ask the caller to make a default mesh instead; and the container block may be smarter about drawing the textures of IContainedMeshSource items (needs testing!) API Fixed: Some icons no longer centered in GUI dropdown (#2645) API Fixed: Game could crash if a mod uses OnTestBlockAccess with any result other than Granted (Github issue #2761)
-
Dear Extraordinary Survivalists v1.18.6-rc.2, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). We are currently hunting down a small-ish performance leak on the loose, which should not impact most players, but has a significant impact on our Vintagehosting servers, as the problem is multiplied hundredfolds there. That is the reason I am a bit wary of going stable still. This is probably also a good opportunity to give you a small update on the current state of the game. Th3Dilli and radfast have been tirelessly working on 1.18.6 bugfixes, further performance tweaks, .NET 7.0 preparations as well as developing a new build pipeline for .NET 7.0 releases. Meanwhile the rest of the team is starting to work on 1.19. It is very likely that 1.19 will become the version where we fully migrate to .NET 7.0 and drop the .Net 4 builds. As a reminder, .NET is the software framework that players use to run the game and its latest incarnation, .NET 7.0, will provide us with noticeable performance and stability gains for the game. It will also help Mac and Linux compatibility, we are pleased to see that the .NET 7.0 test builds appear to be back to being fully playable on Mac OS, and have large performance benefits on Linux. As for myself, I had to take some time off to visit family, tend after my attention-hungry garden and to generally go touch some nature after spending a long cold Latvian winter in front the screen . That being said though, I've been itching to get back into some coding again! As for 1.19 - we still plan that one to be focused on De-jank. That means finishing up some loose ends, adding a few small new features, as well as reworking a few of the not yet optimally designed mechanics. Stay tuned! In other news, @Vallen has made an excellent series on YouTube explaining Vintage Story Bit by Bit - check it out! Game updates Tweak: Handbook display of baking result now shows "(in oven)" not "(in firepit)" Tweak: Polar bears visually lower in the water when swimming Tweak: Polar bears now cannot climb, but can swim faster than other bears Tweak: (cosmetic) Bear respiratory rate slower when sleeping, sitting or standing still, depending on size of bear Tweak: Additional optional parameter for command /debug logticks to include off-thread data in results Tweak: Changed command /entity cmd [selector] wipeall to /entity wipeall as it does not require a selector Fixed: Bears stuck in running animation forever (when chasing a creature which is in a hole the bear cannot fit into) Fixed: It was possible to read coordinates in other ways in games with worldmap disabled Fixed: /land claim grant|revoke crashing the game if the claim had not yet been loaded Fixed: Rare client crash in CullVisibleFacesWithDecor due to multithreading Fixed: Axe breaking while felling a tree left floating leaves Fixed: Extended picking range when mouse is not grabbed (thanks to @noelle-lavenza) [details: Github issue #42] Fixed: Night Vision Mask duplication by putting in more then one gear as fuel Fixed: Metal parts not centered in GUI Fixed: Bucket with alcohol portion showing up in handbook Fixed: Player in bed rotation being backwards Fixed: Raft animations getting broken when pressing too many keys Fixed: Drifter drops are no longer affected by weight; drifter info no longer shows Low Weight (or any weight at all!) Fixed: /wgen testmap rockstrata not working API Feature: IServerAPI.AddServerThread() allows mods to create ServerThreads: advantages are that thread pause, shutdown and tick profiling are managed by the server API Tweak: Deprecate methods in GuiElement with Bitmap parameters, please use equivalent overloads with BitmapExternal (might help to prepare your mod for .NET 7.0 already, so that re-coding for .NET 7.0 may then not be necessary: note that System.Drawing.Bitmap does not exist in .NET 7.0) API Tweak: IContainedMeshSource can now return a null mesh to ask the caller to make a default mesh instead; and the container block may be smarter about drawing the textures of IContainedMeshSource items (needs testing!) API Fixed: Some icons no longer centered in GUI dropdown (#2645) API Fixed: Game could crash if a mod uses OnTestBlockAccess with any result other than Granted (Github issue #2761) View full record
-
- 14
-
-
Dear Extraordinary Survivalists v1.18.6-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). Slightly overdue update, apologies for the delay. Screenshot/Build by Belmont#8652 Game updates Tweak: v1.18.5 fixed the server privileges escalation issue only by ~90%. This version should be 100% secure now on that aspect. 1.18.6 clients require servers to be on 1.18.6 as well. (Technical info: Completely reworked client<->server handshake) Tweak: Added frameprofiling capability for server threads to help find a performance leak likely in one of the threads. Add command /debug threadpoolstate Tweak: Added capability to disable player-2-player collisions (/worldconfigcreate bool player2PlayerCollisions false) Fixed: Crocks, bowls, and other food containers losing cellar protection if picked up in 1.18.5 Fixed: Stone, wood and brick slabs placed vertically adjacent to snow could show Unknown texture Fixed: When unmounting a mountable (raft/bed) placed by someone else, the server did not unmount the using player when seen by others Fixed: Log spam from EntityPhysics after a mod caused an exception in called entity code (for example, if an entity died during physics ticking due to walking into fire or lava, and a mod could not interpret that death reason) Fixed: Rare crash in Clay Oven Fixed: Bees not being aggressive since 1.18.2 Fixed: Prospecting Pick results (and other chat window output localised to the individual player) are now shown in English if the player's own language is missing the translation Fixed: Electrum plate could not be smithed Fixed: Decor blocks and also sometimes entities (armor stands etc.) were missing from any structures rotated by worldgen prior to placement
- 1 comment
-
- 14
-
-
-
-
Dear Extraordinary Survivalists v1.18.6-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). Slightly overdue update, apologies for the delay. Screenshot/Build by Belmont#8652 Game updates Tweak: v1.18.5 fixed the server privileges escalation issue only by ~90%. This version should be 100% secure now on that aspect. 1.18.6 clients require servers to be on 1.18.6 as well. (Technical info: Completely reworked client<->server handshake) Tweak: Added frameprofiling capability for server threads to help find a performance leak likely in one of the threads. Add command /debug threadpoolstate Tweak: Added capability to disable player-2-player collisions (/worldconfigcreate bool player2PlayerCollisions false) Fixed: Crocks, bowls, and other food containers losing cellar protection if picked up in 1.18.5 Fixed: Stone, wood and brick slabs placed vertically adjacent to snow could show Unknown texture Fixed: When unmounting a mountable (raft/bed) placed by someone else, the server did not unmount the using player when seen by others Fixed: Log spam from EntityPhysics after a mod caused an exception in called entity code (for example, if an entity died during physics ticking due to walking into fire or lava, and a mod could not interpret that death reason) Fixed: Rare crash in Clay Oven Fixed: Bees not being aggressive since 1.18.2 Fixed: Prospecting Pick results (and other chat window output localised to the individual player) are now shown in English if the player's own language is missing the translation Fixed: Electrum plate could not be smithed Fixed: Decor blocks and also sometimes entities (armor stands etc.) were missing from any structures rotated by worldgen prior to placement View full record
- 1 reply
-
- 11
-
-
-
Dear Extraordinary Survivalists v1.18.4&5, a stable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also released 1.18.5 to fix issues isolated to some players. Dear players, please update to this version, it fixes a number of issues in 1.18.3. Multiplayer games: There is a server privileges security issue in 1.18.3 (and earlier game versions) which can affect especially the admins and other staff of multiplayer servers. It will not affect anything outside the multiplayer game and so far we have not gotten reports that this security issue has actually been abused by anyone, but even so we now advise everyone playing multiplayer to update to 1.18.5. Will tell more info about the issue in a couple of days. Note: a 1.18.5 client will require a 1.18.5 server to connect to. Screenshot by Mercatto#6367 Game updates v1.18.5 Tweak: Improve server connect failure message when connecting to a v1.18.3 server or older Fixed: Occasional berry bush crashes on the client, in 1.18.4 Fixed: /serverconfig MaxChunkRadius and certain other config commands not working in 1.18.4 (reports a hosted mode error) v1.18.4 and 1.18.5: Tweak: Barrel HUD info better formatted Tweak: More performance improvements, mainly affecting server performance for each game tick Greatly improve chest, crate, storage jar, barrel and other containers (details: skip perishable checks on empty containers or containers holding only non-perishables, retrieve climate data only once per container instead of once per contents item) Improve WeatherSystem updates Improve BEBerryBush (details: cache a number of block attribute values) Improve BEFarmland slightly Fruit tree ticking substantially faster (especially at chunk-loading) For 1000+ dropped items, items go into a dormant state unless a player is nearby (you may notice distant items being a bit "sleepy" if many items have been dropped) Improve entitypartitioning Improve entityspawner: now better especially for butterflies (faster rejection of unsuitable spawn blocks: butterflies like flowers!) Entity physics: improve trigger-insideblock Entity physics: improve locomotors (skip some player-specific code for non-player creatures) Tweak: Fruit trees in Dormant state can tolerate 3 degrees more cold without dying Tweak: Peach trees fruit slightly earlier (normally between cherry and pear) Tweak: Instead of always being "low" weight or full weight, newly spawned wild creatures spawn with random weight, usually "decent" weight then adjusted for one week worth of potential hunger so typically "low" weight in winter/arctic regions Tweak: Updated community translations Tweak: Attempt to resolve player ghosting issue in multiplayer, or at least provide warnings in client log to help track this issue Tweak: Add more debug tools for ticking blocks / grass growth to debug issues with grass not growing Fixed: Barrel HUD info with rot or other non-liquid contents always showed as Empty in 1.18.3 Fixed: Barrel now correctly redrawn on client as unsealed as soon as the sealed period finishes Fixed: Items dropped by the player on death did not always have the correct timer as set in droppedItemsOnDeathTimer, until the chunk was unloaded and reloaded Fixed: Dropped cattails and other floating items drift sideways in water in 1.18.2 and 1.18.3 Fixed: Players not taking damage from standing in fire in 1.18.3 Fixed: Writing to books and parchment could crash the game when cursor moved right when already at the end of the last page Fixed: Books duplicating newlines when additional text pasted Fixed: Coke oven door losing its lock and reinforcement, if opened/closed Fixed: Torch holder losing reinforcement, if a torch is added or removed Fixed: Blocks generally losing reinforcement, if water flowed through them Fixed: Very rare crash when creating coal pile or charcoal pile rapidly Fixed: Linux: run.sh not getting executed on some Linux distros without running the script inside a shell Fixed: Linux: Move mesa_glthread to the install.sh and prompt if the user wants to enable it Fixed: Rare crash in /player role command and certain other commands instead of an error response in chat Fixed: When using tutorial sub commands without a selected tutorial it crashed the game Fixed: Phantom errors being reported after Cancel / Force Quit button pressed during game startup, for example "Mods must not get assets before AssetsLoaded stage" error Fixed: Crash when running .blockitempngexport for certain new clutter items Fixed: When building beams and the build was cancelled due to not enough beams it would overwrite the initial block with a empty beam block Fixed: Replaceable blocks are not replaced by a beam (like grass) Fixed: Damage log, death messages and killed-by info now show the player name instead of the projectile like for example throwable stone or by creature Fixed: Fancy bed opened/closed appearance now the correct way round Fixed: Mushroom soup and stew no longer invisible in bowls and cooking pots, and mushroom ingredients named correctly Fixed: Obscure bug where farmland moisture levels did not always reflect recent rainfall View full record
-
Dear Extraordinary Survivalists v1.18.4&5, a stable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also released 1.18.5 to fix issues isolated to some players. Dear players, please update to this version, it fixes a number of issues in 1.18.3. Multiplayer games: There is a server privileges security issue in 1.18.3 (and earlier game versions) which can affect especially the admins and other staff of multiplayer servers. It will not affect anything outside the multiplayer game and so far we have not gotten reports that this security issue has actually been abused by anyone, but even so we now advise everyone playing multiplayer to update to 1.18.5. Will tell more info about the issue in a couple of days. Note: a 1.18.5 client will require a 1.18.5 server to connect to. Screenshot by Mercatto#6367 Game updates v1.18.5 Tweak: Improve server connect failure message when connecting to a v1.18.3 server or older Fixed: Occasional berry bush crashes on the client, in 1.18.4 Fixed: /serverconfig MaxChunkRadius and certain other config commands not working in 1.18.4 (reports a hosted mode error) v1.18.4 and 1.18.5: Tweak: Barrel HUD info better formatted Tweak: More performance improvements, mainly affecting server performance for each game tick Greatly improve chest, crate, storage jar, barrel and other containers (details: skip perishable checks on empty containers or containers holding only non-perishables, retrieve climate data only once per container instead of once per contents item) Improve WeatherSystem updates Improve BEBerryBush (details: cache a number of block attribute values) Improve BEFarmland slightly Fruit tree ticking substantially faster (especially at chunk-loading) For 1000+ dropped items, items go into a dormant state unless a player is nearby (you may notice distant items being a bit "sleepy" if many items have been dropped) Improve entitypartitioning Improve entityspawner: now better especially for butterflies (faster rejection of unsuitable spawn blocks: butterflies like flowers!) Entity physics: improve trigger-insideblock Entity physics: improve locomotors (skip some player-specific code for non-player creatures) Tweak: Fruit trees in Dormant state can tolerate 3 degrees more cold without dying Tweak: Peach trees fruit slightly earlier (normally between cherry and pear) Tweak: Instead of always being "low" weight or full weight, newly spawned wild creatures spawn with random weight, usually "decent" weight then adjusted for one week worth of potential hunger so typically "low" weight in winter/arctic regions Tweak: Updated community translations Tweak: Attempt to resolve player ghosting issue in multiplayer, or at least provide warnings in client log to help track this issue Tweak: Add more debug tools for ticking blocks / grass growth to debug issues with grass not growing Fixed: Barrel HUD info with rot or other non-liquid contents always showed as Empty in 1.18.3 Fixed: Barrel now correctly redrawn on client as unsealed as soon as the sealed period finishes Fixed: Items dropped by the player on death did not always have the correct timer as set in droppedItemsOnDeathTimer, until the chunk was unloaded and reloaded Fixed: Dropped cattails and other floating items drift sideways in water in 1.18.2 and 1.18.3 Fixed: Players not taking damage from standing in fire in 1.18.3 Fixed: Writing to books and parchment could crash the game when cursor moved right when already at the end of the last page Fixed: Books duplicating newlines when additional text pasted Fixed: Coke oven door losing its lock and reinforcement, if opened/closed Fixed: Torch holder losing reinforcement, if a torch is added or removed Fixed: Blocks generally losing reinforcement, if water flowed through them Fixed: Very rare crash when creating coal pile or charcoal pile rapidly Fixed: Linux: run.sh not getting executed on some Linux distros without running the script inside a shell Fixed: Linux: Move mesa_glthread to the install.sh and prompt if the user wants to enable it Fixed: Rare crash in /player role command and certain other commands instead of an error response in chat Fixed: When using tutorial sub commands without a selected tutorial it crashed the game Fixed: Phantom errors being reported after Cancel / Force Quit button pressed during game startup, for example "Mods must not get assets before AssetsLoaded stage" error Fixed: Crash when running .blockitempngexport for certain new clutter items Fixed: When building beams and the build was cancelled due to not enough beams it would overwrite the initial block with a empty beam block Fixed: Replaceable blocks are not replaced by a beam (like grass) Fixed: Damage log, death messages and killed-by info now show the player name instead of the projectile like for example throwable stone or by creature Fixed: Fancy bed opened/closed appearance now the correct way round Fixed: Mushroom soup and stew no longer invisible in bowls and cooking pots, and mushroom ingredients named correctly Fixed: Obscure bug where farmland moisture levels did not always reflect recent rainfall
- 18 comments
-
- 18
-
-
-
-
-
Dear Extraordinary Survivalists v1.18.2/3, a stable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release 1.18.3 to fix a few critical issues. The recent performance changes look to be stable enough, here's a stable release! This also includes fixes to a few longer-standing issues. Should you run into serious issues please report them to us. Thanks! [Known issue in 1.18.3: barrels holding rot / compost / preserved foods or other solid contents may show "Empty" on the HUD: the barrel contents are actually still there if you right-click on the barrel] Screenshot by KORMOT, EATER OF COSMOS#9983 Game updates Everything listed in the rc.1/2 release notes and rc.3/4 release notes (except the minor Resonance Archives fixes, those will return in a future update) Tweak: Configurable timer for dropped inventory on death, default 10 minutes, editable in /assets/game/entities/humanoid/player.json entry droppedItemsOnDeathTimer Tweak: Block Interaction Help displays only permitted interactions when looking at claimed blocks [example: don't show wrench interactions for clutter blocks in the Resonance Archives] Tweak: Smelting temperature of Nickel reduced to 1325°C (within the capability of coke) Tweak: For Electrum and Cupronickel, smelting properties added to ingots, metalbits, and metalplates Tweak: Bucket contents localization in English lang file uses our new pluralisation format, other languages could too Fixed: Occasional crash on collecting resin for players who chose the Tailor or Blackguard classes - thanks to @NoelleLavenza for contribution Fixed: Butterflies generally never spawning in previous 1.18 game versions (except perhaps in high summer) Fixed: Rare client crash with System.IO.FileNotFoundException when connecting to a game with large numbers of modded blocks Fixed: Crashes when writing to parchment or book if cursor moved to the end of the page Fixed: Very rare crash when creating coal pile or charcoal pile rapidly Fixed: No more logged BETransient errors for tallgrass-eaten-snow Fixed: Coke oven door losing its lock and reinforcement, if opened/closed Fixed: Torch holder losing reinforcement, if a torch is added or removed Fixed: Wrench orientable blocks do not lose reinforcement when rotated Fixed: Water and other weak/non-solid blocks being unintentionally reinforcable (this also fixes the issue where water flowing through a reinforced block removed the reinforcement) Fixed: Correct Block Interaction Help for buckets, including reinforcement info if relevant Fixed: Barrels now display block reinforcement info if reinforced Fixed: Pluralisation format now works correctly in strings with multiple parameters Fixed: Serious lag during clayforming (especially in multiplayer or with relevant mods) View full record
-
- 8
-
-
-
Dear Extraordinary Survivalists v1.18.2/3, a stable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release 1.18.3 to fix a few critical issues. The recent performance changes look to be stable enough, here's a stable release! This also includes fixes to a few longer-standing issues. Should you run into serious issues please report them to us. Thanks! [Known issue in 1.18.3: barrels holding rot / compost / preserved foods or other solid contents may show "Empty" on the HUD: the barrel contents are actually still there if you right-click on the barrel] Screenshot by KORMOT, EATER OF COSMOS#9983 Game updates Everything listed in the rc.1/2 release notes and rc.3/4 release notes (except the minor Resonance Archives fixes, those will return in a future update) Tweak: Configurable timer for dropped inventory on death, default 10 minutes, editable in /assets/game/entities/humanoid/player.json entry droppedItemsOnDeathTimer Tweak: Block Interaction Help displays only permitted interactions when looking at claimed blocks [example: don't show wrench interactions for clutter blocks in the Resonance Archives] Tweak: Smelting temperature of Nickel reduced to 1325°C (within the capability of coke) Tweak: For Electrum and Cupronickel, smelting properties added to ingots, metalbits, and metalplates Tweak: Bucket contents localization in English lang file uses our new pluralisation format, other languages could too Fixed: Occasional crash on collecting resin for players who chose the Tailor or Blackguard classes - thanks to @NoelleLavenza for contribution Fixed: Butterflies generally never spawning in previous 1.18 game versions (except perhaps in high summer) Fixed: Rare client crash with System.IO.FileNotFoundException when connecting to a game with large numbers of modded blocks Fixed: Crashes when writing to parchment or book if cursor moved to the end of the page Fixed: Very rare crash when creating coal pile or charcoal pile rapidly Fixed: No more logged BETransient errors for tallgrass-eaten-snow Fixed: Coke oven door losing its lock and reinforcement, if opened/closed Fixed: Torch holder losing reinforcement, if a torch is added or removed Fixed: Wrench orientable blocks do not lose reinforcement when rotated Fixed: Water and other weak/non-solid blocks being unintentionally reinforcable (this also fixes the issue where water flowing through a reinforced block removed the reinforcement) Fixed: Correct Block Interaction Help for buckets, including reinforcement info if relevant Fixed: Barrels now display block reinforcement info if reinforced Fixed: Pluralisation format now works correctly in strings with multiple parameters Fixed: Serious lag during clayforming (especially in multiplayer or with relevant mods)
-
Dear Extraordinary Survivalists v1.18.2-rc.3 & rc.4, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release rc.4 to fix a multiplayer crash issue and add some missing localization. This update focusses some more on server performance and should fix one or two significant issues introduced in rc.1 / 2. "winter hunting", shared by outlaw#9502 on discord Game updates Tweak: Added ability for server owners to blacklist client side mods. Add "ModIdBlackList": ["modid1","modid2"], to server config. Tweak: Further performance tweaks for large numbers of entities / large numbers of item drops. Cumulatively these approximately half the overall amount of time per tick spent on ticking entities: Entity ticking: improve dropped items and other passive entities (details: these now use a CachingCollisionTester as well, and various minor tweaks) Entity ticking: significant reduction in tick time for dropped items Significant reduction in server tick time when large numbers of entities (e.g item drops) have to be despawned Entity AI ticking: no performance drop when large numbers of dropped items are nearby creatures Entity AI ticking: improvement to task-startexecute-idle and task-startexecute-stayclosetoentity Entity ticking: reduce general ticking overhead (~3-10ms average for 10k entities on average hardware, occasionally more) Entity ticking: greatly reduce time for behavior-timeddespawn and behavior-floatupwhenstuck Entity physics: improvements in locomotors (details: refactor EntityPlayer-only code into a new locomotor PlayerEntityInAir) Entity physics: Stats "walkspeed" checks are now checked only by player entities Tweak: Despawn time of dropped items can now be reduced by editing the asset file item.json without affecting the timer for dropped items during player death (the timer for dropped items on death is now hardcoded to 10 minutes) Tweak: Added missing English-language localizations for the trait names and various aged chests Tweak: Added new localization keys for gamemode settings, seed growth in days, beehive population size, lantern linings, and various hotkeys Tweak: Mouse scroll on number input fields works now in the same direction as the buttons (up = Turn the wheel upward (away from you) => increases the number) Fixed: Number input fields could mess up the output when using mouse scroll + (SHIFT/CTRL) Fixed: Client-side trader dialogue crashes in 1.18.2-rc1 and rc2 Fixed: Client-side crashes for some players joining multiplayer after other players are already present on the server, in 1.18.2-rc3 Fixed: Very rare crash with charcoal and other art pigments in hand Fixed: Handbook links to Display Cases now work (link shown on items which can be stored in Display Cases) Api Tweak: Added onshelfTransform to '.tfedit' for the Shelf and Bookshelfs Api Tweak: Display case, shelf, bookshelf, ground storage, tool/mold rack now update live when editing in the transform editor Api Tweak: When switching tabs in tfedit the applied transforms are now reset: only clicking Close & Apply retains the changes Api Technical notes for code modders (1): For performance, the EntityPartitioning system now holds only Interactable entities in partitions. GetNearestEntity() and WalkEntities() deprecated and replaced with GetNearestInteractableEntity() and WalkInteractableEntities() to make this clear. Player GameMode or NoClip changes therefore now require the EntityPlayer's partition be updated because its IsInteractable state may have changed, for example if the mode was changed to / from Spectator mode. Changes to GameMode settings therefore now have to call EntityPlayer.UpdatePartitioning(). If your mod creates an entity whose IsInteractable status depends on the entity's current properties then you may need to implement a similar method in your entity, when those properties change. Api Technical notes for code modders (2): server.LoadedEntities is now a CachingConcurrentDictionary instead of a ConcurrentDictionary and is now marked internal, not intended to be directly accessed by mods. If your code directly accesses server.LoadedEntities (unlikely) then you may need to recompile your code for 1.18.2-rc3. In any case we recommend not accessing server fields directly, instead use the API, specifically IServerWorldAccessor.LoadedEntities. There is no API change. Mods which are already using the API as intended should be unaffected and will not need to recompile. For more details see the updated XML documentation for IServerWorldAccessor.LoadedEntities. An example of intended use of the API by mods to access the loaded entities, this example code will still work and is unaffected by the change discussed here: ICollection<Entity> entities; if (api.Side == EnumAppSide.Server) entities = (api as ICoreServerAPI).World.LoadedEntities.Values; else entities = (api as ICoreClientAPI).World.LoadedEntities.Values; Api Technical notes for code modders (3): "walkspeed" stats relate to the armor and character class changes to a player's walking speed. If your coded mod uses Entity.Stats "walkspeed" for a non-player entity, for example NPCs, you might need to make changes similar to the code changes to EntityPlayer in this update. For example override Entity.GetWalkSpeedMultiplier in your entity. Example code: public override double GetWalkSpeedMultiplier(double groundDragFactor = 0.3) { double mul = base.GetWalkSpeedMultiplier(groundDragFactor); mul *= Stats.GetBlended("walkspeed"); return mul; } View full record
- 1 reply
-
- 5
-
-
-
Dear Extraordinary Survivalists v1.18.2-rc.3 & rc.4, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release rc.4 to fix a multiplayer crash issue and add some missing localization. This update focusses some more on server performance and should fix one or two significant issues introduced in rc.1 / 2. "winter hunting", shared by outlaw#9502 on discord Game updates Tweak: Added ability for server owners to blacklist client side mods. Add "ModIdBlackList": ["modid1","modid2"], to server config. Tweak: Further performance tweaks for large numbers of entities / large numbers of item drops. Cumulatively these approximately half the overall amount of time per tick spent on ticking entities: Entity ticking: improve dropped items and other passive entities (details: these now use a CachingCollisionTester as well, and various minor tweaks) Entity ticking: significant reduction in tick time for dropped items Significant reduction in server tick time when large numbers of entities (e.g item drops) have to be despawned Entity AI ticking: no performance drop when large numbers of dropped items are nearby creatures Entity AI ticking: improvement to task-startexecute-idle and task-startexecute-stayclosetoentity Entity ticking: reduce general ticking overhead (~3-10ms average for 10k entities on average hardware, occasionally more) Entity ticking: greatly reduce time for behavior-timeddespawn and behavior-floatupwhenstuck Entity physics: improvements in locomotors (details: refactor EntityPlayer-only code into a new locomotor PlayerEntityInAir) Entity physics: Stats "walkspeed" checks are now checked only by player entities Tweak: Despawn time of dropped items can now be reduced by editing the asset file item.json without affecting the timer for dropped items during player death (the timer for dropped items on death is now hardcoded to 10 minutes) Tweak: Added missing English-language localizations for the trait names and various aged chests Tweak: Added new localization keys for gamemode settings, seed growth in days, beehive population size, lantern linings, and various hotkeys Tweak: Mouse scroll on number input fields works now in the same direction as the buttons (up = Turn the wheel upward (away from you) => increases the number) Fixed: Number input fields could mess up the output when using mouse scroll + (SHIFT/CTRL) Fixed: Client-side trader dialogue crashes in 1.18.2-rc1 and rc2 Fixed: Client-side crashes for some players joining multiplayer after other players are already present on the server, in 1.18.2-rc3 Fixed: Very rare crash with charcoal and other art pigments in hand Fixed: Handbook links to Display Cases now work (link shown on items which can be stored in Display Cases) Api Tweak: Added onshelfTransform to '.tfedit' for the Shelf and Bookshelfs Api Tweak: Display case, shelf, bookshelf, ground storage, tool/mold rack now update live when editing in the transform editor Api Tweak: When switching tabs in tfedit the applied transforms are now reset: only clicking Close & Apply retains the changes Api Technical notes for code modders (1): For performance, the EntityPartitioning system now holds only Interactable entities in partitions. GetNearestEntity() and WalkEntities() deprecated and replaced with GetNearestInteractableEntity() and WalkInteractableEntities() to make this clear. Player GameMode or NoClip changes therefore now require the EntityPlayer's partition be updated because its IsInteractable state may have changed, for example if the mode was changed to / from Spectator mode. Changes to GameMode settings therefore now have to call EntityPlayer.UpdatePartitioning(). If your mod creates an entity whose IsInteractable status depends on the entity's current properties then you may need to implement a similar method in your entity, when those properties change. Api Technical notes for code modders (2): server.LoadedEntities is now a CachingConcurrentDictionary instead of a ConcurrentDictionary and is now marked internal, not intended to be directly accessed by mods. If your code directly accesses server.LoadedEntities (unlikely) then you may need to recompile your code for 1.18.2-rc3. In any case we recommend not accessing server fields directly, instead use the API, specifically IServerWorldAccessor.LoadedEntities. There is no API change. Mods which are already using the API as intended should be unaffected and will not need to recompile. For more details see the updated XML documentation for IServerWorldAccessor.LoadedEntities. An example of intended use of the API by mods to access the loaded entities, this example code will still work and is unaffected by the change discussed here: ICollection<Entity> entities; if (api.Side == EnumAppSide.Server) entities = (api as ICoreServerAPI).World.LoadedEntities.Values; else entities = (api as ICoreClientAPI).World.LoadedEntities.Values; Api Technical notes for code modders (3): "walkspeed" stats relate to the armor and character class changes to a player's walking speed. If your coded mod uses Entity.Stats "walkspeed" for a non-player entity, for example NPCs, you might need to make changes similar to the code changes to EntityPlayer in this update. For example override Entity.GetWalkSpeedMultiplier in your entity. Example code: public override double GetWalkSpeedMultiplier(double groundDragFactor = 0.3) { double mul = base.GetWalkSpeedMultiplier(groundDragFactor); mul *= Stats.GetBlended("walkspeed"); return mul; }
- 1 comment
-
- 12
-
-
-
-
-
Dear Extraordinary Survivalists v1.18.2-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release rc.2 to address multiple issues The large influx of active players has put 1.18 servers under heavy load - in this update we have tried to reduce the load by using more optimal algorithms and optionally utilize use more CPU cores. Server owners that suffer from bad tickrates - do try this version, open your servermagicnumbers.json and set "MaxPhysicsThreads: 4", or similar (suggested range 2-8, depending on the number of CPU threads available). Players still on game version 1.18.1 should be able to play normally on a 1.18.2-rc.1 or 1.18.2-rc.2 server - they connect OK and we have not received reports of any issues in this configuration. If you experience unusually wonky physics or entity spawning, do let us know! Screenshot by Credones#5878 Game updates rc.2 changes Tweak: Landform scale is now a configurable parameter in the customize world screen Tweak: "Standard Survival" Playstyle default value changes: Reduce upheaval rate (40%->30%), Reduce landform scale (120%->100%). This will affect new worlds only. Existing worlds should remain unaffected. Tweak: Linux: Enable mesa_glthread on systems that should support it via run.sh (AMD/Intel GPUs) Tweak: Graceful server shutdown and exit in almost all situations. ?May improve dark chunks issue Fixed: Rotation of ground storable when using WorldEdit rotate (included schematics placed rotated by worldgen) Fixed: Rare TreasureMap crash Tweak: Tongs recipe uses rope instead of twine Tweak: Metal plaques now material metal, and not combustible. Tweak: Ink and Quill can be ground stored Tweak: Improved in-game guidance on understanding prospecting results Tweak: Seaweed bends and sways nicely Tweak: Removed bronze chain and lamellae from panning bony soil to avoid age skipping Tweak: Lit torches placed below water (by player or by worldgen) will be extinguished Tweak: Water in 2-deep (or more) lakes can flow sideways (similar to 1-deep ponds) if a bank is broken Tweak: Holes in water below the surface of lakes can normally now heal, if enough source blocks are around Tweak: Re-added flavor text for Hunter class. Tweak: If Resonance Archives entrance would be below sea-level, raise it up to sea-level Tweak: Added extra check for a privilege "ignoremaxclients" that can be added to let privileged players (for example, staff) join multiplayer servers despite the max clients limit Tweak: For commands, more informative error message if wrong subcommand typed in a command which can also be used with no subcommands, such as /time Tweak: Performance tweaks Added Multithreading support to entity physics. Experimental, server-side only. Can enable up to 8 physics threads in total (including the main thread), default is 1, i.e. multithreading disabled. Enable by setting "MaxPhysicsThreads" in servermagicnumbers.json to 2 or higher. (The game will ignore settings higher than 8.) Related to this change, /logticks output for controlled physics is formatted differently now. Server: Significantly improve server entityspawner performance Server and client: reduce entity tick time for task-startexecute-fleeentity, and seekentity and stayclosetoentity tasks Server and client: entity physics: improve per-tick time for knockback check and trigger-insideblock Small improvement in multiplayer server-side tick performance generally, when sending blockEntity updates to many clients Small improvement in server and client-side performance, when spawning each entity Reduce the lag-spike on creating new ground-storage piles Grass block updates slightly improved [details: use ExchangeBlock in place of SetBlock] Fixed: Support beams deleting existing blocks Fixed: Beams sometimes disappearing from sight if their base block is behind the player Fixed: Gravel/sand falling when placing ruins and other schematics (leading to a falling gravel sound when entering new world areas) Fixed: Rotations for crate, anvil, chute, display case, trunk, labeled chest, doors, and chiselled blocks when used in schematics and worldedit - this includes when these blocks are used in Trader caravans, because caravans can be randomly rotated when worldgen places them When chiselled blocks are rotated in a schematic, their materials textures (for example, log textures) should also now be correctly rotated Fixed: Player underwater was not suffocating if lanterns or ladders in same space Fixed: Manually placing water will now place correctly if placed in the same space as an existing partial solid block Fixed: Wording mistake in a short story. Fixed: Missing name for aged chests Fixed: Might mitigate the fruit tree crash? :shrug: Fixed: On client shutdown, very rare ThreadAbortException in chunkTesselator thread Fixed: "/help we" now lists out the directional subcommands correctly Fixed: Potential rare bug with blockEntities removed on server not being removed client-side Fixed: Setting player roles did not sync to client Fixed: Missing translations in the moddb util Fixed: Able to circumvent drunkenness / low stability chat text distortion Fixed: "The Invention" music track never playing Fixed: Unknown block in some clutter handbook pages Fixed: Unknown blocks in some chests in the Resonance Archives Fixed: World edit command results sent to the wrong player Fixed: A new crash in BehaviorPillar? :shrug: Fixed: Server side exception that kicks the player when talking to traders Fixed: Multiple visual issues with the new seraph clothing pieces Fixed: Unused herbs (angelica.png, ...) trying to resolve images and causing errors on startup Fixed: server.sh not showing command results Fixed: Multiple minor issues with the Resonance Archives Api Tweak: Behaviors and AITasks now have an optional AfterInitialize() method, can be used to fetch info from other behaviors for the same entity after the other behaviors are guaranteed initialized Api Fixed: Typo in MultiBlock.OnBlockInteractStop() called *Step methods instead of *Stop Api Technical Notes for modders: Entity physics, including updates to entity.OnGround and .Swimming flags, now happens after all other entity behaviors have been ticked but before the next entity tick. Entity physics can be multithreaded: several threads will process entity physics in parallel, at the appropriate time in the overall game tick. Please ensure that your implementations of Entity.OnFallToGround(), Entity.OnCollideWithLiquid(), Entity.OnExitedLiquid() are all globally threadsafe. "Globally" threadsafe means, changes to the fields or properties of the calling entity itself are OK (for one single entity, these methods cannot be called at the same time for the same entity on different threads, and other entity behavior code will not be running during physics updates). But global data stored in a non-threadsafe way (for example, a single Dictionary in your mod holding all swimming entities, unless it is a ConcurrentDictionary) should not be modified inside these physics methods, on a server. Likewise setting blocks, spawning new entities or entityItems (drops) or other changes with global effects on the server in these physics methods (or in any other code which extends entity physics) is not a good idea. If necessary, use server.EnqueueMainThreadTask() to safely set blocks, spawn new entities or to change global data, if your mod's code is currently taking these kinds of actions in entity physics methods. Api Technical Notes for modders (2): In the unlikely event that your mod's code replaces or extends EntityBehaviorControlledPhysics.OnGameTick() or .OnPhysicsTick() it may not work correctly with the new multithreaded system, please contact the devs for specific help. API Technical Notes for modders (3): If your coded mod uses multithreading - either TyronThreadPool queuing or creating its own threads on a server - then ServerMain.FrameProfiler will now be null on threads which are not the main thread and not ServerThreads created in the vanilla game engine. This may trigger null reference exceptions in your code if the FrameProfiler is used in your own threads. This is intended behavior: your code should not meaningfully write to the FrameProfiler except on the main thread. If in doubt, in your code use ServerMain.FrameProfiler?.Mark() or similar code. View full record
- 7 replies
-
- 11
-
-
-
-
Dear Extraordinary Survivalists v1.18.2-rc.1, a unstable release, can now be downloaded through the account manager (section "Other Goodies"). [Edit:] Also release rc.2 to address multiple issues The large influx of active players has put 1.18 servers under heavy load - in this update we have tried to reduce the load by using more optimal algorithms and optionally utilize use more CPU cores. Server owners that suffer from bad tickrates - do try this version, open your servermagicnumbers.json and set "MaxPhysicsThreads: 4", or similar (suggested range 2-8, depending on the number of CPU threads available). Players still on game version 1.18.1 should be able to play normally on a 1.18.2-rc.1 or 1.18.2-rc.2 server - they connect OK and we have not received reports of any issues in this configuration. If you experience unusually wonky physics or entity spawning, do let us know! Screenshot by Credones#5878 Game updates rc.2 changes Tweak: Landform scale is now a configurable parameter in the customize world screen Tweak: "Standard Survival" Playstyle default value changes: Reduce upheaval rate (40%->30%), Reduce landform scale (120%->100%). This will affect new worlds only. Existing worlds should remain unaffected. Tweak: Linux: Enable mesa_glthread on systems that should support it via run.sh (AMD/Intel GPUs) Tweak: Graceful server shutdown and exit in almost all situations. ?May improve dark chunks issue Fixed: Rotation of ground storable when using WorldEdit rotate (included schematics placed rotated by worldgen) Fixed: Rare TreasureMap crash Tweak: Tongs recipe uses rope instead of twine Tweak: Metal plaques now material metal, and not combustible. Tweak: Ink and Quill can be ground stored Tweak: Improved in-game guidance on understanding prospecting results Tweak: Seaweed bends and sways nicely Tweak: Removed bronze chain and lamellae from panning bony soil to avoid age skipping Tweak: Lit torches placed below water (by player or by worldgen) will be extinguished Tweak: Water in 2-deep (or more) lakes can flow sideways (similar to 1-deep ponds) if a bank is broken Tweak: Holes in water below the surface of lakes can normally now heal, if enough source blocks are around Tweak: Re-added flavor text for Hunter class. Tweak: If Resonance Archives entrance would be below sea-level, raise it up to sea-level Tweak: Added extra check for a privilege "ignoremaxclients" that can be added to let privileged players (for example, staff) join multiplayer servers despite the max clients limit Tweak: For commands, more informative error message if wrong subcommand typed in a command which can also be used with no subcommands, such as /time Tweak: Performance tweaks Added Multithreading support to entity physics. Experimental, server-side only. Can enable up to 8 physics threads in total (including the main thread), default is 1, i.e. multithreading disabled. Enable by setting "MaxPhysicsThreads" in servermagicnumbers.json to 2 or higher. (The game will ignore settings higher than 8.) Related to this change, /logticks output for controlled physics is formatted differently now. Server: Significantly improve server entityspawner performance Server and client: reduce entity tick time for task-startexecute-fleeentity, and seekentity and stayclosetoentity tasks Server and client: entity physics: improve per-tick time for knockback check and trigger-insideblock Small improvement in multiplayer server-side tick performance generally, when sending blockEntity updates to many clients Small improvement in server and client-side performance, when spawning each entity Reduce the lag-spike on creating new ground-storage piles Grass block updates slightly improved [details: use ExchangeBlock in place of SetBlock] Fixed: Support beams deleting existing blocks Fixed: Beams sometimes disappearing from sight if their base block is behind the player Fixed: Gravel/sand falling when placing ruins and other schematics (leading to a falling gravel sound when entering new world areas) Fixed: Rotations for crate, anvil, chute, display case, trunk, labeled chest, doors, and chiselled blocks when used in schematics and worldedit - this includes when these blocks are used in Trader caravans, because caravans can be randomly rotated when worldgen places them When chiselled blocks are rotated in a schematic, their materials textures (for example, log textures) should also now be correctly rotated Fixed: Player underwater was not suffocating if lanterns or ladders in same space Fixed: Manually placing water will now place correctly if placed in the same space as an existing partial solid block Fixed: Wording mistake in a short story. Fixed: Missing name for aged chests Fixed: Might mitigate the fruit tree crash? :shrug: Fixed: On client shutdown, very rare ThreadAbortException in chunkTesselator thread Fixed: "/help we" now lists out the directional subcommands correctly Fixed: Potential rare bug with blockEntities removed on server not being removed client-side Fixed: Setting player roles did not sync to client Fixed: Missing translations in the moddb util Fixed: Able to circumvent drunkenness / low stability chat text distortion Fixed: "The Invention" music track never playing Fixed: Unknown block in some clutter handbook pages Fixed: Unknown blocks in some chests in the Resonance Archives Fixed: World edit command results sent to the wrong player Fixed: A new crash in BehaviorPillar? :shrug: Fixed: Server side exception that kicks the player when talking to traders Fixed: Multiple visual issues with the new seraph clothing pieces Fixed: Unused herbs (angelica.png, ...) trying to resolve images and causing errors on startup Fixed: server.sh not showing command results Fixed: Multiple minor issues with the Resonance Archives Api Tweak: Behaviors and AITasks now have an optional AfterInitialize() method, can be used to fetch info from other behaviors for the same entity after the other behaviors are guaranteed initialized Api Fixed: Typo in MultiBlock.OnBlockInteractStop() called *Step methods instead of *Stop Api Technical Notes for modders: Entity physics, including updates to entity.OnGround and .Swimming flags, now happens after all other entity behaviors have been ticked but before the next entity tick. Entity physics can be multithreaded: several threads will process entity physics in parallel, at the appropriate time in the overall game tick. Please ensure that your implementations of Entity.OnFallToGround(), Entity.OnCollideWithLiquid(), Entity.OnExitedLiquid() are all globally threadsafe. "Globally" threadsafe means, changes to the fields or properties of the calling entity itself are OK (for one single entity, these methods cannot be called at the same time for the same entity on different threads, and other entity behavior code will not be running during physics updates). But global data stored in a non-threadsafe way (for example, a single Dictionary in your mod holding all swimming entities, unless it is a ConcurrentDictionary) should not be modified inside these physics methods, on a server. Likewise setting blocks, spawning new entities or entityItems (drops) or other changes with global effects on the server in these physics methods (or in any other code which extends entity physics) is not a good idea. If necessary, use server.EnqueueMainThreadTask() to safely set blocks, spawn new entities or to change global data, if your mod's code is currently taking these kinds of actions in entity physics methods. Api Technical Notes for modders (2): In the unlikely event that your mod's code replaces or extends EntityBehaviorControlledPhysics.OnGameTick() or .OnPhysicsTick() it may not work correctly with the new multithreaded system, please contact the devs for specific help. API Technical Notes for modders (3): If your coded mod uses multithreading - either TyronThreadPool queuing or creating its own threads on a server - then ServerMain.FrameProfiler will now be null on threads which are not the main thread and not ServerThreads created in the vanilla game engine. This may trigger null reference exceptions in your code if the FrameProfiler is used in your own threads. This is intended behavior: your code should not meaningfully write to the FrameProfiler except on the main thread. If in doubt, in your code use ServerMain.FrameProfiler?.Mark() or similar code.
- 7 comments
-
- 21
-
-
-
-
-