Skip to content

Comments

Random ping servers order#11570

Open
Agzam4 wants to merge 3 commits intoAnuken:masterfrom
Agzam4:random-ping
Open

Random ping servers order#11570
Agzam4 wants to merge 3 commits intoAnuken:masterfrom
Agzam4:random-ping

Conversation

@Agzam4
Copy link
Contributor

@Agzam4 Agzam4 commented Jan 15, 2026

Problem

System delays ping-server-info packets sending

Example:

[I] #0 Ping: 46.149.69.116:5555 at ...:05:02,782 <--- first ping because pinned 
...
[I] #95 Ping: 46.149.69.116:5555 at ...:05:02,840

Wireshark:

line |
1    | #0 Ping: send
2    | #0 Ping: recived
3    | #⁣95 Ping: send
4    | #⁣95 Ping: recived
packets

Example 2:

Opened once:
изображение
изображение

How problem working

Old implementation iterate server list in order: center -> end -> start -> center
Server from center-> of server list pinged first and always has correct small ping
(io, MAL, MDN, TWS, Fish, LMSS, Snow, 404ru, ... for now)
Servers from end of list delayed ping by system:

[Time start]
sending
system delay
sending to global
recive
[Time end]

This also explains why many players always have io, MAL, 404ru and other at top of list and charophyceae at the bottom

Why random

Regardless of the current/further implementations this will give all servers a ~same chance
(but ​​ping will still play a role)

Some about #8246

A can add suffle ones per launch (when fetching serverlist) if "different order every time you refresh" a problem

Other ideas:

1. Ordered sending from single channel, single thread to recive

I tried to implement this in another branch:

  • Ping more correct
  • Sending delay
  • Problems with sorting:
    • Inserting better ping befre added elements?
    • Wait for loading all servers?

2. Limit async ping per second


PS: owners of io, mal, 404ru you are currently at top but it means that you will end up at the bottom when new servers are added because the center will shift

  • I have read the contribution guidelines.
  • I have ensured that my code compiles, if applicable.
  • I have ensured that any new features in this PR function correctly in-game, if applicable.

@Anuken
Copy link
Owner

Anuken commented Jan 16, 2026

This will mean that the server list order could be very different every time you press the refresh button, which is annoying rather than helpful.

@Agzam4
Copy link
Contributor Author

Agzam4 commented Jan 16, 2026

A can add suffle ones per launch (when fetching serverlist) if "different order every time you refresh" a problem

Launches

1 launch

