Skip to content

Vityacv/fearservmod

Repository files navigation

FearServMod is a client and server mod for

F.E.A.R. v1.08
F.E.A.R. Combat v1.08
F.E.A.R. Perseus Mandate v1.0

Features list

Multiplayer works again thanks to openspy.net
Client side fixes (fps drops, flickering, glitches)
Server side fixes (hacks, crashes, glitches)
Allows Coop Mode based on F.E.A.R. Platinum or Ultimate Shooter Edition (contains 55 maps)
Allows play on servers created on retail or free versions and vice versa
Allows changing the master server
Allows to synchronize all objects on map
Allows to create random weapons servers (experimental)
Allows creating 64 players servers
Allows play on servers generated by TinyServerBuilder

How to play F.E.A.R. v1.08

  1. Install a game
  2. Replace FEAR.exe and FEARMP.exe to FEAR.exe from "No-CD patch" https://github.com/anzz1/openspy-client
  3. Put https://github.com/Vityacv/fearservmod/blob/master/bin/winmm.dll to game folder
  4. Launch the game and select Multiplayer - Client Settings - CD Key - type random text (should be unique for every player in same server)

How to play F.E.A.R. Combat v1.08

  1. Find free game on https://github.com/anzz1/openspy-client
  2. Install a game and apply v1.08 update
  3. Replace FEARMP.exe to FEAR.exe from "No-CD patch" https://github.com/anzz1/openspy-client
  4. Put https://github.com/Vityacv/fearservmod/blob/master/bin/winmm.dll to game folder
  5. Launch the game and select Multiplayer - Client Settings - CD Key - type random text (should be unique for every player in same server)

How to play F.E.A.R. Perseus Mandate v1.0

  1. Install a game
  2. Replace FEARXP2.exe from "No-CD patch" https://github.com/anzz1/openspy-client
  3. Put https://github.com/Vityacv/fearservmod/blob/master/bin/winmm.dll to game folder
  4. Launch the game and select Multiplayer - Client Settings - CD Key - type random text (should be unique for every player in same server)

How to play Coop Mode based on F.E.A.R. Perseus Mandate v1.0

  1. Install a F.E.A.R. Platinum or Ultimate Shooter Edition
  2. Replace FEARXP2.exe from "No-CD patch" https://github.com/anzz1/openspy-client
  3. Put https://github.com/Vityacv/fearservmod/blob/master/bin/winmm.dll to game folder
  4. Put https://github.com/Vityacv/fearservmod/blob/master/CoopMode.archcfg to game folder
  5. Use FEARXP2.exe -archcfg CoopMode.archcfg to play and FEARServerXP.exe -archcfg CoopMode.archcfg to start local or public server
  6. Launch the game and change following settings:
    • Multiplayer - Host - Bandwidth - T3 (avoid lags)
    • Multiplayer - Client Settings - CD Key - type random text (should be unique for every player in same server)
    • Multiplayer - Client Settings - Bandwidth - T3 (avoid lags)
  7. Open ServerOptions0000.txt and add on top of it:
[Extra]
CoopMode=1

[SinglePlayer]
SessionName=Coop Mode

Players can use "Call vote" -> "Next map" or "New map" to select specific map (to scroll list use PageUp/PageDown)

Options and tweaks

Additional options in ServerOptions0000.txt for all type of game modes

  1. Synchronize all objects on map for all players (bottles, boxes, etc)
[Extra]
SyncObjects=1
  1. Random weapons - every 2 min auto switch weapons for all players on server
[Extra]
RandomWeapon=1

OpenSpy is default master server, but if you want to use other master server, add following lines to gamecfg.txt

[Client]
;ShowIntro=1
Master=http://master.fear-combat.org/api/serverlist-ingame.php
;MOTD=http://motd.gamespy.com/motd/vercheck.asp?userid=%d&productid=%d&versionuniqueid=%s&distid=%d&uniqueid=%s&gamename=%s

[Server]
Master=master.fear-combat.org
Available=master.fear-combat.org
NS1=n1.fear-combat.org
NS2=n2.fear-combat.org

To run a game in portable mode, make the launcher FEARMP.cmd or FEARXP2.cmd

start "" FEARMP.exe -UserDirectory Config
start "" FEARXP2.exe -UserDirectory Config +GammaB 1 +GammaG 1 +GammaR 1

To run a server in portable mode, make the launcher FEARServer.cmd or FEARServerXP.cmd

start "" FEARServer.exe -UserDirectory Config
start "" FEARServerXP.exe -UserDirectory Config

To run a game in window mode, make the launcher FEARMPw.cmd or FEARXP2w.cmd

start "" FEARMP.exe +Windowed 1 +ScreenWidth 1024 +ScreenHeight 768
start "" FEARXP2.exe +Windowed 1 +ScreenWidth 1024 +ScreenHeight 768

To run a game and server in coop mode, make the launcher FEARXP2_CoopMode.cmd or FEARServerXP_CoopMode.cmd

start "" FEARXP2.exe -archcfg CoopMode.archcfg +GammaB 1 +GammaG 1 +GammaR 1
start "" FEARServerXP.exe -archcfg CoopMode.archcfg

To change the Field of View (FoV), make the launcher FEARMP.cmd or FEARXP2.cmd

start "" FEARMP.exe +FovYWidescreen 95.0 +FovY 95.0
start "" FEARXP2.exe +FovYWidescreen 95.0 +FovY 95.0 +GammaB 1 +GammaG 1 +GammaR 1

List of fixes

