The Server Changer lets Need for Speed: Underground (PC, v1.4) connect to any community server instead of the long-gone EA server - no hex editing of the game's .exe.
It has two parts:
scripts\NFSUServerChanger.asi): makes the game use the server from NFSUServerChanger.ini. Also: a separate saved login per server, hole punching for races, a fix for the Wine crash on Linux and the EA Trax renamer. Needed.NFSUServerChanger.exe): lists the online servers, sets the one you click and starts the game; installs and updates the plugin. Windows and Linux. Optional.
Download: GitHub Releases
Full guide: GitHub Wiki
If you use kickStart, it installs and updates the plugin with one click - nothing to copy by hand, and you don't need the launcher.
The launcher is a small, open source alternative for those who only want to pick a server and start the game, and the successor of the old LAN tool (nfsuclient). Put NFSUServerChanger.exe (Linux: NFSUServerChanger) into the game folder, start it and click Install plugin - it also keeps the plugin up to date.
NFSU.Server.Changer.v<version>.zip from the Releases.dinput8.dll (the ASI loader) in the game folder and NFSUServerChanger.asi, NFSUServerChanger.ini and NFSUServerChangerTrax.csv in scripts.scripts\NFSUServerChanger.ini:[Server] Host = nfs.onl
An empty Host uses the server built into the game's .exe.
Supported: NFSU v1.4, North American, European or Russian (SoftClub) release. Other versions are refused with a message at game start.
Every server has its own accounts - an account on one server doesn't exist on another. The plugin keeps one saved login per server: after the first successful login on a server, it is saved for that server. If the server is changed while the login screen is open, that login fails - just open the login screen again.
Races run directly between the players' PCs. On servers with hole punching (kickRom Speedway) you don't need to set up anything on your router.
Windows: the first time, a Windows Firewall window may pop up asking whether Need for Speed Underground may communicate on networks. Click Allow access there, otherwise races can't connect.
Linux: see Linux below.
If a race still doesn't start, you can help find the cause: set this in scripts\NFSUServerChanger.ini, race again and send the file scripts\NFSUServerChanger_HolePunch.log in #nfs-underground:
[HolePunch] Log = 1
nfsuclient writes 127.0.0.1 ps2nfs04.ea.com into the Windows hosts file (needs admin rights) and has to stay open while you play; EA Nation servers never show as online there. The Server Changer needs none of that. Untick “Use server” in nfsuclient and close it, so it removes its hosts entry, then install the plugin (and the launcher, if you don't use kickStart).
Your own servers are taken over: nfsuclient and the launcher both keep them in servers.dat (one server per line). If nfsuclient was in the game folder, the launcher shows them right away; otherwise copy servers.dat into the game folder.
sudo ufw allow 3658/udpdinput8 to native, builtin, otherwise Wine doesn't load the plugin.sudo sh -c “echo 'net.ipv4.ping_group_range = 0 2147483647' > /etc/sysctl.d/99-nfsu-ping.conf && sysctl -p /etc/sysctl.d/99-nfsu-ping.conf”Ask in #nfs-underground on the Retro Racing Point Discord.