The ice adapter currently does not work without a game. The whole process is quite complicated, but the start is the following:
faf-client launches ice-adapter and tells it to listen on TCP port 12345
ice-adapter opens a socket and waits for someone to connect to TCP port 12345
faf-client launches a game instance game and tells it to connect to TCP port 12345
game instances connect to ice-adapter on TCP port 12345
game instance tells ice-adapter it's UDP port is 23456
Now ice-adapter is ready to relay messages.
This is the minimum requirement.
For a good test game instance and faf client could be mocked away with simple CLI tools, which is a thing I am currently working on.
But the game COULD be responsible for bad networking too... we don't know. Since we do binary patching on the exe lord knows what side effect a single change could have.
The overall problem with the network stability is that the whole setup is a moving target.
The users network connection change (LAN/WIFI, ISDN/ADSL/VDSL/Fibre/3G/4G/5G)
The users OS change (Windows XP->7->10-11 + always patches)
The users environment OS changes (firewalls, antivirus, ...)
The game is patched.
The faf client is patched.
The underlying Java runtime is patched.
The server is sometimes DDoSed.