fs_forcegame
JK2MV
Overrides the active folder, allowing a server/client to store configs and other data in a specific folder independent of the active mod (fs_game). All new configs, screenshots, demos, etc. stored by the game end up in the specified folder. This folder may also be “base”. Load order: |
base |
fs_basegame cvar |
fs_game cvar |
fs_forcegame cvar |
At a glance
| Field | Value |
|---|---|
| Default | `` |
| Value type | string |
| Restart | No latch flag is registered. |
| Manually settable | Yes |
| Cheat protected | No |
| Network scope | client-or-server: Engine code in both the client and the dedicated server; each uses its own value. |
| Category | Files & downloads |
| Module | engine-shared |
| Renderer | All / not renderer-specific |
| Derivation | documented |
| Confidence | high |
| Added | 2023-11-29 in 596ae40cc (how to compare this against your build) |
| In-game xdocs | No |
| In-game menu | No |
Values
No discrete value list is enforced or documented in the inspected source.
Flags
CVAR_INIT: initialization/command-line setting
Registration-specific defaults
| Default | Module | Renderer | Compile condition |
|---|---|---|---|
| `` | engine-shared |
— |
defined(DEDICATED) |
taystjk |
engine-shared |
— |
else(defined(DEDICATED)) |
Provenance
Origin: JK2MV
- Ultimate-origin introduction:
d99db29e816ain JK2MV (content authored2019-02-17, integrated2020-01-01) - TaystJK integration evidence:
596ae40cc9aa - Origin pull request: #52
- Upstream registration evidence: src/qcommon/files.cpp:3442
- Attribution method:
earliest-authored-project-introduction - Attribution confidence:
high - Notes: jk2mv retains origin because content authorship and PR submission predate the project that merged the work first. The integration PR links openjk as the immediate port source; jk2mv has an earlier authored introduction and retains origin. Dated commit evidence identifies later registration changes relative to the origin snapshot.
Dated project introductions
Authored dates come from the exact registration’s first content commit, PR dates identify when work was proposed to each project, and integration dates come from each first-parent mainline. A project merging first does not override earlier upstream authorship or submission.
| Project | Authored | PR opened | Integrated | Commit | Relationship |
|---|---|---|---|---|---|
| JK2MV | 2019-02-17 |
— | 2020-01-01 |
d99db29e816a |
Ultimate origin |
| NewJK / NewMod | 2019-10-18 |
— | 2019-10-18 |
ca19cb761e35 |
Other project appearance |
| OpenJK | 2023-11-06 |
2023-11-07 | 2024-04-07 |
065d32955f56 |
Other project appearance |
| TaystJK | 2023-11-06 |
2023-11-27 | 2023-11-28 |
596ae40cc9aa |
Other project appearance |
| jaPRO | 2023-11-06 |
— | 2023-11-28 |
596ae40cc9aa |
Other project appearance |
| rend2 | 2023-11-06 |
— | 2024-04-09 |
b688bdf3ea00 |
Other project appearance |
Immediate port-source credit: OpenJK. The earlier dated project remains the ultimate origin.
Later changes
These commits occur after the ultimate-origin introduction on TaystJK’s inherited first-parent lineage. Registration evidence is exact; behavior evidence requires a changed bound cvar reference or a changed registered command-handler hunk.
| Date | Change source | Commit / subject | Evidence | Confidence |
|---|---|---|---|---|
2023-11-28 |
TaystJK | 596ae40cc9aa · PR #52Merge pull request #52 from taysta/daggo-fs |
Changed registration, default, flags, module, renderer scope, handler, or gating. codemp/qcommon/files.cpp |
medium |
2024-01-17 |
EternalJK | 0da288606eb0 · PR #98Make fs_forcegame and fs_basegame default to empty for dedicated servers. (#98) |
Changed registration, default, flags, module, renderer scope, handler, or gating. codemp/qcommon/files.cpp |
medium |
2024-02-27 |
TaystJK | dbbea6b8a0bf · PR #31Rename to TaystJK (#31) |
Changed registration, default, flags, module, renderer scope, handler, or gating. codemp/qcommon/files.cpp |
high |
2026-06-16 |
TaystJK | 07c65a6f01a8 · PR #341Merge pull request #341 from taysta/basegame |
Changed registration, default, flags, module, renderer scope, handler, or gating; and an exact bound cvar-variable reference. codemp/qcommon/files.cpp |
high |
Evidence
- registration: codemp/qcommon/files.cpp:3913 (Cvar_Get); condition
defined(DEDICATED) - registration: codemp/qcommon/files.cpp:3915 (Cvar_Get); condition
else(defined(DEDICATED)) - behavior: codemp/qcommon/files.cpp:3752
- behavior: codemp/qcommon/files.cpp:3753
- behavior: codemp/qcommon/files.cpp:3988
- behavior: codemp/qcommon/files.cpp:3989
- behavior: codemp/qcommon/files.cpp:4480
- upstream-documentation: CVARS.rst:36
Generated from source commit c722804317d7 on 2026-09-28. Anything merged after that is not reflected here.