Windows desktop management for Team Fortress 2 dedicated servers, with SteamCMD updates, server control, maps, configuration, SourceMod content, logs, scheduling, FastDL, and an intelligent package installer.
Current release: v0.7.0
Forrest TF2 Manager combines a Windows WPF desktop application with a local Windows service to manage a Team Fortress 2 dedicated server without requiring routine command-line administration.
The manager can:
- install and update TF2 server files through SteamCMD;
- start, stop, restart, monitor, and query the dedicated server;
- send RCON commands and change maps;
- edit server settings and configuration files;
- browse, install, enable, disable, back up, and remove managed content;
- install maps and immediately make them available in Forrest's map selectors;
- install SourceMod plugins and supporting files into the appropriate server folders;
- compile SourcePawn source when a compatible compiler is available;
- schedule recurring server operations;
- monitor live server logs; and
- synchronize supported content for FastDL.
v0.7.0 replaces blind archive copying with a package-aware installation pipeline.
Forrest stages and inspects a package before changing the server, determines what the package contains, plans destinations, performs supported build/configuration work, commits the files, refreshes server inventories, and produces a detailed installation report.
| Content | Typical destination |
|---|---|
.bsp, .nav, .res, map sidecars |
tf\maps |
SourceMod .smx plugins |
tf\addons\sourcemod\plugins |
SourcePawn .sp source |
tf\addons\sourcemod\scripting |
SourcePawn .inc includes |
tf\addons\sourcemod\scripting\include |
| SourceMod configs, gamedata, translations, extensions, data | matching SourceMod folders |
TF2 cfg, materials, models, particles, resource, scripts, sound, custom, bin trees |
preserved below tf |
standalone .vpk content |
tf\custom\ForrestManaged |
Supported package/file formats include ZIP, 7Z, RAR, TAR, TGZ, GZip, BSP, NAV, RES, TXT, VPK, SMX, and SP. Some archive formats require a compatible local extraction tool; Forrest reports missing prerequisites instead of silently failing.
Publishers can include forrest-package.json to specify exact destinations, SourcePawn build rules, safe text configuration changes, package metadata, and post-install instructions.
See PACKAGE-INSTALLER-v0.7.0.md and forrest-package.example.json.
- Packages are inspected in an isolated staging directory.
- Unsafe archive traversal paths are rejected.
- Arbitrary BAT/CMD/PowerShell/MSI/VBS/EXE installers are not automatically executed.
- Existing files are backed up before replacement.
- A failed transaction attempts to remove newly committed files and restore replaced files.
- Plain-text and JSON installation reports record each phase, warning, destination, build result, configuration edit, failure, and rollback action.
- Reports are stored under
%ProgramData%\Forrest TF2 Manager\Content\InstallReports.
Maps installed through the Content Store or manual package import are written to tf\maps. The manager refreshes its map inventory immediately after installation, so newly installed BSPs appear in the Maps tab and dashboard map selector without another import step.
- Windows 10/11 or Windows Server on x64 hardware
- Administrator rights for initial installation and Windows service management
- Network access for SteamCMD/content downloads
- .NET 10 SDK when building from source
- Team Fortress 2 dedicated server files for server-management features
The release build is published self-contained for Windows x64, so a separate .NET runtime is not required for normal installed use.
- Download
Forrest-TF2-Manager-v0.7.0-Intelligent-Package-Installer.zipfrom the GitHub Releases page. - Extract the archive to a normal local folder.
- Close a running copy of Forrest TF2 Manager.
- Run
1-APPLY-FORREST-V0.7.0.batand approve the Administrator prompt. - Review the final status. Installer logs are retained under
%ProgramData%\Forrest TF2 Manager\InstallerLogs.
The upgrade process preserves the previous installed application until the replacement service starts successfully. A failed upgrade attempts to restore the previous installation.
From PowerShell in the repository root:
.\build-release.ps1The build script verifies or installs the .NET 10 SDK, restores the solution, and publishes self-contained Windows x64 service and desktop binaries into release.
Then run:
release\2-INSTALL-FORREST-TF2-MANAGER.bat
as Administrator.
src/
ForrestTF2Manager.Desktop/ WPF desktop application
ForrestTF2Manager.Service/ local Windows service and HTTP/WebSocket API
ForrestTF2Manager.Shared/ shared models
build-release.ps1 release build
install-service.ps1 application/service installer
uninstall-service.ps1 service removal
PACKAGE-INSTALLER-v0.7.0.md package behavior and manifest reference
ROADMAP.md planned development
Runtime state and managed-content metadata are stored under %ProgramData%\Forrest TF2 Manager. Server files remain in the configured SteamCMD/TF2 server location.
The local management service is intended to run on the machine hosting the managed server. Do not expose its management API directly to untrusted networks. See SECURITY.md.
Forrest TF2 Manager is under active development. v0.7.0 is an early public release and should be tested against the server environment before relying on it for unattended production changes.
See CHANGELOG.md and ROADMAP.md.
Forrest TF2 Manager is an independent server-management project. It is not affiliated with or endorsed by Valve Corporation, Team Fortress 2, Steam, AlliedModders, SourceMod, MetaMod:Source, or third-party content repositories. Product and project names belong to their respective owners.
