• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Very important - Rules change on otservlist.org

-> disallow logging using multiclients/limit them to server staff members
-> problem solved
 
I think @xinn made it with no think, because a report to a server high exp that i don't remember the name...
Where a guy cried here on forum cause that server give you some coin to stay online, so people open 30 mc's to get that coin and it get the server on the high on otlist
I will never play a server who give a coin to you stay online where a lot people should open 30 mc to abuse, but anyways, the server not count xloged players

---

It will fuck servers low exp, where you need makers
Lans, Coffes, and everybody who use proxy will fuck the server owner

I think after this medivia will need to remove proxy on client, let they players play on lag, or search to a proxy to fuck the server on otlist

---

Who want to abuse will be abuse and now with this new rulles, will get more higher then before on otlist
Yes, is really izi to abuse


This is what happens when someone has great market power, he will shit at everything and a portion will have to accept.
I hope this event as an example so that you guys give more value to use the others otlists
 
Says he doesnt want to limit servers to only accept 4 connections per IP, instead he wants to receive proper information to display to his server list.. Yet he provides an iptable command that drops anyone after 4 connections.

Than to even post in discord that its not up to you to post a code to resolve it in an efficient way for everyone, atleast gunz did; hopefully it prevents a few bans. Just seems you go back and forth alot, good luck!
 
optimized, untested:
Code:
uint32_t real = 0;

std::unordered_map<uint32_t, uint32_t> listIP;

for (const auto& it : g_game.getPlayers()) {
   if (it.second->getIP() != 0) {
      auto ip = listIP.find(it.second->getIP());
      if (ip != listIP.end()) {
         ip->second++;
         if (ip->second < 5) {
            real++;
         }
      } else {
         listIP[it.second->getIP()] = 1;
         real++;
      }
   }
}
players.append_attribute("online") = std::to_string(real).c_str();

- We don't care about lastIP ordering, so might as well use unordered_map (should be faster than tree map). You might need to #include <unordered_map>.
- Use map iterator that we already have when searching for IP in the map to increase and check ip number, avoid doing map lookup 3 times when you can do it just once.

Also if anyone looks for further improvements, it would be better to do all of this during player login/logout instead.
 
I still say, just require servers to display their "unique IPs" when sending the update.

Players Online: 300
Unique IPs: 240

There is absolutely no reason to "spoof" the data and make it inaccurate.
 
@xinn @gunz @MatheusMkalo

And what about this script?:

Code:
local AccForIp = 4

function onLogin(player)

    local mc = 0
    for _, check in ipairs(Game.getPlayers()) do
        if player:getIp() == check:getIp() then
            mc = mc + 1
            if mc > AccForIp then
                return false
            end
        end
    end
 
    return true
end

In creaturescripts folder...
Is very simple and for me work fine, so is allowed?
 
Online numbers sure look different today.
About 1/4 lower on Medivia than shown on their website.
Meaning 1/4 of characters online are from players with more than 4 connections from the same adress.

That makes me curious to see unique IPs connected.
Any helpful information given is welcome to a player.
High online numbers can be deceiving.
Thank you.
 
Last edited:
I'm too lazy to read whole topic, but you did great job.
Finally, we will see real count of players online.

/Niebieski
 
I'm too lazy to read whole topic, but you did great job.
Finally, we will see real count of players online.

/Niebieski
...When are you making your own OTLand account instead of using Williams one? :)
 
We have a huge mix of people who actually knows what is good for the players, people who don't really understand that this rule isn't about limitting the number of characters logged in from single IP (but about what status protocol says), theoretist which bases their opinion on wrong assumptions, and people who thinks that this change will have any negative effect on otservlist ;) This rule is about sending the MORE accurate information about your server. It's good for people searching for servers because they receive more accurate server, it is bad for servers who thinks that they can encourage few people to login as many MCs as possible to look like a big server and deceive people who doesn't like playing on low populated servers.

@gunz:
Thank you for the code. I've updated the first post to include a link to it so everyone can find it without any problems. You are totally correct about the proxies/internet caffes, it's the same here on Hexera. We have none players from internet caffes and few

@Sir Knighter

When I checked your server last time, there were not a single IP exceeding the number of 4MC's connected to your server using any of the proxy service. I haven't checked the numbers below 4 but you can do it by yourself to have a full picture. It just shows that even that you are "sponsored by wtfast", this change will have a neutral effect when it comes to counting people connected via external proxy services.

@Flatlander:
Your assumptions about the number of proxy players are just wrong. There is NO server with such numbers of players logging in via external proxy services. For example now, on our server, we have 0 players logged in via proxy who have 2-4 MCs. If majority of your players are forced to use proxy to play lag-free on your server than you made a bad business decision about the location of your server. Internal proxies which doesn't relay the real client IP are just wrong so I don't even take them into the consideration because they simply shouldn't exist.

@OpenTibiaServer:
How is that better than counting IPs? ;) I have 4 old laptops here. Not to mention Virtual PCs which will have different hardware ID than the PC on which they are run.
Also, please read the first post one more time because it looks like you keep discussing but you don't get the fundamental thing - we don't want to limit servers to have more than 4 characters logged in from single IP. We just want them to return the more accurate number of players playing their server.

