Skip to main content

2023 Nov: TOML Class & Password Flow!

Β· 4 min read
Gabriel T. Nardy
nanos world developer (SyedMuhammad)

New TOML Class & Password Workflow

Tune in for a roundup of the latest updates from November!

New Class: TOML​

We are introducing a new class: TOML.

This is a new utility class aiming to help manipulating TOML files and structures.

It exposes methods such as to provide serialization and deserialization to TOML content, allowing them to be easily converted to Lua structure.

Password Flow​

We reworked how servers with password work.

Before we were sending the password before knowing if the server was or not passworded, this was not good since some cases didn't work, such as following friends connected in passworded servers, making it always fail to connect because no password prompt was presented.

But with this new change, the client will always wait the server to say if it requires a password or not. Making then the every connection flow to work with passworded servers from now on.

Now always when you attempt to connect to a passworded server, you will be prompted with the password popup asking for it before proceeding with the connection!

Special Holidays Themes​

We've automated the theming of the game UI, now when we come close to Christmas or Halloween, the main menu UI will change automatically to the proper theme!

With this improvement, it's easier to add new themes for other holidays as well! Which will be adding when the time comes!

File Class Access​

We implemented a new internal access system for File Class that changes how the scripting can access files in the File System.

Now on Client side, it's allowed to read any file from the Packages/ folder, but write is still only allowed to the default .transient/ folder.

This expands the permissions of files access on client side, as until then it was only allowed inside the .transient/ folder.

On the server the rule keeps the same: it's possible to read and write to any file from inside the server directory (except Config.toml itself).

In Game Server​

We did several improvements in the In Game Server, and now changing the map or restarting the server will not cause it to be closed (as the host was disconnecting to reconnect).

Those changes required a bunch of refactoring internally but now everything has been fixed and works as it should!

Miscellaneous​

Some minor changes and improvements that were made:

Input.Unbind​

We added a new parameter to Input.Unbind(): callback, so now it's possible to unbind a specific function (like how Events.Unsubscribe works).

Player Methods​

We added two new methods to Player: SetCameraFOV() and SetCameraSpeedSettings(), which allows customizing the FOV and the speed of the floating pawn when not possessing a Character!

Enabled PCG Plugin​

We enabled the PCG Plugin in the base game, so it's now possible to you to use the new Unreal Engine 5's PCG features in your maps!

Several Bug Fixes​

Also this month we got a bunch of bug fixes worked on, which you can read in detail in our Discord's Changelog Channel. But to summarize a few:

  • Canvas always black
  • Trigger on Client not working
  • Level Streaming making the game to crash
  • Database and File locking connection and files when restarting packages, requiring to restart the server
  • Server not sending Server's Synced Values to newly connected players
  • Package.toml not being generated correctly
  • And more...

Conclusion​

Despite being more succinct, I didn't want to skip writing this blog news! We got some cool additions such as the TOML helper class and other improvements, and a bunch of important bug fixes as well!

I wanted to thank everyone for supporting our trajectory this year and all the help given! Next year we gonna have lots of news that we are very excited to share!

Due to Christmas and New Year holidays, I am not sure if we will have a December blog.

See you next year! Happy Christmas and happy New Year to all of us!!!