...
[I] Fetched 146 community servers.
[I] [gods field, Tendhost, Pure PVP, Mindustry Tool, lemon, TWS, Lett's Server Network, MDN, Router Pi, Novice, MAL, Snow, DELTA, M-ind Fans, LMSS, Omnidust Servers, io, Alex Multiverse, Eradication Mindustry, Gadgetroch, Abyss Icefire, TinyLake, Maxdustry, IndustryCats, Charophyceae, grass server, MeowIsland, P.I.V.O, Rosemoncorp Servers, Aetherial, Industrial, OmniCorp, SynapseOS, Erepulo, DontVin, Power line, Cyandustry, 404ru, routerchain, abcxyz, Dim.ST, The Devil, Chaotic Neutral, Spark, ArmyOFUkraine, Fish, MEIQIU, Mindurka, XCore, EscoCorp Servers]
[I] [gods field, Tendhost, Pure PVP, Mindustry Tool, lemon, TWS, Lett's Server Network, MDN, Router Pi, Novice, MAL, Snow, DELTA, M-ind Fans, LMSS, Omnidust Servers, io, Alex Multiverse, Eradication Mindustry, Gadgetroch, Abyss Icefire, TinyLake, Maxdustry, IndustryCats, Charophyceae, grass server, MeowIsland, P.I.V.O, Rosemoncorp Servers, Aetherial, Industrial, OmniCorp, SynapseOS, Erepulo, DontVin, Power line, Cyandustry, 404ru, routerchain, abcxyz, Dim.ST, The Devil, Chaotic Neutral, Spark, ArmyOFUkraine, Fish, MEIQIU, Mindurka, XCore, EscoCorp Servers]
[I] [gods field, Tendhost, Pure PVP, Mindustry Tool, lemon, TWS, Lett's Server Network, MDN, Router Pi, Novice, MAL, Snow, DELTA, M-ind Fans, LMSS, Omnidust Servers, io, Alex Multiverse, Eradication Mindustry, Gadgetroch, Abyss Icefire, TinyLake, Maxdustry, IndustryCats, Charophyceae, grass server, MeowIsland, P.I.V.O, Rosemoncorp Servers, Aetherial, Industrial, OmniCorp, SynapseOS, Erepulo, DontVin, Power line, Cyandustry, 404ru, routerchain, abcxyz, Dim.ST, The Devil, Chaotic Neutral, Spark, ArmyOFUkraine, Fish, MEIQIU, Mindurka, XCore, EscoCorp Servers]

2 launch

...
[I] Fetched 146 community servers.
[I] [Router Pi, DontVin, Eradication Mindustry, Gadgetroch, Spark, LMSS, Erepulo, grass server, Mindustry Tool, Cyandustry, Novice, MEIQIU, Chaotic Neutral, Charophyceae, Maxdustry, routerchain, Dim.ST, Omnidust Servers, SynapseOS, IndustryCats, Mindurka, Pure PVP, The Devil, M-ind Fans, gods field, Rosemoncorp Servers, MeowIsland, Power line, EscoCorp Servers, Snow, lemon, Industrial, Abyss Icefire, Tendhost, 404ru, TinyLake, P.I.V.O, OmniCorp, MDN, abcxyz, Aetherial, Alex Multiverse, DELTA, Lett's Server Network, TWS, ArmyOFUkraine, MAL, io, Fish, XCore]
[I] [Router Pi, DontVin, Eradication Mindustry, Gadgetroch, Spark, LMSS, Erepulo, grass server, Mindustry Tool, Cyandustry, Novice, MEIQIU, Chaotic Neutral, Charophyceae, Maxdustry, routerchain, Dim.ST, Omnidust Servers, SynapseOS, IndustryCats, Mindurka, Pure PVP, The Devil, M-ind Fans, gods field, Rosemoncorp Servers, MeowIsland, Power line, EscoCorp Servers, Snow, lemon, Industrial, Abyss Icefire, Tendhost, 404ru, TinyLake, P.I.V.O, OmniCorp, MDN, abcxyz, Aetherial, Alex Multiverse, DELTA, Lett's Server Network, TWS, ArmyOFUkraine, MAL, io, Fish, XCore]
[I] [Router Pi, DontVin, Eradication Mindustry, Gadgetroch, Spark, LMSS, Erepulo, grass server, Mindustry Tool, Cyandustry, Novice, MEIQIU, Chaotic Neutral, Charophyceae, Maxdustry, routerchain, Dim.ST, Omnidust Servers, SynapseOS, IndustryCats, Mindurka, Pure PVP, The Devil, M-ind Fans, gods field, Rosemoncorp Servers, MeowIsland, Power line, EscoCorp Servers, Snow, lemon, Industrial, Abyss Icefire, Tendhost, 404ru, TinyLake, P.I.V.O, OmniCorp, MDN, abcxyz, Aetherial, Alex Multiverse, DELTA, Lett's Server Network, TWS, ArmyOFUkraine, MAL, io, Fish, XCore]

loging place:

        var servers = fetchedServers ? defaultServers : tmpServers.clear().addAll(cachedServers).addAll(defaultServers);
        
+       Log.info(servers);
        for(int i = 0; i < servers.size; i ++){
            ServerGroup group = servers.get(i);

Ilya246 pushed a commit to Anuken/MindustryServerList that referenced this pull request Jan 26, 2026
* Correct server position. Anuken/Mindustry#11570

* Update servers_v8.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants