Alpha 54 Update: Dedicated Servers (18th September 2020)

Subsistence

Subsistence is a sandbox, first person, solo or co-op, PvE open-world survival game. Struggle through changing seasons to build a base, develop technology and gear-up in the hostile environment. Defend yourself from wildlife, the elements and AI hunters (who also build bases in the world).

[img]{STEAM_CLAN_IMAGE}/26620178/22045d21cf6f5e72d0f91f88ae7dc129dad07373.png[/img] The Alpha 54 update is primarily focused on adding official dedicated server support, improving the multiplayer client experience, and a number of other fixes and improvements. [h2]Dedicated Servers:[/h2] The dedicated server files are freely available for any players who own the game. Players can choose to host their own servers, or rent them from a variety of hosting services. Please view the Server Admin Guide for players interested in hosting and admining their own server: https://steamcommunity.com/sharedfiles/filedetails/?id=2201638184 [h2]Server Browser Update[/h2] The in-game server browser has had a visual and functional update, and now gives detailed info on servers currently running. [img]{STEAM_CLAN_IMAGE}/26620178/15e81177e36dced8f1b34d29458fcd4ce5d72c6c.png[/img] Servers will show an icon indicating whether they are player-hosted or dedicated. [img]{STEAM_CLAN_IMAGE}/26620178/25b66b5a6a979fbb2911dc32f53f2dcefa65f9b7.png[/img] Clicking on a server in the list will now show granular details on the games settings and current in-game state. [h3]Filters, search and history:[/h3] There is a text search that filters servers based on their name of hosted-by fields. You can also sort the list by name/hosted-by/ping/player-count. You can also filter by "All" servers, or "History" (which will display only servers you've previously joined, sorted by the most recently joined). [h2]Profile Stats:[/h2] Available in both singleplayer and multiplayer, players can now view detailed stats of their current profile (or server). There is a new button under the clothing UI to open the "Profile Stats" (or "Server Stats" in a multiplayer game). [img]{STEAM_CLAN_IMAGE}/26620178/dc640d101744b20a11101221c4c9fd0762095531.png[/img] This new UI will display all players currently on the profile, a summary of their stats, and then a breakdown of various categories. [img]{STEAM_CLAN_IMAGE}/26620178/a917d8d8edbe5aaa74f82083ac2c3ebed82bf4b3.png[/img] I actually implemented tracking for many of these stats many updates ago, but never added a UI to expose them. I decided to add it now as I wanted to give server admins visibility of players and their activities on their server. [img]{STEAM_CLAN_IMAGE}/26620178/e8d7324370307c32d57d3076fdc96bfe54b519e6.png[/img] This means that many of these stats will be populated, even on old profiles. However many are newly added, so will only start tracking once your game has updated. These stats will be a nice foundation for when I implement Steam achievements (future update). [h3]Weapon Stats:[/h3] Shows individual kill stats for every weapon. [img]{STEAM_CLAN_IMAGE}/26620178/c1875b1f99c02310a34e533a7ce46afb094475c1.png[/img] [h3]Hunting Stats:[/h3] Shows every single hunting kill made by the player on the current profile/server (including fish caught). [img]{STEAM_CLAN_IMAGE}/26620178/d405d0059ef4c8418c38facd4cb34f21367f2054.png[/img] [h3]Looting Stats:[/h3] Show stats on many items looted/harvested in the world. [img]{STEAM_CLAN_IMAGE}/26620178/4808f409fed51e3c6a452b3925d5c14042748f98.png[/img] [h2]Server Admin Login:[/h2] If hosting a player-hosted game, the host will be automatically logged in as an admin. For dedicated servers, admins must log-in with the "AdminPassword" that is set in their server config. [img]{STEAM_CLAN_IMAGE}/26620178/1ce1e9007dc603e98b10ed77e48aee7e997ea815.png[/img] Admins will show in the player list with an icon besides their name. [h2]Admin Kick/Ban/Unban Players:[/h2] When logged in as an admin, while viewing a player in the server stats UI, you will have buttons on the right side to kick or kick+ban a player from the server. [img]{STEAM_CLAN_IMAGE}/26620178/9cb7f658a234266edb4704e9281fc53c033c4574.png[/img] As an admin, you will also have a tab above the player's list, to list all banned players (who are now offline). Selecting players in this list will display a button to unban them. You can still view the full stats of a banned player. [img]{STEAM_CLAN_IMAGE}/26620178/b42f7244139eeae9c36d8aa832e43460fa368549.png[/img] Banned players will be banned across all profiles hosted by that server. [h2]Verified Servers:[/h2] In the interest of players having a good experience when choosing a server to join, I've added the ability to flag servers as verified (which I can update anytime on a backend server). [img]{STEAM_CLAN_IMAGE}/26620178/065a98f304ec3e950c8be9f86e306cfe52a858f3.png[/img] The idea is that servers that become reputable and in good standing with the community can be flagged as "verified" and show at the top of the list. Please reach out if you are a host and would like your server to be considered. [h2]Fixed Client Jumping/Landing Lag:[/h2] Previously when jumping, the client would wait for the server to respond with their landing velocity, causing an awkward lag (delayed sound and camera shake) when landing. [img]{STEAM_CLAN_IMAGE}/26620178/ce237e14973131f4db9622e78ca4bd85a4f2fbdd.png[/img] This is now predictively calculated by the client, and now feels way more responsive for clients. [h2]Improved Client Unlocking Crate Lag:[/h2] Previously when unlocking crates, the client would ask the server to unlock the crate, wait for the response that it was unlocked, then send another request to access it. Now the client sends both requests at once, which cuts the lag on opening crates in half. [img]{STEAM_CLAN_IMAGE}/26620178/ee40c99ba51085d9ce6fec776c39c5ca56a40485.png[/img] [h2]Removed lag from picking up small animals and dropped items:[/h2] I've added client-side predictive pickup effects for small animals and dropped items (rather than waiting for the server). So picking up a small-game kill (or hand-catching chickens) now feels as responsive as single player. [img]{STEAM_CLAN_IMAGE}/26620178/10ffe6c57101aee9b97d3ac3c97ca125255bfe7c.png[/img] [h2]Player Count?[/h2] This is untrodden ground for me. The simulations I have been running on my dev environment are not sufficient to gauge the real-world performance stats (or the player experience). [img]{STEAM_CLAN_IMAGE}/26620178/2cb4d0a40b6fda8e68b93c98a6b1df41cbec96f1.png[/img] I have started with a max count of 32, however this may change once servers have been tested. I would urge server hosts to be gentle with your max counts and monitor your performance stats. As a community, I hope we will soon get an understanding of performance ceilings. If you are a host, please join the "Server Admins" channel in Discord to discuss server performance and so I can notify of hotfixes going out, etc. [h2]PvE/PvP?[/h2] I've added settings for dedicated server hosts to customize whether to allow/restrict PvP actions on their servers. In particular these following rules (which can also be viewed from the server list before joining a server):[list] [*]PvP damage can be enabled/disabled. [*]PvP Base Damage: Whether players can damage player-built bases. [*]Access Enemy Player Base Items: Whether players can access enemy player base items, such as storage crates, refineries, etc (does not include doors/windows/hatches). [/list] Hosts should reference the [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2201638184]dedicated server guide[/url] to configure these settings. [h2]Renting A Server:[/h2] For players wishing to host a server without having to manage their own hardware, there are now several server hosting services that are setup to host Subsistence servers. I would recommend Nitrado, as I have been working closely with their team to integrate the servers and settings into their control dashboards. Although players are free to use any service or hardware they like. [img]{STEAM_CLAN_IMAGE}/26620178/7d61539efece15284b9ec2646ce645d5394862dd.png[/img] You can find Subsistence servers to rent here: [url=https://nitra.do/subsistence]https://nitra.do/subsistence[/url] [h2]New Tree Collision:[/h2] Previously I had been using SpeedTree collision primitives for tree collision. As the map continues to expand, this collision has become buggy unreliable, resulting in collision not aligning correctly with trees. Furthermore, it seemed this alignment error would differ between client and server, resulting in some jerky server corrections for clients. [img]{STEAM_CLAN_IMAGE}/26620178/3f75aa66b73cea01b4041f23d095e39063a6ec83.png[/img] I've abandoned the previous collision primitives and added my own mesh collision for all trees. This seems to have fully solved the issue (for the price of a slightly increased map file size). [h2]Crate Labels:[/h2] A requested feature for a long time, players can now craft labels for their storage chests. Once crafted, the label can be switched between a set of preset labels. [img]{STEAM_CLAN_IMAGE}/26620178/5333051e80d0ebe195aff9aed49c42abb50077ba.png[/img] I've tried to include a decent amount of labels, but please let me know of more that are needed. I may consider adding dynamic text to labels in a future update. [img]{STEAM_CLAN_IMAGE}/26620178/a16a072a32263e2cbf6c629499baede959fa012d.png[/img] [h2]Fixed client-side bug where buildables show as fully damaged:[/h2] A common bug reported by players on established/large co-op games; when a new buildable was placed it would sometime appear as fully damaged for clients (not for the host). This has now been fixed. [img]{STEAM_CLAN_IMAGE}/26620178/e036a94837935139071f93bb41305e2917bb1855.png[/img] [h2]New Buildable Move/Disassemble Rules:[/h2] In an effort to prevent griefing I have updated the rules around moving or deleting buildables. [img]{STEAM_CLAN_IMAGE}/26620178/a0392ebeaf6a568d034d794884a2b3afcbfb7d81.png[/img] I now track which player placed which buildable, which allows for the following new rules: [list] [*]Cannot move/delete a buildable if it was placed by another player, unless that player is a member of the same base. [*]Cannot move/delete a buildable if it is within another team's BCU range of influence (even if they placed it). [*]Can move/delete any buildable placed by another team if it is within their BCU's range of influence. [/list] For old profiles, previously placed buildables won't know about their ownership, but as long as they are in range of a BCU, will be protected (as per prior to this update). Note: These same rules are also now applied to opening/closing doors/windows/ladder-hatches. [img]{STEAM_CLAN_IMAGE}/26620178/5f09399f56a2d99dd3b213deea0cb3abe310af13.png[/img] [h2]Base Decay (Dedicated Servers Only):[/h2] One regular piece of feedback I receive from current server hosts is that servers can become messy with abandoned bases. There is now an optional setting in UDKDedServerSettings.ini (NumPlayerOfflineHoursBeforeBaseDecay). [img]{STEAM_CLAN_IMAGE}/26620178/40abc11c89af68e14102e016bd60e0be28ac85fb.png[/img] This setting allows server hosts to specify a number of (real-world) hours that if no members of a team have been active for this time, then all buildables placed by any of them will start to decay. The decay time takes around 4 to 6 hours once it has started. I would recommend setting this to something like 5 days (120 hours), or whatever you feel appropriate to keep your servers clean. If set to 0, then the decay feature is disabled. [h2]Additional Admin Cleanup Abilities:[/h2] Please note that there is a keybind available in the controls menu for admins, which when used in game will delete any buildable while looking at it. It is unbound by default. [img]{STEAM_CLAN_IMAGE}/26620178/f1dfe0300ad9ee092ef8d36c7a274c9987294e5b.png[/img] There are also several admin commands available via the console (type help to list the commands). I plan to expand on admin capabilities/tools in the future. [h2]Harvesting Grown Plants:[/h2] I always found it a little jarring to be able to harvest an entire bed of plants in almost an instant. [img]{STEAM_CLAN_IMAGE}/26620178/2f017c2c63ea600a901e946419f6d662a60b0d48.png[/img] Now grown plants require the use key be held down for a short period to harvest them. I think this is a bit more immersive for players who like to farm. [h2]Plant Bed Alignment & Network Performance:[/h2] I've fixed the bug whereby plants would become misaligned after moving the plant bed. Plant beds have always been a strain on network games. They previously used individual network channels for each plant, so the server was constantly checking if each plant is relevant to every player (which also led to plants disappearing and reappearing for clients). I've re-written it's network code, so now all plants use only a single network channel (that of the plantbed itself) and is very light-weight for the server. [h2]Cougar AI update:[/h2] The cougar AI has had some tweaks to prevent certain exploits. I'll be keeping an eye on this to see how it plays out. [img]{STEAM_CLAN_IMAGE}/26620178/078ebcd809b28d585a7b8aba0dae74baea14ec00.png[/img] [h2]Hunter AI - Close-Range Combat:[/h2] I've added new behavior to the hunter AI to respond to certain close-range encounters. They can also now perform melee attacks, so be cautious when rushing in close. [img]{STEAM_CLAN_IMAGE}/26620178/8aaca528fd67632d95552b96221796d7aaaccea9.png[/img] [h2]Save-Game Button:[/h2] There is now a dedicated save game button in the menu while in single-player or hosting a co-op game. [img]{STEAM_CLAN_IMAGE}/26620178/ea1dd9eeecd131e8488745253d8d0316b9c54214.png[/img] [h2]Exit to Main Menu:[/h2] Sorry this took so long. You can now exit to the main menu when playing on a profile. [h2]Fixed Flashlight Shadow Artifacts:[/h2] A Discord member reported that weapon flashlight attachments were causing shadow artifacts while in their base. This bug was introduced when I switched to using instanced static meshes for base buildables, and should now be resolved: [img]{STEAM_CLAN_IMAGE}/26620178/b82dd2ff1ed2048bc498141997f0ffffb60c90cb.png[/img] [h2]Updated Weather Effects While Swimming:[/h2] Previously, while swimming, rain and snow effects would display under the water surface (and be pushed further away from the player). This is now fixed. [img]{STEAM_CLAN_IMAGE}/26620178/6ecf5cb20dba0a55dc5f781d2ba1a3ff68371afc.png[/img] [h2]Hardcore Death Penalty on Dedicated Servers:[/h2] Obviously terminating the server if a player dies in hardcore would not work for ded-servers. Instead, the player's dropped kit only lasts 2 minutes (so it is effectively lost for the player, as it previously was), and they will see no HUD beacon. [h2]Bat Location/Attack Bug Fixed:[/h2] Fixed a rare bug where bats could attack the player through the cave floor. [img]{STEAM_CLAN_IMAGE}/26620178/78b545a3554ec4be55c5ba1bf47d9a713a6c8fb1.png[/img] [h2]Expanded Server Build Limit:[/h2] I have added network pools for Solar Panels, Wind Turbines, Power and Mass Storage, which results in 20 of each item only using one unit from the build limit (rather than one each). This should drastically increase the amount of buildables that can be placed in a multiplayer game. [img]{STEAM_CLAN_IMAGE}/26620178/c5a4fcc2fac17e48954ac6988f3284ae3db74637.png[/img] This change will apply to existing multiplayer profiles. I'll expand this even further in the future. [h2]Other notable changes:[/h2] [list] [*]Fixed occasional glitchiness causing the player to get hung-up on base items. [*]Fixed bug for clients of mp games where doors and crates would not remove once destroyed (and be left with no collision). [*]Fixed hunters often using the incorrect weapon holding states, leading to odd poses while in combat. [*]You can now hit Escape to exit the map view. [*]Fixed bug where the map could open at a strange angle. [*]Fixed occasional bug of spawning a player too close to a hunter camp, predator (or potentially inside another player's base). [*]Fixed deer and moose not correctly exiting out of their idle animations when fleeing for clients of mp games. [*]Made some design changes to the solo and multiplayer profile launch UI to show the individual settings more clearly. [*]Fixed the clam pickup message showing if clicking on the shell after taking the pearl. [*]"Game saved" message no longer shows for clients, and now uses the correct hud messaging and localized fonts. [*]Fixed short period of seeing "is being accessed" message when exiting out of accessing a base item. [*]Added a proper jump landing sound when landing in snow (previously was the default dirt sound). [*]The local Steam language will now be auto-selected when first starting the game after installing (so players shouldn't need to manually change the language when they first play). [*]Fixed month override not working when first starting a brand new profile. [*]Prevent players stepping up on base items when crouching next to them. [*]Fixed rare bug that could cause the player to fly into the air when pushing up against the perimeter fence. [*]Fixed bug that would cause the player to lose movement control when submerging into water while climbing a ladder. [*]Fixed bug of increasing power cost of bed spawns not showing for clients of network games. [*]Bed spawns in co-op (player hosted) hardcore servers, now increase in cost after each purchase (same as in single player). [*]There is now a checkbox in the co-op launch screen to show or hide the game from the public server list. [*]Added more appropriate sound for when campfires and traps are destroyed from decay. [*]Fixed exploit that allowed two team members to own two bases that would both auto-generate power/mass. [*]Fixed UI bug that was preventing players from declining a base invite. [*]Fixed exploit that allowed a BCU to be linked to another. [/list] [h3]Summary[/h3] To all of the singleplayer players, I'm sorry this update is so largely focused on multiplayer. However dedicated servers are a key, planned feature that I've been promising since launch, so I'm excited to finally add support. Please stay tuned for further updates, and hope everyone has a great week! Cheers, CG Discord invite: [url=https://discord.gg/zyy4jQs]https://discord.gg/zyy4jQs[/url] [img]{STEAM_CLAN_IMAGE}/26620178/75ce88f3efed677f5e3d77625d6f60a77830ed1b.png[/img] Twitter: [url=https://twitter.com/playSubsistence]@playSubsistence[/url] Facebook: [url=https://www.facebook.com/playsubsistence/]https://www.facebook.com/playsubsistence/[/url] YouTube: [url=https://www.youtube.com/channel/UCkQZ7vkTiqetTC0_8umY2Pg]https://www.youtube.com/channel/UCkQZ7vkTiqetTC0_8umY2Pg[/url] Steam Forums: [url=https://steamcommunity.com/app/418030/discussions/]https://steamcommunity.com/app/418030/discussions/[/url] [u][b]Continued Translation Support Credits (in no particular order): Thank you so much for the support.[/b][/u] Spanish (David Lascasas) Hungarian (Erb Ármin) Portuguese BR (Thiago Schumacke) German (Philipp J. Rackl (LPCaiser)) Italian (Marcello Brancaccio, Federico D. Ravagli) French (Anthony Charrault) Czech (Dílna U mnicha) Dutch (Damster_NL) Danish (Jesper Vestergaard Bæk) Russian (FRAME) Turkish (Soulkast, Çagla Gurbet) Swedish (Mattias Gustavsson) Norwegian (Christer Djuvik, Svein Tore Stegemoen) Romanian (VaeVictis) Estonian (Streamerize) Polish (Robertus Lubin)