• Vote in May Mapping Competition to select a winner!
  • 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!

Tibia Live - Open Tibia Server List [work in progress]

OP
Syntax

Syntax

Developer
Joined
Oct 10, 2007
Messages
2,869
Best answers
0
Reaction score
249
Location
Texas
Changelog:
  • Added dark theme (toggle top-right of screen, auto-dark theme in Safari supported)
  • Added message of the day to the list
  • Fixed list to be sorted by online count by default

Roadmap:
  • Filters
  • Multi-world support, currently displaying what seems like duplicates
  • Update dynamic data (online count, motd, exp, etc) in intervals, currently using stale data

Previews:
Screen Shot 2019-02-04 at 9.28.29 AM.png
Screen Shot 2019-02-04 at 9.47.33 AM.png
 
Last edited:

Onimusha

Well-Known Member
Joined
Dec 6, 2008
Messages
185
Best answers
0
Reaction score
73
what language are u using on the backend?
 

Night Wolf

I don't bite.
Premium User
Joined
Feb 10, 2008
Messages
227
Best answers
3
Reaction score
250
for some reason my test server is showing the ip instead of website dns.
Is this because you have deleted the duplicate (dns one)?
 
OP
Syntax

Syntax

Developer
Joined
Oct 10, 2007
Messages
2,869
Best answers
0
Reaction score
249
Location
Texas
what language are u using on the backend?
NodeJS to process and build the HTML data on the backend.
Raw HTML and supplemental JS (sorting, filtering, etc) on the frontend.

for some reason my test server is showing the ip instead of website dns.
Is this because you have deleted the duplicate (dns one)?
I'm still working out the logic to display the best possible domain.
There's data provided in the status protocol (sometimes provide the domain in the ip setting, sometimes the url setting)
Sometimes the url is just a link to Facebook or OTLand, and sometimes the best solution is to lookup domains attached to the IP.
 

Kaspar

Unprejudiced
Staff member
Global Moderator
Joined
Jun 2, 2016
Messages
648
Best answers
2
Reaction score
551
Location
Stockholm
Looks like a really nice project!
Thanks for contributing to the community, I'll be sure to follow the progress.
 
OP
Syntax

Syntax

Developer
Joined
Oct 10, 2007
Messages
2,869
Best answers
0
Reaction score
249
Location
Texas
Anything new on this? :)
Nope, but I just got motivation again recently to work on more Tibia stuff.
The more interest in the project the more motivation I have to work on it.

This project stalled because I'm stuck at a spot of how to handle multi-world.
Once I solve that I pretty much just need to finish filters and get the status servers up.
 

Kuzyn

Veteran OT User
Joined
Dec 19, 2009
Messages
1,444
Best answers
2
Reaction score
427
Location
Gdansk, Poland.
Nope, but I just got motivation again recently to work on more Tibia stuff.
The more interest in the project the more motivation I have to work on it.

This project stalled because I'm stuck at a spot of how to handle multi-world.
Once I solve that I pretty much just need to finish filters and get the status servers up.
Do you have in plans to scan custom servers? For example I don't see Medivia on your list.
 

Xampy87

Active Member
Joined
Dec 7, 2008
Messages
73
Best answers
0
Reaction score
26
Location
OXSERVER
@Syntax sorry for the OOC, why you left OX Server? Man can you reboot it? :D

