Categories
Blog Development

Dev Blog #5: Seed, sync, save

Exciting waters ahead!

Hello everyone! We have some exciting new things coming in the next update (Soon™), and we can finally tell you all about it.

Seeds to grow a world

Many of you might not have noticed, but resources in the mod have not been spawning quite the same as in Subnautica? Well, we have now added a key feature from Subnautica that was missing from the Nitrox Mod. Seeded worlds!

With seeded worlds you can keep the same spawn locations for loots & resources, meaning you can keep playing on the exact same world over and over again as long as you remember (or save) the seed. You can customize your seed in the config file. Don’t worry though! Most of you will probably not use a user set seed as the server will automatically create a new seed when the server world is loaded the first time unless it has been specifically set. Oh and, life pods should now spawn like they do in base Subnautica, meaning a more exciting and varied gameplay start!

Hard to port(s)!

We have worked on making Port forwarding a bit easier. With the upcoming update, we have made Nitrox automatically open the ports making it possible to connect to your friends straight away! Third-party VPN software should no longer be necessary. It should work just like any other game you play online. Keep in mind this feature is also something that needs more testing, but hopefully, it should solve a lot of issues.

Some major things in 1.5.0.0

  • Randomized & Saved Seeds for Resources and Fauna
  • Randomized location for the starter Escape Pod
  • Automatic port forwarding (UPNP)
  • New Save system
  • QMods no longer needs to be uninstalled to use Nitrox (Still no mod support)
  • Plants & Farming!
  • Translations (See list)

Translations

Our community and our devs have taken the time to translate the mod into a bunch of languages! The translations will be available in 1.5.0.0

  • French
  • Spanish
  • German
  • Romanian
  • Finnish
  • Russian
  • Italian
  • Hungarian
  • Slovakian

If you want to have the Nitrox mod in your language, you can translate and put it on the Nitrox GitHub!

How to save a world

When it comes to creating a multiplayer mod the two big milestones are syncing and saving. To ensure the world/game stays the same for anybody while playing and that it stays that way for the next session.
For that, we first used the serializer “ProtoBuf” (a serializer is a little program that turns data like player health, food, etc into storable text and vice versa) this is how Subnautica also does it. Because it saves the data in binary (normally unreadable by humans), we added JSON in V1.3.0.0 which uses a text-based HTML-like method. That way we know what is saved and if the data is valid.

So, if it is just for debugging purposes why does this matter?
ProtoBuf is difficult to get working across release versions, especially if everything can change fundamentally from one to the next. We know that you want to keep playing with your save so we are trying something:
We think that the JSON-save format is nearly bug-free so we are rolling out two new commands “/swapserializer” and “/upgrade”. The first lets you change the active serializer while the server is running. The second applies upgrade scripts from us over the JSON save files.

How to upgrade a world

  1. Backup your world saves
  2. If you are using JSON as save files serializer proceed with step 5. You can see if you are using JSON or Protobuf in the summary on server start
  3. Start the server with the old launcher. Change the serializer to JSON with “/swapserializer” if you are not already using it (we are sorry for people using ProtoBuf with V1.4.0.0 who can’t use this command and therefore are unable to upgrade their save files)
  4. Use “/save” and close the server
  5. Copy the save files (folder named “world”) and the server config (“server.cfg”) to the new launcher directory
  6. Start the server with the new launcher. You should see in the console that it has upgraded your save files. If not please ask our staff in the discord for help

    (Editors note: We updated the list for clarification)

We hope that this is a better solution while we are in beta/alpha. We don’t know if we can make this upgrade process perfect every time, meaning that something like special base parts could be erased because of the upgrading. But we think that a partially upgraded save is better than nothing.

– Save explanation written by Jannify aka. Don Huan-Huanify.

Finding a home for your Underwater Survival

While playing with others should be a lot easier with the new automatic port forwarding, there are also people out there with 24/7 servers. To make it easier to find permanent servers to play on, we have added a Community Server tab on our Discord. In this tab, we will have a Permanent Server channel, where people that have servers that are never shut down can apply to get it added in. We will also be moving the looking-for-group channel into the new Community Server tab.

Having your permanent server up on Discord will look something like this:

The server application should include the name of the server, IP, ports and what type of server it is, description and rules. Along with that information, it is required to have the Discord user name of the Owner of the server, with the option to list mod or admins.

To spruce up your server listing you might want to have a little logo or icon. This is something you have to provide yourself, but you can also use sites like https://freeicons.io/ or https://www.flaticon.com/ for a basic icon if you don’t know how to make one yourself.

There is also the option to choose a colour on the line that goes along the side of the listing. Hopefully, it will make it easier to distinguish between the servers.
To add your server to the list, make sure to contact a Reaper Leviathan on our Discord and they will give you the specifics.

Nitrox version 1.5.0.0 will be coming (Soon™) and we hope that you are all as excited as we are to give it a go!

Stay tuned on Twitter to make sure you don’t miss an update!

– The Nitrox Team

Avatar photo

By Shalix

Community Manager of the Nitrox Project

3 replies on “Dev Blog #5: Seed, sync, save”

Awesome!, so syncing is still a work in progress? You guys should really get a Patreon going, I would fund it!.

Afraid we don’t want money involved with the project! They seem to always cause issues in projects like these, so we would rather not have to deal with it. Appreciate the thought though! 🙂

We love your Multiplayer Mod! I said WE because we are playing this with 3 friends on a REAL game server hoster 🙂 I’m happy that you are still developing this. Looking forward to any new update which brings us smooth game playing 🙂 thank you for your work!

Leave a Reply

Your email address will not be published. Required fields are marked *