- Fixed regression bug that could cause a blank wallpaper to be displayed to players who had played in the nightly build at some point.
- Fixed bug that caused the passive trace to not initiate the GameOver when finding the player if they were not connected to Multiplayer mode at that time.
Update v0.8.4981a
The public build has been updated with the latest available version of the game!
As usual, since the nightly build has merged to the public version, the nightly build has been disabled until the next cycle.
Backend rework
A massive re-implementation of several key game systems has been carried out, such as world generation, script management, interaction with files and devices in general, database management, etc.
This brings several notable improvements, particularly in the Multiplayer mode, where in addition to a significant improvement in script execution speed, the server is now capable of monitoring scripts to prevent excessive resource usage that could cause server performance issues when players executed certain scripts.
In addition to the backend improvements, a new gameplay element has been added, Capture the Flag events! Players can create their own missions to be solved by other players, earning some money in the process.
CPU Limit & Ram Limit
These are the systems responsible for balancing server load.
Cpu Limit assigns a CPU execution time for each player. If the player exceeds this allocated time, CPU Limit will slow down the scripts so that they do not exceed this limit.
For example, having a script that runs an infinite loop, even if it is empty, will trigger CPU Limit, which will moderately slow down the script. The more scripts running at the same time that are triggering CPU limit, the slower they will all go in order to not exceed the CPU time assigned to the player.
A good practice to avoid triggering CPU Limit is to introduce waits in parts of your program where it is not necessary to be running at full capacity, such as in iterations of an infinite loop. A wait(0.1) in the appropriate place will be sufficient to avoid triggering CPU limit in most cases, as by waiting we are saving CPU time. In addition to wait, the user_input method resets CPU limit for that script.
On the other hand, RAM Limit is responsible for monitoring the real RAM memory usage on the server that is being used by the players' scripts. At the moment, the limit is approximately 512mb, once that point is reached, RAM Limit will stop the program with a notice in the terminal.
512mb is a more than generous amount of memory for a script, if RAM Limit closes any of your scripts, it would be advisable to review your implementation as you are reserving much more memory than necessary.
It is important to note that CPU Limit and RAM limit are only present in Multiplayer mode.
World generation & Database management
Several aspects of database management have been re-implemented to avoid saving redundant data, which was causing very large database sizes over time. This also caused performance to gradually decline as queries were taking longer and longer to execute. Now each network is generated from a seed and only the device data is saved in the database when any change occurs.
This allows for performing database maintenance under optimal conditions, as from now on semi-wipes of the database will be possible to keep consistent performance over time. When these semi-wipes occur, the impact on players will be minimal. It will only affect NPC networks, and the result for the player will be the same as if the NPC admin had restored the computers in a network.
Capture the Flag
Or commonly called CTF, are missions that players can create. You can visit any Hackshop to see the list of available missions.
To create a mission, you first need to rent a server. This rented network will be used as a template for the networks that will spawn when players accept your mission. In these missions, both the creators and the players who solve them receive money. The more players solve and rate your missions, the more money you can make.
Overwiew
In the coming weeks, I will fix regression bugs that may have escaped us during the nightly build. When I consider that the Public version is stable, the next cycle of the nightly build will begin.
The next nightly build, unlike this one, will be dedicated practically entirely to introducing new gameplay elements. You can check the Roadmap to see the progress of development.
Happy hacking!
[Nightly] Update v0.8.4977a
The merge is planned for approximately 48 hours from now! It is recommended that you make backups of the programs that you want to keep from the public version, as there will be a database wipe when the merge occurs. Thank you for your testing!
Changelog
- Multiplayer rules updated.
- Fixed crash in metalib.overflow when exploiting the "local network" vulnerability from a router.
- Fixed crash, what could happen in specific cases, when using the Social Engineering option "Library outdated".
- Reverted HD images temporarily.
- Fixed bug that caused a crash when starting the Passive Trace if the player exited the game before the Active Trace finished.
- Several preparations for the merge.
[Nightly] Update v0.8.4966a
Changelog
- Fixed regression bug when using connect_ethernet on the player's computer if the attempt to establish a new connection could not be made due to any error (occupied IP, etc.), leaving the current connection in a corrupted state, preventing the connection to the outside from visual programs.
- Improved handling of a player already online after a re-log if they had previously disconnected incorrectly (internet disconnection, power outage, etc.) without having given the server time for auto-removal, avoiding redundancy in the code and potential bugs.
- Fixed bug that could cause the player's computer to not be removed from the router it was connected to in cases such as abrupt server restarts, allowing duplications of the player's computer or even accessing a player's computer without them being connected to multiplayer mode.
- Fixed regression bug that caused ConfigLan to display the message "network mismatch" when applying changes if a hub had been added.
- Fixed bug when the player exited multiplayer mode, which could cause the player's connection to the server not to be properly removed if a crash occurred when closing the scripts.
[Nightly] Update v0.8.4960a
Changelog
- Fixed bug in user_input that could cause changes made in the Filesystem prior to the method call to not be updated in FileExplorer.
- Fixed bug that caused the first time a log was generated after being deleted to be empty, instead of containing the action that had created the log.
- Fixed bug that caused the ownership of rentals to be lost, preventing payment cancellation or network deletion from ConfigLan.
- Fixed bug that caused the cooldown information for credential and CTF missions to not persist after a Gameover or player reset.
- Fixed bug that caused the ethernet connection to the home network to not be established correctly when starting the game if it was the last connection used.
- Fixed bug in metalib.overflow that could cause crashes under certain conditions if the exploit had the requirement "Connected in the same local network as the target"
- Fixed bug in ConfigLan after resetting the network, that could cause network corruption after saving changes in portforward configuration.
[Nightly] Update v0.8.4950a
Changelog
- Fixed regression bug in ConfigLan when resetting rentals, causing an incorrect restoration and potentially causing crashes when trying to interact with other networks from any computer.
- Fixed bug in Single Player mode when obtaining an FTP shell, causing the terminal to stop responding.
- Fixed bug that caused mission NPC emails to not generate under certain circumstances, also preventing the use of social engineering.
- Fixed regression bug that could cause a crash when accessing a computer with a hidden or karma mission after performing certain actions.
- Fixed issue that prevented clicking on the "source code" checkbox when purchasing exploits.
- Fixed bug that could negatively affect game performance until the player connected to a Wi-Fi network.
- Fixed performance issue when interacting with networks that contained hidden or karma missions.
- Fixed crash when trying to use connect_ethernet while not connected to any network.
- Increased initial coupons to 40 during the nightly build.
- Fixed bug in connect_ethernet that caused a crash when used on an NPC computer.
- Fixed bug that caused the player's computer to not be deleted from the device it was connected to after exiting the game, potentially causing duplicates.
- When reactivating the ethernet card or starting the game, it correctly connects to the ISP network using the last data used instead of the forced IP and gateway addresses 192.168.0.2 and 192.168.0.1, respectively.
- Fixed bug that prevented the creation of email accounts for NPCs related to a hidden or karma mission.
- Fixed bug that caused repeated information to be added to the UI when using connect_ethernet from the ISP multiple times.
[Nightly] Update v0.8.4925a
Hi people! As you may have noticed, there have been no changelogs on Steam for a while for the nightly build. Due to the special nature of this nightly build, new updates are being released almost every day, especially related to regression bugs caused by the massive changes made in the game's backend. So in order to not spam the news section during this time, the changelog have only been published on Discord.
Fortunately we are getting closer to the merge since the most critical bugs have been fixed, so I think it's a good idea to start posting the progress of the nightly build here again, although I will only publish the changelog here once a week with a summary of the previous updates to avoid spamming. Thank you for your constant support!
Changelog
- Fixed a regression bug that caused a crash when accepting a CTF mission.
- Fixed a bug in the hidden and karma missions that could cause a crash when accessing these networks multiple times.
Previous changelogs of the week
- Fixed Bug #1024: Hidden and Karma missions generating without files and attachments on first public router and can't be completed
- Improved backend for future database maintenance tasks
- Fixed bug in connect_service that did not allow connecting from the outside to a CTF network.
- Fixed bug that caused the rates to reset after unpublishing and republishing a CTF event.
- Fixed regression bug that could cause generated networks from hidden and karma missions to lose saved data after generation
- Removed restriction of not being able to obtain remote routers from CTF networks
- net_use cannot connect to external networks from CTF networks
- Fixed bug that could be exploited to obtain a reward multiple times
- rhsell_server cannot be started in CTF networks
- A window with information is displayed when opening the CTF website for the first time
- Fixed bug in ExploitReport.exe that could cause issues if the name of the exploit contained any HTML tag.
- Moved the creation and management of CTF events from scripting to the Hackshop web.
- The following scripting methods have been removed: CTF_Event.set_config, CTF_Event.publish, CTF_Event.unpublish, CTF_Event.delete_event.
- You cannot create CTF events using a template that is already in use in another event.
- Fixed Bug #915: Length of wallet password could exceed 16 characters.
- Fixed Bug #916: Wallet password reset does not update accounts information.
- Fixed bug that caused the player's computer to disconnect from WiFi when installing a new WiFi card in a rental with only one PCI slot.
[Nightly] Update v0.8.4764a
Changelog
- ssh encryption restored.
- Fixed regression bug in sniffers causing them to not capture any data.
- Fixed regression bug in computer.change_password method that could cause the password to not update correctly in the /etc/passwd file.
- Fixed regression bug in metalib.overflow if the exploited vulnerability changed a user's password, causing the password change to not be performed.
[Public] Update v0.8.4527a
Changelog
Fixed issue in the names generator that could generate offensive usernames.
[Nightly] Update v0.8.4756a
Changelog
Exploit system and apt-get changes has been reverted to the public version. Development of the partial objects will continue in future experimental builds. Thank you for the feedback!
Previous Server Updates
- Fixed bug that prevented the email and bank passwords of players from being deciphered.
- Fixed bug that could cause script actions such as creating files, deleting or renaming not to be saved correctly if there was another script calling file.set_content on a file in the same filesystem at the same time.
- Fixed regression bug that caused libraries in hackshops to not update correctly to the latest version, causing apt.check_upgrade to always return true for the libraries metaxploit.so, librshell.so, and crypto.so
- Fixed regression bug that caused the content of files to be lost when moving the folder containing them to another location