Please, be sure to understand all the technical requirements and the RISKS before following any instructions here UNDER YOUR OWN RESPONSIBILITY.
Preliminary
As you all know, the sv_fps uncapping in UrT 4.3.1 release brought out some hidden problems in network communication and synchronization between some clients with servers. The problems were aggravated dramatically with high values of sv_fps in servers (so allowing high values of snaps in clients). The problem was visible in that some players move warping erratically or like in hiccups and it was visible in the lagometer (netgraph) by periodic collapsing communications.
As a provisional solution in UrT 4.3.2, sv_fps were reverted to the previous 20 lock. With sv_fps (and hence snaps) limited to 20, the game is again playable for almost all players, but the problem is already there and some players can feel it more depending on the relative pings to the rest of players in the server.
After looking for possible causes of the problem in the Ioq3 engine implementation for UrT, by comparing it to the Ioquake3 one, I have cherry-picked some code and adapted it to Ioq3-for-UrT (unnecessary gory details are hidden in the spoiler button).
Now it is necessary to test if those changes are relevant to solve (or mitigate) the problem or not, and for this goal the help of voluntaries is needed to set up servers with this corrected engine and to test if players feel it more smooth.
Be aware that this test engine will not solve other problems due to bad server or client configurations, nor problems with bad network connection, nor low computer power, etc. The test engine has exactly the same capabilities and options than the latest official one. The changes do not add nor remove any feature.
Also, maybe the changes do not correct the problem, but at least negative results would be useful to rule out (partially) the engine as the source of the problem. My hope is that at least they will not harm ...
Regrettably, at the moment, I only can offer builds for Linux 64 bits (server and client) [Barbatos added builds for Win32 and Mac], but I have packed the full sources in .zip and .tgz formats (details in the spoiler)
How to install the test engine:
Warning:
- A standard installation of Urban Terror 4.x correctly configured (preliminary tests on 4.3.2 and 4.3.1 worked, but probably it will work down to any 4.x release).
- Rename or move away the engine executable and, at your discretion, backup the config files of the server in case you modify them.
- Download the corresponding executable from the precompiled repository https://goo.gl/WNJ0Wt and check its md5sum (Google-Drive will do anti-virus/malware automatic checking before download):
c45bf97963e74a5aa649f1c3ad0ae6a6 Quake3-UrT-Ded.x86_64 (Linux 64 bits server) 9cfcd714d461548a3d8437008331ad98 Quake3-UrT.x86_64 (Linux 64 bits client)
UPDATE (2017-03-08):More binaries, thanks to Barbatos, for Win32 (server and client) https://up.barbatos....rnute-win32.zip and macOS (client only) https://up.barbatos....rnute-macOS.zip [see post #15] You need to extract from the .zip.UPDATE (2017-03-10):Even more binaries, thanks to Travmon, for client and server in OpenBSD, Linux-32bits, Linux-64bits and Win32, in the RMS Clan site. You need to extract from the .zip. - Copy it in the standard installation path and remember to give execution permissions (chmod a+x ...).
Only for dedicated servers test:
- It would be advisable to change the name of the server, including the words TEST or Experimental, etc, to warn potential players.
- Post in this thread a message with the IP and port of the offered server, include information about platform, version of UrT, game mode, etc, so that other people can enter it to test.
- Don't forget to add bots so that people can test also without other players.
- If you are using a UrT4.3.1 server, please try different values of sv_fps, like 25, 30, 40, for example (in 4.3.2 it is irrelevant as it is capped). Remember you always can download any old UrT4.x full releases from official mirror.
The modified engine binaries for testing client are compatible, so they will work also to play in any standard official servers as well as in the testing experimental servers.
In the same way, standard client engine can be used to enter and play in test servers with the modified engine as they both should be compatible.
Although, the changes in client are less relevant, and so their effect will probably be little noticeable.
In any case, if you run the UrT-updater, the executable engine will be restored to the latest official one (or a previous one if selected).
Please, report in this thread if you find some results in the tests, giving details on the server tested, executing platform (Op.Syst. vers., cpu, memory, network connection), UrT version, number of players in server, pings, values of cvars rate, cl_maxpackets, and snaps, etc.
From the point of view of players, it is important to observe the smoothness of movement of other players in comparison with the same server with standard engine or with other servers in the same IP address, etc. Specially, take note of your ping in the screen and in the score tab, as well as the other players' pings (minimum and maximum), and observe lagometer.
Thanks in advance to all the voluntaries.
P.S.: Known public servers testing:
- 158.69.213.127:27968 in Canada-east_coast, UrT4.3.1 (sv_fps=60) thanks to Travmon.
- 146.71.76.64:27983 in North-America, UrT4.3.1 thanks to Travmon.
- 104.238.188.110:27983 in France, UrT4.3.1 on OpenBSD thanks to Travmon.
- 104.238.188.110:27985 in France, UrT4.3.2 on OpenBSD thanks to Travmon.
- 146.71.76.64:27971 in North-America, UrT4.3.2 thanks to Travmon.