EDIT: LOL long time ago I dont visit OTLAND, Look at my signature, LOL
Also check my latest posts talking about OX server ahahahahhaa
Xampy87 (https://otland.net/members/xampy87.22339/#recent-content)

OMG, check my "About" information, hahahahaha I was so UNHAPPY and FRUSTRATED with your team, lol XD

AMAZING
 
Last edited:
OP
Syntax

Syntax

Developer
Joined
Oct 10, 2007
Messages
2,869
Best answers
0
Reaction score
249
Location
Texas
Do you have in plans to scan custom servers? For example I don't see Medivia on your list.
If they broadcast on port 7171 they should show up. Some people have reported missing servers.
I'll look into it further. It may just not have gotten caught in the initial scan.

@Syntax sorry for the OOC, why you left OX Server? Man can you reboot it? :D
We sold the OX server but we occasionally help with development. You'll hear something soon about it I think.
 

Xampy87

Active Member
Joined
Dec 7, 2008
Messages
73
Best answers
0
Reaction score
26
Location
OXSERVER
If they broadcast on port 7171 they should show up. Some people have reported missing servers.
I'll look into it further. It may just not have gotten caught in the initial scan.



We sold the OX server but we occasionally help with development. You'll hear something soon about it I think.
Wow! u made my sunday! thx
 

222222

Active Member
Joined
Jul 3, 2007
Messages
149
Best answers
0
Reaction score
36
Looks great! How do you even "scan" OT servers and get their description/name and stuff. I was always curious about that. I mean, don't other games or services also use 7171 port? You ping any random IP and check if port 7171 is open? And then somehow grab their description? I just don't get how such websites work. Very interesting. I hope you keep working on this @Syntax
 

Kuzyn

Veteran OT User
Joined
Dec 19, 2009
Messages
1,444
Best answers
2
Reaction score
427
Location
Gdansk, Poland.
Looks great! How do you even "scan" OT servers and get their description/name and stuff. I was always curious about that. I mean, don't other games or services also use 7171 port? You ping any random IP and check if port 7171 is open? And then somehow grab their description? I just don't get how such websites work. Very interesting. I hope you keep working on this @Syntax
There is a specific function in servers that responds to server list query.
 

Cosades

Banned User
Joined
Jan 1, 2012
Messages
28
Best answers
4
Reaction score
7
@222222
PHP:
<?php
$ip = 'tibiafun.pl';
$port = '7171';

$info = chr(6).chr(0).chr(255).chr(255).'info';
$sock = @fsockopen($ip, $port, $errno, $errstr, 1);
if ($sock)
{
    fwrite($sock, $info);
    $data='';

    while (!feof($sock)) {
        $data .= fgets($sock, 1024);
    }
    fclose($sock);

    $xml=simplexml_load_string($data) or die("Error: invalid XML");
    $dom = new DOMDocument('1.0');
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = true;
    $dom->loadXML($xml->asXML());
    $dom->save($ip . '.xml');
}
?>
here's a quick php example
after running it will save the SERVER_IP.xml with data in your script folder.

example:
XML:
<?xml version="1.0"?>
<tsqp version="1.0">
  <serverinfo uptime="19620" ip="185.204.217.181" servername="TibiaFun" port="7171" location="Poland" url="http://tibiafun.pl" server="The Forgotten Server" version="TibiaFun Custom"/>
  <owner name="TibiaFun" email="[email protected]"/>
  <players online="20" max="100" peak="39" waiting="0"/>
  <monsters total="13559"/>
  <map name="" author="" width="" height=""/>
  <motd>Welcome to TibiaFun!
Visit our Homepage www.tibiafun.pl !</motd>
</tsqp>
 
Last edited:
OP
Syntax

Syntax

Developer
Joined
Oct 10, 2007
Messages
2,869
Best answers
0
Reaction score
249
Location
Texas
Haven't had much time to work on this recently but here's a preview of the new site: OTList.net (http://otlist.net/)
Working on cleaning and presenting more data, it requires scraping the OT sites in addition to scanning the internet.
Should be finished this month.
Screen Shot 2020-05-01 at 12.05.51 PM.png


Looks great! How do you even "scan" OT servers and get their description/name and stuff. I was always curious about that. I mean, don't other games or services also use 7171 port? You ping any random IP and check if port 7171 is open? And then somehow grab their description? I just don't get how such websites work. Very interesting. I hope you keep working on this @Syntax
1) First you scan the internet for any devices with port 7171 open.
2) Then you ping them with the status protocol message that TFS expects.
3) If it responds back with server info it's online and an OT server.
4) Then you clean up the human crafted data like the server url, very difficult.
5) Then you scrape the site if the server uses a domain to get the remainder info and verify data.

I will be open-sourcing all of this as well as hosting and advertising the list. I will also provide an API if you want to make your own list/app but you don't want to scan the internet or anything.
 
Last edited:

Tony32

Veteran OT User
Joined
Jun 6, 2008
Messages
1,193
Best answers
0
Reaction score
264
Changelog:
  • Added dark theme (toggle top-right of screen, auto-dark theme in Safari supported)
  • Added message of the day to the list
  • Fixed list to be sorted by online count by default

Roadmap:
  • Filters
  • Multi-world support, currently displaying what seems like duplicates
  • Update dynamic data (online count, motd, exp, etc) in intervals, currently using stale data

Previews:
View attachment 34443
This looks great.
 
Top