Guard

SPGG Bot Docs

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

#FC25 GUI Reference

File: fc25-gui.py · Lines: 639 · Framework: Tkinter

#Overview

The FC25 GUI launcher provides a simple interface to start/stop the FC25 bot and configure settings. It also listens for remote WebSocket commands.

#GUI Elements

Element Type Purpose
UUID Label tk.Label Shows current UUID
UUID Entry tk.Entry Input field for new UUID
Minutes Radio tk.Radiobutton Select 7 or 10 minutes
Update Button tk.Button Save settings to .env
Start Button tk.Button Start bot scripts
Stop Button tk.Button Stop all bot processes
Status Label tk.Label Memory check status
Progress Bar ttk.Progressbar Memory check progress

#Functions

#check_memory_and_start() ACTIVE

Main entry point for starting the bot. Validates memory addresses before launching.

Flow:

  1. Check C:\FIFA25_MEMORY\addresses.txt exists
  2. Create FC25Memory instance (connects to FC25.exe)
  3. Call validate_all_memory() with progress callback
  4. If failed → show error with failed keys
  5. If success → call run_script()

#run_script(trigger_source) ACTIVE

Launch fc25-start.bat and focus.bat as subprocesses.

Parameter Type Default Description
trigger_source str "manual" Source: "manual", "ws", "close_event"

#stop_script(trigger_source) ACTIVE

Stop all running bot processes:

  1. Send terminate event via WebSocket to /fc25/helper namespace
  2. Collect all known PIDs (local + stored + WMIC fallback)
  3. taskkill /F /PID <pid> /T for each PID

#update_env() ACTIVE

Save UUID and Minutes to .env file using python-dotenv.


#load_current_settings() ACTIVE

Load and display current settings from .env on startup.


#refresh_button_states() ACTIVE

Update Start/Stop button states based on process status.


#_initialize_websocket_listener() ACTIVE

Connect to WebSocket server and register remote command handlers:

Event Action
start-script Call run_script(trigger_source="ws")
stop-script Call stop_script(trigger_source="ws")
git-pull Run git fetch + pull in background thread

#_run_git_pull() ACTIVE

Execute git fetch origin undisputed followed by git pull origin undisputed.


#on_close() ACTIVE

Window close handler — stops all processes and disconnects WebSocket.