Fika is a mod for SPT that allows you to play COOP with your friends. It utilizes a P2P-UDP connection for a modern and performant experience. The main goals of Fika are: performance, accuracy and mod-support. Fika is currently maintained by the Fika team. You can join our Discord here!
This project is licensed under CC BY-NC-SA 4.0.
Fika is localized by the community at Crowdin. Feel free to help us translate it into any available languages!
Note
All translations are from community members, if you find any incorrect/offensive/vulgar translations, let us know
Fika requires general knowledge of computers, networking and SPT. If you are not comfortable with these concepts, this project is not for you. Please try to understand and respect this.
If you can not port forward, you can use a VPN like ZeroTier
or Radmin
or a proxy like Playit.gg
(not supported officially).
These are recommendations for a smooth experience:
These are recommendations for a dedicated client:
The biggest gain in Fika (and in SPT in general) will be getting a stronger CPU and RAM.
Important
It's crucial that you read and follow every step precisely. Skimming through or skipping any of the steps will result in the server and/or client not working. Please ensure that you know how your router works before attempting to port forward. Do not ignore the firewall steps, they are required and it's where most people fail to do it properly.
Before starting these steps, make sure you have port forwarded all required ports in the Prerequisites. We will not assist you with opening your ports. If do not have access to your router or can not port forward, use a VPN.
Firewall Configuration
EscapeFromTarkov.exe
(everyone) and SPT.Server.exe
(server host) for inbound and outbound connections in your Windows Advanced Firewall.General Setup
SPT.Server.exe
once to let it generate the configuration files for Fika, then close it againSPT_DataServerconfigs
and open http.json
ip
to 0.0.0.0
and backendIp
to your WAN IP, then save the file and close itusermodsfika-serverassetsconfigs
and open fika.jsonc
SPT.Server.exe
and wait for it to finish loading
70.60.150.90
:Started webserver at http://70.60.150.90:6969
Started websocket at ws://70.60.150.90:6969
Server is running, do not close while playing SPT, Happy playing!!
SPT.Launcher.exe
You need a VPN like ZeroTier
or Radmin
. You need to allow the executables in your local Firewall (you can use FikaUtils to do all this easily, extract to your installation folder)
SPT.Server.exe
once to let it generate the configuration files for Fika, then close it againSPT_DataServerconfigs
and open http.json
ip
and backendIp
to your VPN IP, then save the file and close itExample with a fake address (20.20.56.73):
{
"ip": "20.20.56.73",
"port": 6969,
"backendIp": "20.20.56.73",
"backendPort": 6969,
"webSocketPingDelayMs": 90000,
"logRequests": true,
"serverImagePathOverride": {}
}
usermodsfika-serverassetsconfigs
and open fika.jsonc
SPT.Server.exe
and wait for it to finish loading
Started webserver at http://20.20.56.73:6969
Started websocket at ws://20.20.56.73:6969
Server is running, do not close while playing SPT, Happy playing!!
SPT.Launcher.exe
and click 'Settings' and enable Developer Mode
URL
field, change it to reflect your VPN IP. Using the example in step 5 it would be: http://20.20.56.73:6969
(remember to remove any trailing forward slashes /
)Force IP
and Force Bind IP
to your own, personal VPN IP. You can find these by clicking F12
in the main menu.Warning
This is not officially supported by the Fika staff, you are on your own if it doesn't work
Playit.gg is a proxy that makes it possible to host servers without having to port forward,
by relaying the game traffic over one of their datacenters.
This guide will teach you how to use Playit.gg
to host a SPT/Fika Server.
Editing your http.json
is not required.
Caution
This section is only for advanced users
SPT.Server
, open the fika.jsonc
configuration file and at the bottom change your dedicated settings"dedicated": {
"profiles": {
"amount": 1 // the amount of dedicated profiles to generate automatically, one per dedicated client
},
"scripts": {
"generate": true, // if a startup script should be automatically generated (required unless you know what you are doing)
"forceIp": "127.0.0.1" // the ip the dedicated client should connect to, leave at default if local
}
}
SPT.Server
once to let it generate the profile and startup script, then go to usermodsfika-serverassetsscripts
and find the generated script. Move this to your client installation root folder created in step 2 (if you wish to re-regenerate these scripts, you need to delete the old dedicated profiles)fika.core
configuration in BepInExconfigcom.fika.core.cfg
. Set the port to your forwarded port, or set bind and force IP to the dedicated client's IP.The dedicated client runs at a standard capped update rate of 60 FPS. If you want to increase it to a higher number, append -updateRate=X
where X is your desired update rate (max 120) to the launch script. An example would be:
-batchmode -nographics --enable-console true -updateRate=120 & exit
Keep in mind that stronger hardware is required to maintain a higher update rate and the gain is neglible.
SPT.Launcher.exe
and click 'Settings' and enable Developer Mode
URL
field, change it to reflect the hosts WAN IP. As an example it could be: http://70.60.150.90:6969
(remember to remove any trailing forward slashes /
)SPT.Launcher.exe
and click 'Settings' and enable Developer Mode
URL
field, change it to reflect the hosts VPN IP. Using the example in step 5 it would be: http://20.20.56.73:6969
(remember to remove any trailing forward slashes /
)25565 UDP
in your router (or any other port you wish to use, but make sure to change the port in the F12
menu accordingly!)EscapeFromTarkov.exe
in your Windows Firewall (you can use FikaUtils to do all this easily, extract to your installation folder)EscapeFromTarkov.exe
in your Windows Firewall (you can use FikaUtils to do all this easily, extract to your installation folder)F12
Force IP
and Force Bind IP
Fika lets you to host P2P sessions with your friends to play COOP. The host is the one that controls most of the logic while playing, such as controlling AI, minefields, sniper zones, the BTR, etc. Each client is responsible for their own damage, both on themselves and on AI. This means that shooting an AI feels responsive and quick.
To host a game, choose a map and time, and then on the final screen click Host Raid
. Select the amount of players that will be playing (including yourself) and wait for it to finish loading. Once it's ready other people can join your session, and when everyone has finished loading it will automatically start.
Other Features of Fika
F9
key)
T
Left/Right
clickingSPACE
when jumpingCTRL
when jumpingHOME
key to temporarily toggle free cam controlsMost of these features are configured in the client configuration.
To open up your client configuration, press the F12
key while in-game. Head to the Fika Core
section to configure the settings.
Coop
Coop | Custom
Coop | Quest Sharing
Coop | Debug
Performance
Performance | Max Bots
MAP
: Max amount of bots that can be active at the same time on MAP
. Useful if you have a weaker PC. Set to 0 to disable.Network
Gameplay
The server configuration can be found in the usermodsfika-serverassetsconfigs
folder. Open up fika.jsonc
with a text editor.
{
"client": {
"useBtr": true, // if the BTR should spawn on streets, default: true
"friendlyFire": true, // if friendly fire is enabled, default: true
"dynamicVExfils": false, // if vehicle exfils should scale to the amount of players in raid rather than default to 4, default: false
"allowFreeCam": false, // if the free cam can be toggled freely, default: false
"allowSpectateFreeCam": false, // if we are allowed to freecam when spectating players after death or extraction. Freecam is still enabled if all players have died or extracted, default: false
"allowItemSending": true, // if item sending should be enabled, default: true
"blacklistedItems": [], // item template ids that cannot be sent, e.g. ["5c94bbff86f7747ee735c08f", "5c1d0f4986f7744bb01837fa"] would not allow players to send access cards and black keycards
"forceSaveOnDeath": false, // if saving is forced upon death, preventing ALT+F4 cheese, default: false
"mods": {
"required": [], // required mods on the server, if enabled you should always include standard SPT mods: ["com.SPT.custom", "com.SPT.singleplayer", "com.SPT.core", "com.SPT.debugging", "com.fika.core", "com.bepis.bepinex.configurationmanager"]
"optional": [] // mods that are allowed outside of required
},
"useInertia": true, // if inertia should be enabled, default: true
"sharedQuestProgression": false // if quest progression in raid should be shared, default: false
},
"server": {
"giftedItemsLoseFIR": true, // if sent items should lose their FiR status, default: true
"launcherListAllProfiles": false, // if launcher should show all profiles, default: false
"sessionTimeout": 5, // how long the server waits for a keepalive ping from a client until the session is considered crashed, default: 5
"showDevProfile": false, // if dev profiles can be created, default: false
"showNonStandardProfile": false // if non-standard EFT profiles can be created, default: false
},
"natPunchServer": {
"enable": false, // if nat punching should be enabled, default: false
"port": 6970, // nat punching port, default: 6970
"natIntroduceAmount": 1
}
}