Debugging is an essential part of any game developer's process; whether that is printing “Aaargh” when an enemy is hit, or finding the pesky error which is causing that same enemy to crash everyone's game. For single player development logging is mundane. Log messages can be readily displayed in a console on your computer. However, when your world is no longer running in safe isolation on a single machine, but distributed across multiple servers and hundreds of clients, keeping track of errors and logs can become more of a handful.
Our new logging system hopes to relieve some of that burden. We have added the Logs page to the Planetary Processing dashboard, to help debug code across your game world. Since a successful game will have a large number of log entries, all your printed messages and errors are now stored in easily traversable log groups. With time, date, game, and chunk filtering, you can find the correct log group and drill down to the bedrock of the issue in no time.
Any uncaught errors or `print()` functions in your server-side Lua code will now be displayed automatically in a log entry table. Each entry provides key information about when and where the event occurred in your game world, whether it happened at the furthest chunk or in a separate dimension altogether.
Each log message has multiline support, so data in the logs can be displayed in a clear and easy to read format. Rather than face a flood of constant updates, there is an active refresh button so you can decide when to update your log table with fresh entries, to more easily keep track of new changes.
Logs for specific chunks, games, and dimensions can also be accessed from your game dashboard map. So if you spot an entity which you think might be causing trouble on your game map, you can view the logs for that chunk location to quickly pinpoint the issue.
We hope this feature will help you on your game making quest to rid your virtual world of bugs. A full documentation can be found here. As always, let us know on our Discord if we have missed any bugs of our own, or any changes we can make to improve logging for your game.