Very important - Rules change on otservlist.org

OP
X

xinn

Excellent OT User
Joined
Dec 5, 2007
Messages
300
Reaction score
121
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
Although I think this change is the right idea and beneficial in the long run, we are sponsored by wtfast and a massive chunk of our NA player base use WTFast. Your points idea is a very interesting proposition and hopefully something Xinn would consider.
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.
 

zbizu

Veteran OT User
Joined
Nov 22, 2010
Messages
2,460
Reaction score
1,351
Location
Poland
-> disallow logging using multiclients/limit them to server staff members
-> problem solved
 

warriorfrog

Member
Joined
Jul 29, 2015
Messages
250
Reaction score
20
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
 

Extrodus

Legendary OT User
Joined
Dec 22, 2008
Messages
2,288
Reaction score
283
Location
Canada, Eh?
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!
 

guidol

New Member
Joined
Jun 17, 2016
Messages
9
Reaction score
3
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.
 

Flatlander

Species Developer
Joined
Feb 17, 2009
Messages
2,459
Reaction score
1,282
Location
Texas
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.
 

darkjav

Senior Developer
Joined
Apr 29, 2008
Messages
195
Reaction score
12
Location
Mexico City
@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?
 
Joined
Dec 1, 2016
Messages
79
Reaction score
25
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:

GOD Wille

Premium User
Premium User
Joined
Jan 11, 2010
Messages
2,436
Reaction score
575
Location
Sweden, stockholm
I'm too lazy to read whole topic, but you did great job.
Finally, we will see real count of players online.

/Niebieski
 

Tarek1337

Excellent OT User
Joined
Jun 9, 2012
Messages
3,561
Reaction score
997
Location
Sweden
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? :)
 

xKrazyx

Old School
Joined
Oct 23, 2012
Messages
754
Reaction score
375
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..





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:

gunz

GunzOT Owner
Premium User
Joined
Dec 30, 2007
Messages
484
Reaction score
148
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..





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.
 
Joined
Dec 1, 2016
Messages
79
Reaction score
25
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
 

robbydeath

Excellent OT User
Joined
Feb 11, 2008
Messages
483
Reaction score
73
Location
washington state
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:

xKrazyx

Old School
Joined
Oct 23, 2012
Messages
754
Reaction score
375
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:

Flatlander

Species Developer
Joined
Feb 17, 2009
Messages
2,459
Reaction score
1,282
Location
Texas
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.
 

Znote

<?php echo $title; ?>
Staff member
Global Moderator
Premium User
Joined
Feb 14, 2008
Messages
6,464
Reaction score
1,145
Location
Norway, Oslo
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:
Top