[Client] DRM-free FEAR.exe as FEARMP.exe for better performance
[Client] Dinput random high drop fps
[Client] SetWindowsHookExA input lag
[Client] Explosion flickering on high refresh rate monitors, like 144hz etc
[Client] Disable load of ICMP.dll, PBCL.dll, PBSV.dll
[Client] Crash on pressing ESC while downloading content
[Client] Crash on pressing TAB when server have more than 16 players
[Client] Run multiple instances
[Client] No pause render when unfocused
[Client] Window style
[Client] Anti-aliasing in windowed mode
[Client] Fonts distortion in windowed mode
[Client] Disable intro on start game
[Client] Grenade throw +5 fake when press W+G+C
[Client] Controls reset if select non eng keyboard and quit
[Client] Connect from favorites to remote servers
[Client] XP2 MOTD link click
[Server] Versions compatibility retail, free, tiny
[Server] XP2 AI spawn on coop maps
[Server] Disable load of PBSV.dll
[Server] DoS fake clients spam
[Server] DoS clients chat spam hack
[Server] DoS clients team broadcast spam hack
[Server] Vote hack
[Server] Vote spam hack
[Server] Vote new map crash clients out of index hack
[Server] Vote clear after new map loaded
[Server] Crash early respawn
[Server] Crash animation speed hack
[Server] Crash invalid skey hack
[Server] Crash invalid guid hack
[Server] Crash negative fRate hack
[Server] Crash force load on new map hack
[Server] Crash render stimulus hack
[Server] Crash object alpha hack
[Server] Crash after failed initialization
[Server] Hang when joined 2 players with name 0xFFFF
[Server] Empty config file name on first startup
[Server] Missing creation of AdditionalContent folder
[Server] Run speed hack v1
[Server] Ladder animation glitch
[Server] Multiple kills of same target glitch
[Server] Chat string size limit
[Server] Host options hack
[Server] Pause hack
[Server] Frag self unlimited ammo
[Server] Drop grenade unlimited ammo
[Server] Get weapon hack
[Server] Get health hack
[Server] Get armor hack
[Server] Get gear hack
[Server] Invalid skin hack
[Server] Bulletproof hack v1 and v2
[Server] Immortal player hack
[Server] Damage player hack
[Server] Sounds player hack
[Server] Flashlight player hack
[Server] Pickup distance hack (2m limit)
[Server] Invalid team hack
[Server] SlowMo activate without recharge or recharger hack
[Server] Teleport to players hack
[Server] Teleport to respawn checkpoints hack
[Server] Teleport using SetObjectPos hack
[Server] Player no clip hack
[Server] Player stealth join hack
[Server] Player early respawn glitch
[Server] Weapon fast switch glitch
[Server] Weapon fake fire position hack
[Server] Weapon rapid fire timer in future hack
[Server] Weapon rapid fire invalid msg hack
[Server] Weapon rapid fire unarmed hack
[Server] Weapon fire drop ammo hack
[Server] Weapon switch drop ammo hack
[Server] Weapon reload drop ammo hack
[Server] Weapon melee ammo mod hack
[Server] Pickup objects of enemy or team hack
[Server] Log FindObjectsCb spam
[Server] Log show client ip:port
[Server] Enhanced vote delay
[Server] Enhanced vote ban
[Server] Platform type "L" when running on Linux Wine

Tiny Server Builder

This script creates tiny server build where stored only required files to run server, useful for hosts with limited storage. Find the ArchiveEdit v2 in official public SDK, it also needs F.E.A.R. Combat to be installed first.

Original installers SHA256 hashes
Name SHA256 Hash
fearcombat_en_107.exe 28d12729d866fc36d13ab3761c8826edc4eedb3c76d0c823302a4a25cb265bed
fearcombat_update_en_107_108.exe b016866880353a608f5f37184e833e7a25be12227cb671457a1b600b9f1b350b
fear_publictools_108.exe 11aaa4128528403f7bc9ea5119c68051c62b92a99e6411dfd749af55e9b19df8
  1. Put batch script https://github.com/Vityacv/fearservmod/blob/master/TinyServerBuilder.cmd to writable folder with enough disk space
  2. Add to folder with a script ArchiveEdit.exe, MFC71u.dll, msvcp71.dll, msvcr71.dll
  3. Run script and specify game folder (right click to paste path)
  4. Wait till script completes and find new server builds in FEARServer or FEARServerXP folders

Also, tiny coop mode server is supported, in the script replaces the filter "Release" "ReleaseXP2" to "ReleaseMultiplayer" "MultiplayerXP2" and two "Default.archcfg" to "CoopMode.archcfg"
To build combined server with singleplayer and multiplayer maps - remove the filter "*.Objects00p" "Release" "ReleaseXP2" and for multiplayer maps use copy of "CoopMode.archcfg" as "Default.archcfg"

How to launch game or server on Linux using Wine

To launch FEARMP.exe you will need to instruct wine to load winmm.dll from game folder first and then load system winmm.dll using environment variable:

WINEDLLOVERRIDES="winmm.dll=n,b" wine FEARMP.exe

Same variable is needed to run FEARServer.exe, but you also can disable load of gecko engine and .net

WINEDLLOVERRIDES="winmm.dll=n,b;mscoree.dll,mshtml.dll=" wine FEARServer.exe

How to compile

Requirements: linux distribution (I use Arch Linux), mingw-w64, nasm

Build steps

git clone https://github.com/Vityacv/fearservmod.git
cd fearservmod
git submodule update --init --recursive
mkdir build
cd build
i686-w64-mingw32-cmake -DCMAKE_BUILD_TYPE=Release ..
make

For clang builds

PATH=/opt/llvm-mingw/llvm-mingw-msvcrt/bin/:$PATH i686-w64-mingw32-cmake -DCMAKE_BUILD_TYPE=Release ..

About

Multiplayer fixes for F.E.A.R.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages