1. Grey Hack
  2. News

Grey Hack News

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.

[h3]Backend rework[/h3]

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.

[h3]CPU Limit & Ram Limit[/h3]

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.

[h3]World generation & Database management[/h3]

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.

[h3]Capture the Flag[/h3]

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.

[h3]Overwiew[/h3]

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!

[h3]Changelog[/h3]

- 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

[h3]Changelog[/h3]

- 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

[h3]Changelog[/h3]

- 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

[h3]Changelog[/h3]

- 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.