@Three Magic:
I believe you are talking from a server's owner perspective. Server owner who tries to deceive casual players about the real number of players playing on particular server because for my visitors this change is great. It would be perfect if all servers also returned the number of unique players connected to the server.

1st off.. whats stopping someone from creating code to make it look like everyone logged in has a different ip address? XD if someones really trying to spoof, it would be easy to get around this fix.

@xinn
@Flatlander
Xinn I think flatlander might be a little bit in the ballpark. I think 40-70% of my player base uses proxies to connect.. in the morning its nothing but EU's logged in with proxies. If you want proof I will go ham.. but please dont make me sit at my computer for a while and take screen shots.... Pls..


AaBUfo.jpg

02fT4M.jpg


I see common IPS constantly...



This goes for EU players who want to play my server in the US as well as South American players, or just players who want to have a better ping in general( who wouldn't want that) (I use WTFAST)

even tho a lot of people on my server uses WTFast it seems my server Waropolis.no-ip.org hasn't been banned so im cool..

I just posted this just in-case.. seems a lot of other people claim to have player bases who use external proxies. Including mine.



As for the cafe thing..

I met a guy from Bosnia the other day who plays in a crew of 20 people in a cafe.

He added me on facebook :D I can link him here?

I still say, just require servers to display their "unique IPs" when sending the update.

Players Online: 300
Unique IPs: 240

There is absolutely no reason to "spoof" the data and make it inaccurate.

^ This is a good idea.. but couldn't you just make a database of common proxy ip addresses for us?

PS:From your post looks like you checked @Sir Knighter server connections and were able to examine the connected ips? So from my understanding your asking the entire community to change their code when you have the ability to code it yourself to allow proxy server IP connections, block non 4+ proxy ips, and make less work for everyone? xD

Just makes more sense to me that you change your website rather than make an entire community change their servers.
 
Last edited:
1st off.. whats stopping someone from creating code to make it look like everyone logged in has a different ip address? XD if someones really trying to spoof, it would be easy to get around this fix.

@xinn
@Flatlander
Xinn I think flatlander might be a little bit in the ballpark. I think 40-70% of my player base uses proxies to connect.. in the morning its nothing but EU's logged in with proxies. If you want proof I will go ham.. but please dont make me sit at my computer for a while and take screen shots.... Pls..


AaBUfo.jpg

02fT4M.jpg


I see common IPS constantly...



This goes for EU players who want to play my server in the US as well as South American players, or just players who want to have a better ping in general( who wouldn't want that) (I use WTFAST)

even tho a lot of people on my server uses WTFast it seems my server Waropolis.no-ip.org hasn't been banned so im cool..

I just posted this just in-case.. seems a lot of other people claim to have player bases who use external proxies. Including mine.



As for the cafe thing..

I met a guy from Bosnia the other day who plays in a crew of 20 people in a cafe.

He added me on facebook :D I can link him here?



^ This is a good idea.. but couldn't you just make a database of common proxy ip addresses for us?

PS:From your post looks like you checked @Sir Knighter server connections and were able to examine the connected ips? So from my understanding your asking the entire community to change their code when you have the ability to code it yourself to allow proxy server IP connections, block non 4+ proxy ips, and make less work for everyone? xD

Just makes more sense to me that you change your website rather than make an entire community change their servers.

You have to try WTFast first, it is impossible to have a lot of players from same IP. (I think you can get only 5-6 players from same IP) So this is not a problem.
If you send me some cafe where I can enter and see 10 ppl playing Tibia and specially, one OT, I will definitely move to this place. :D
It is also impossible to fake IP in-game because checks are made using native linux commands.
 
MANY of today OTs run with LAN groups, launches normally includes a huge group of players playing in LAN.
I'm not 100% sure, but when MoonHawk from Shadowcores launched, there was more than 300 players in LAN parties entering the game.
And in such event, the game has to make it look like they actually have 295 less players that they really do?
had to laugh about this one
300 people meeting up in real life to play an OT together
hahahaha suuuuuuure
 
Xinn layin down the fuckn hammer! I love it good job buddy don't let em' get away with that shit
IMO 4 is still too many
Online numbers sure look different today.
About 1/4 lower on Medivia than shown on their website.
Meaning 1/4 of characters online are from players with more than 4 connections from the same adress.

That makes me curious to see unique IPs connected.
Any helpful information given is welcome to a player.
High online numbers can be deceiving.
Thank you.
You are very right about this, Medivia was doing something very deceiving. Which comes as no surprise from someone who works with Ryan.
 
Last edited:
Xinn layin down the fuckn hammer! I love it good job buddy don't let em' get away with that shit
IMO 4 is still too many

You are very right about this, Medivia was doing something very deceiving. Which comes as no surprise from someone who works with Ryan.
Make it 1 - 2 and block the rest... then allow all proxy IPS( WTFast, Battleping) etc..

Wouldn't be to hard to figure out if a player has a proxy IP or not XD... appreciate the effort but the fix doesn't cut it in the least in my opinion tho..

Personally the best option in my opinion is this.. How wouldn't this method fix the issue at hand? Hopefuly players have enough logic to understand players online to ip ratios XD

Xinn just adds this code to otservlist..

Players Online:
Unique IPs:

now everyone doesn't have to change their server >.> only xinn.. not everyone knows how to code in C++


personally in my eyes.. if an MC is out of PZ making runes or somethign.. why shouldnt they be counted as another char..? they are a killable lootable object? Its a player that logged in a char that can be killed..?

1 player who MC's 5 chars is still 5 characters you can gank ingame..?

Maybe this?

Players Online:
Characters Online:

another point..
Do you see cipsoft not counting MC bot chars? XD
Im pretty sure if cipsoft didnt count bot/mc chars Tibia would look dead as fk.

I second @Flatlander and all what @OpenTibiaServer said.
 
Last edited:
Make it 1 - 2 and block the rest... then allow all proxy IPS( WTFast, Battleping) etc..

Wouldn't be to hard to figure out if a player has a proxy IP or not XD... appreciate the effort but the fix doesn't cut it in the least in my opinion tho..

Personally the best option in my opinion is this.. How wouldn't this method fix the issue at hand? Hopefuly players have enough logic to understand players online to ip ratios XD

Xinn just adds this code to otservlist..

Players Online:
Unique IPs:

now everyone doesn't have to change their server >.> only xinn.. not everyone knows how to code in C++


personally in my eyes.. if an MC is out of PZ making runes or somethign.. why shouldnt they be counted as another char..? they are a killable lootable object? Its a player that logged in a char that can be killed..?

1 player who MC's 5 chars is still 5 characters you can gank ingame..?

Maybe this?

Players Online:
Characters Online:

another point..
Do you see cipsoft not counting MC bot chars? XD
Im pretty sure if cipsoft didnt count bot/mc chars Tibia would look dead as fk.

I second @Flatlander and all what @OpenTibiaServer said.

If you did this, why wouldn't I just Multiclient through a proxy?

I could use WTFast with 50 clients and since it is a proxy all 50 would count.

No, the only true way to do this would be Send 2 numbers.
  1. Players Online
  2. Unique IPs Connected
Then display them both on OTServList and let the PLAYERS decide using that information if they want to play a server with 500 players and 200 unique IPs, or a server with 500 players and 400 unique IPs.
 
I've created a working code you can implement in your server.

protocolstatus.cpp (TFS 1.0/1.1/1.2)
Someone can do it for 8.6

@xinn @Sir Knighter @Flatlander

Change:
Code:
players.append_attribute("online") = std::to_string(g_game.getPlayersOnline()).c_str();

To this:

Code:
uint32_t real = 0;

std::map<uint32_t, uint32_t> listIP;

for (const auto& it : g_game.getPlayers()) {
   if (it.second->getIP() != 0) {
      auto ip = listIP.find(it.second->getIP());
      if (ip != listIP.end()) {
         listIP[it.second->getIP()]++;
         if (listIP[it.second->getIP()] < 5) {
            real++;
         }
      } else {
         listIP[it.second->getIP()] = 1;
         real++;
      }
   }
}
players.append_attribute("online") = std::to_string(real).c_str();

Instead of altering the online attribute, could you add an extra attribute "online_ips" or something to count unique ips?
It would also be a good way for @xinn to detect if the server is patched to support otservlist.orgs desired change, and will probably increase the chance of an official PR since default behavior is identical.

And he could have the possibility to etc dim out / grey rows for not accurate data. And instead of players online, he could show characters online & unique ips. Giving the viewer the chance to judge.

My proposal is to change the column online / max from
online (record) / max
1137 (1934) / 1000

to:
uniqueIP (characters) / max(/or records as max is not working properly anyway and rarely reflect server capacity)

A row with invalid data would return
0 (153) / 253

Encouraging the owner to update the sources.

I personally think filtering players online attribute to 4 each IP is weird and inaccurate. Have an accurate online characters attribute, and an accurate count of unique ip attribute in status protocol.

And perhaps make a weird otservlist_online_count attribute with the weird 4/ip rule if Xinn insist.
 
Last edited:
I've created a working code you can implement in your server.

protocolstatus.cpp (TFS 1.0/1.1/1.2)
Someone can do it for 8.6

@xinn @Sir Knighter @Flatlander

Change:
Code:
players.append_attribute("online") = std::to_string(g_game.getPlayersOnline()).c_str();

To this:

Code:
uint32_t real = 0;

std::map<uint32_t, uint32_t> listIP;

for (const auto& it : g_game.getPlayers()) {
   if (it.second->getIP() != 0) {
      auto ip = listIP.find(it.second->getIP());
      if (ip != listIP.end()) {
         listIP[it.second->getIP()]++;
         if (listIP[it.second->getIP()] < 5) {
            real++;
         }
      } else {
         listIP[it.second->getIP()] = 1;
         real++;
      }
   }
}
players.append_attribute("online") = std::to_string(real).c_str();

Could someone make it for 0.4 TFS?
 
Back
Top