-
Notifications
You must be signed in to change notification settings - Fork 6
Developer Setup
wootguy edited this page Dec 15, 2025
·
5 revisions
This wiki will set you up to develop/debug the mod and native plugins.
- Set up the server as described here
- Open
SevenKewp/build/sevenkewp.sln - Right click the
serverproject and selectProperties. - Set
General->Output Directoryto thedllspath on your dedicated server (Half-Life/valve/dlls) - Set up the
Debuggingsection:- Set
Commandtohlds.exe - Set
Command Argumentsto whatever you want to launch with.
Example:+map sc_test -dll dlls/server.dll -num_edicts 2047 -heapsize 65536 +maxplayers 32 +developer 1 +sv_cheats 1 +log on - Set the
Working Directoryto your server path (Half-Life/). The path must end with a slash.
- Set
- Repeat step 4-5 for any other configurations you want to use (Debug/Release/...)
- Right click the
serverproject and selectSet as Startup Project. - Press F5. The server should start with the debugger attached.
Visual aids


You can make a new plugin by duplicating an existing one and renaming the project inside CMakeLists.txt. A simple one to copy is plugins/HLCoopMapPlugins/restriction/. You may want to change the hlcoop_setup_plugin() line too depending on which type of plugin you're making. Map plugins use "plugins/maps/" and server plugins use "plugins/server/". Map plugins function the same as server plugins except that they're loaded/unloaded by specific maps via .cfg files. Server plugins are always loaded.
New plugins don't show up in Visual Studio until you reconfigure CMake. To do that:
- Open the CMake GUI
- Set the
source codeandbinariesdirectories toSevenKewpandSevenKewp/buildrespectively. - Click
Configure, and thenGenerate - If all goes well, Visual Studio should ask you to reload the projects and you'll see the new project. You may need to update your
CMakeLists.txtfile if there was an error.
Visual aid

| Problem | Solution |
|---|---|
Unable to load engine, image is corrupt |
Check that the server.dll file is in the right place. Be sure you installed the steam_legacy version of hlds from SteamCMD. |
| Crash on startup or when loading plugins | Right click the Solution and choose Rebuild Solution. This is necessary when changing build modes or updating APIs. Make sure the .dll files are in the right place, too. Each mode (Debug/Release/...) has a separate configuration you need to configure. |
| Dead on join and can't respawn | Make sure sevenkewp/server.cfg was copied to the valve/ folder on your dedicated server. CFG files must be in valve/
|
- Don't use the
build_server_and_pluginsscript while developing. It discards all local changes not pushed to git. - Change the startup project to the one you're actively working on. This way, building with F5 will pick up changes and build only what's needed to test that project.
- ASAN is great for debugging memory corruption (crashes that make no sense or have corrupted stacks pointing to nowhere). Enable it by switching to the "Asan" solution configuration (also do this for ReHLDS). The server will run much slower so it's not something you want to have on normally.
- Visual Studio can't debug the server and client at the same time. Create a new build folder and solution via CMake if you want to do that.
- Use Clumsy to simulate bad network connections. This is essential for client prediction testing. Dropped packets can help troubleshoot bad client HUD initialization as well.