Guard

SPGG Bot Docs

Give me your ID if you want to cross this world!

#Configuration

All configuration is managed through the .env file in the project root.

#Environment Variables

Variable Required Description Example
UUID Unique device identifier abc123-def456
MINUTES FC24/FC25 Match duration in minutes 7 or 10
WS_SERVER WebSocket server URL https://ws.example.com
API_URL Backend API URL for RTMP https://api.example.com
STREAM_PASSWORD RTMP stream key password secretpwd
STREAM_NAMESPACE Custom WebSocket namespace /fc25/stream-client
HELPER_NAMESPACE Helper namespace for terminate /fc25/helper
TESSERACT_PATH FC25/UND Path to Tesseract OCR binary C:\Program Files\Tesseract-OCR\tesseract.exe
UND_VENUE Undisputed venue preference arena_1
VENUE Fallback venue variable arena_1

#Default Namespace Values

Each game uses different WebSocket namespaces:

Game Stream Namespace Helper Namespace
FC24 /stream-client /helper
FC25 /fc25/stream-client /fc25/helper
Undisputed /undisputed/stream-client /undisputed/helper

#Memory Address Files

Each game reads memory addresses from a specific file:

Game Address File Path
FC24 C:\addresses.txt
FC25 C:\FIFA25_MEMORY\addresses.txt
Undisputed C:\UNDISPUTED_MEMORY\addresses.txt

#Address File Format

The address file is a simple key=value format with hexadecimal addresses:

hmScore=0x7FF6A1234567
awScore=0x7FF6A1234568
ptrMatchTime=0x7FF6A1234569
ptrBallArray=0x7FF6A123456A

These files are auto-generated by Cheat Engine scripts when the CT table is enabled.

#OBS Configuration

The OBS WebSocket connection uses hardcoded values:

cl = obs.ReqClient(host='localhost', port=4455, password='Jakarta100', timeout=3)
Setting Value
Host localhost
Port 4455
Password Jakarta100
Timeout 3 seconds