Skip to content

Dijosto/SandFox

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ghoul Grounds Mods

Custom Commands:

  • heal_player - Gives the player the specified amount of health. heal_player 100 to give 100 health.
  • give_ammo - Gives the player the specified amount of ammo. give_ammo 100 to give 100 ammo.
  • kill_zombies - Kills all the spawned zombies.
  • rapid_fire - Toggles rapid fire mode. rapid_fire true to enable, rapid_fire false to disable.
  • start_lobby - Starts a lobby. Still need to figure out method patching to make co-op work

SandFox

SandFox is a modding and debugging tool for S&box that uses DLL injection to load a .NET assembly in to a running instance of S&box.

Features

  • Adds console commands to support debugging such as scene_list and gameobject_dump
  • Adds console commands to support modifying game behavior such as map_change and freecam_start

How to Use

  1. Run SandFoxGUI.exe
  2. Run S&box and run a game
  3. Press the Inject button
  4. If "Successful SandFoxSystem init." was logged, then all the ConCmds and ConVars in ManagedPayload should be available to use.
  5. After closing S&box, SandFox commands will not be useable again until after restarting S&box and pressing Inject again.

Modifying

To add new behavior to SandFox, add a ConCmd or ConVar to the ManagedPayload C# project, build it, and copy the output DLL to same directory that ManagedClient.exe is in.

Loading .NET DLL plugins is planned to be supported in the future, so you wouldn't have to modify ManagedPayload itself.

Future Plans

  • Allow SandFox to work for multiple different games without needing to restart S&box and reinject the payload each time.
  • Add a plugin system to that allows different DLLs to be loaded depending on game.

Troubleshooting

  • Issue: Windows Defender thinks that Injector.exe is a virus
  • Resolution: This is a false positive. Injector.exe is just a tool that forces a process to load a DLL. Because Injector.exe is fairly basic, it is probably semantically equivalent to similar tools used for malicious purposes. In the future, I might modify ManagedClient so that it no longer requires Injector.exe to function.

About

A tool for injecting a .NET DLL in to S&box for modding purposes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 92.9%
  • C++ 4.8%
  • CMake 2.3%