Masterserver-Perl (WIP)

Discussions about Coding and Scripting
User avatar
Darkelarious
Skilled
Posts: 175
Joined: Sat Feb 08, 2014 12:02 pm
Personal rank: 333networks admin
Location: Phobos Moon
Contact:

Masterserver-Perl (WIP)

Post by Darkelarious »

Currently, there are three versions of the masterserver: The difference between the Perl versions is very small. I started working on a combined version that supports multiple database types. In our thread on Errorist, I hope to get requests on configuration, functions and behaviour. The content there is a first draft of the README file after which I try to shape the programming.

Current progress
  • Load either the postgresql OR the sqlite OR the MySql library, supports different database types;
  • insight in what exactly is being logged (error, info, fatal, debug, etc);
  • logs can be rotated daily, weekly, monthly, yearly, never;
  • clean and separated handlers instead of chaotic networking event handlers.
A proof of concept framework is currently up and running. We're well on our way for a 333networks Master Version 2.0!

Please do provide feedback!

http://forum.errorist.tk/viewtopic.php?f=35&t=84
--Darkelarious
Image
Masterserver | Discord Channel
Oh, and we still are ready to receive donations. The url works, right? It doesn't seem to be doing anything...
noccer
Adept
Posts: 362
Joined: Sun Aug 01, 2010 12:15 pm
Personal rank: Proud Terrorist

Re: Masterserver-Perl (WIP)

Post by noccer »

I look forward to the new versions,
can you implement a blacklist for servers that show Bots as players?
What about some statistics like http://tracker.ut99.tk ?
Image

>>You can't steal any ip (v4)adresses, there are exactly 4294967296 of them, and they will still exist when you wrote down all of them, or are stored in a (master)servers database ;)<<
UT99.org

Re: Masterserver-Perl (WIP)

Post by UT99.org »

billybill wrote:Any plans to add a custom command that returns countries as well as the ip and ports

We had people asking about this in the XBrowser thread

Or is someone going to make a C database dll/so file that retrieves it from a database that the clients will need to update reguarly [instead]
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: Masterserver-Perl (WIP)

Post by Wises »

good work m8 :)

have a few ideas.. 1 is for a player stats db much like game tracker..

then have custom banners (like game tracker).. this makes for good marketing .. lots more people will come to the site seeing others banners.

finally the layout instead of tables use <div>content</div>
with classes and id's.

then target 'classes' and 'ID's' with CSS to style the data.
this will then look good on all devices ;)

or look into this : http://www.getbootstrap.com/

also on the forums have a little section which displays top 10 servers.. this could encourage conversation on forums about said servers.. and again bring more people onboard.
Last edited by Wises on Sun Feb 08, 2015 9:48 pm, edited 1 time in total.
Syntax-Error
Novice
Posts: 23
Joined: Wed Sep 10, 2014 12:20 pm
Personal rank: Admin & Player
Location: Rotterdam, The Netherlands
Contact:

Re: Masterserver-Perl (WIP)

Post by Syntax-Error »

billybill wrote:Any plans to add a custom command that returns countries as well as the ip and ports
We had people asking about this in the XBrowser thread
Or is someone going to make a C database dll/so file that retrieves it from a database that the clients will need to update reguarly [instead]
billybill,

As you might know the 333networks version of the Master Server is able to provide Master Server services for a large number of different games. The Master Server provides the game-client of the player with a list of active game-servers for the requested game. (a list of IP's and ports, nothing more). The game-client itself is responsible for retrieving game-server name, gametype, current map and number of players etc...

The 333networks version of the Master Server is also capable to show a webinterface, although it is up to the administrator who installed it to decide if it is enabled or not. In other words: A webinterface is available, but doesn't have to be installed or enabled to provide Master Server functionality.

You could check http://master.333networks.com or http://master.errorist.tk to get an idea how the webinterface looks like.

Your idea about country info sounds interesting, but I am curious where you would expect such a functionality Master Server wise?

For example: Would you expect to see a country flag next to IP/Port on the web interface, or would you expect to see it elsewhere?

And...
Where would you try to execute a certain command to the Master Server to get that info for a specific IP/port?

The original post for this article can be found here: http://forum.errorist.tk/viewtopic.php?f=35&t=84
Everyone is invited to go there and follow progress.

More important: If you have suggestions or ideas 333networks really would like to hear them, so you are more than welcome to pay a visit and post your suggestions overthere. They will be seriously looked at and if possible/usefull chances are it will be added in a future release of the 333networks Master Server.
Last edited by Syntax-Error on Sun Feb 08, 2015 10:15 pm, edited 2 times in total.
Image
User avatar
Darkelarious
Skilled
Posts: 175
Joined: Sat Feb 08, 2014 12:02 pm
Personal rank: 333networks admin
Location: Phobos Moon
Contact:

Re: Masterserver-Perl (WIP)

Post by Darkelarious »

Wises wrote:then have custom banners (like game tracker).. this makes for good marketing .. lots more people will come to the site seeing others banners.

finally the layout instead of tables use <div>content</div>
with classes and id's.

then CSS to style the data.
this will then look good on all devices ;)

or look into this : http://www.getbootstrap.com/

also on the forums have a little section which displays top 10 servers.. this could encourage conversation on forums about said servers.. and again bring more people onboard.
Bear in mind that this thread is about the masterserver itself and not the web interface. The web interface indeed needs some serious work. Still, it's a great idea and I will happily attempt to do something like this when the masterserver is done.
--Darkelarious
Image
Masterserver | Discord Channel
Oh, and we still are ready to receive donations. The url works, right? It doesn't seem to be doing anything...
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: Masterserver-Perl (WIP)

Post by Wises »

country flags could be detected via ip address of servers.. perhaps simple script to detect country then display flag like xbrowser on left hand side of server info.
also add ability to sort servers by country
UT99.org

Re: Masterserver-Perl (WIP)

Post by UT99.org »

billybill wrote:Well you could open another port, or listen for extra commands on connection. Doesn't really matter. Instead of returning ip port ip port ip port it would return ip port CountryCode (or ip:port CountryCode whatever the syntax is) . This could be retrieved from a local SQL database or other type of database that can be update easily. As I said it was discussed briefly in the XBrowser thread, there's alternatives but this way could give you some much needed use

What was that last post, not discussing web interface? People might be less inclined to block you if you use a simple php image generator on email addresses. Take a font where all characters are the same length visually (I forget the term used to describe the fonts) and use it to generate the image size, then have the email address put in there with the font. Remove the mailto: as it's just as bad

Re signing up at your forums I read it as Terrorist, must be my eyes. There is a T in the domain name though. Whether you see it as bad taste or not some people have personal beliefs and ethics
User avatar
Darkelarious
Skilled
Posts: 175
Joined: Sat Feb 08, 2014 12:02 pm
Personal rank: 333networks admin
Location: Phobos Moon
Contact:

Re: Masterserver-Perl (WIP)

Post by Darkelarious »

It's still a lot of testing to be done to see whether it works correct. What I got working so far: when I receive a new beacon/address, it's stored in the database as ip, port, gamename, updated, <new:> country code.

A future implementation could be as following:
  • location request selects only IPs with country code XX (I need to look into XBrowser's format for that)
  • web interface has either flags or the country code and a sort button
  • ... other ideas?
After-submit-click-edit:
billybill wrote:Well you could open another port, or listen for extra commands on connection. Doesn't really matter. Instead of returning ip port ip port ip port it would return ip port CountryCode (or ip:port CountryCode whatever the syntax is) . This could be retrieved from a local SQL database or other type of database that can be update easily. As I said it was discussed briefly in the XBrowser thread, there's alternatives but this way could give you some much needed use

What was that last post, not discussing web interface? People might be less inclined to block you if you use a simple php image generator on email addresses. Take a font where all characters are the same length visually (I forget the term used to describe the fonts) and use it to generate the image size, then have the email address put in there with the font. Remove the mailto: as it's just as bad

Re signing up at your forums I read it as Terrorist, must be my eyes. There is a T in the domain name though. Whether you see it as bad taste or not some people have personal beliefs and ethics
From my previous post: the web interface and the masterserver are two completely different scripts that I used to have in the same git repository. Instead, I separated the repository. When the masterserver v2 is working on a satisfactory level (determined by yours truly), I will work on a more sophisticated web interface.

The web interface, its looks and most pleasant way to browse through it are at this moment not a priority. By that time there will probably be a new thread with "web interface" in the development section of Errorist.

For now, I am only talking about the masterserver, which receives and sends server addresses like gamespy used to do. This version will be a cleaner, improved version of the others at the start of this thread. The others work and are in use (Human Head uses it as default for Rune and Postal 2), but the newer version that I am using is just a lot less redundant code, proper error handling, error reporting, better use of resources, that kind of improvements.
--Darkelarious
Image
Masterserver | Discord Channel
Oh, and we still are ready to receive donations. The url works, right? It doesn't seem to be doing anything...
UT99.org

Re: Masterserver-Perl (WIP)

Post by UT99.org »

billybill wrote:Implement the code and you can be assured the new XBrowser and any other browser or service will pick up on it and start using country flags. It's not important, but ask anyone what they think makes a UT Browser more modern and they'll point out country flags

You could at least edit out the email addresses for now, you were given a 30 day grace period to make changes like this. You're still querying the Epic list every 15 minutes and I'm sure if an email was sent to every email address listed on your site explaining to them that by uplinking their UT server the email address in their admin info was automatically going to be displayed on the www for robots to archive for spam bots then overwhelmingly they will not be happy. Well, don't you think?

Only edit I made was adding the final paragraph. I wouldn't get ahead of yourself adding Postal 2 and Rune to your WWW interface without making said changes. Keep in mind at present you are only an optional back-up server in both games. They both have primary master servers, you are a listed secondary, as a back-up. Epic don't list you at all

On noccer's suggestion, and reading some text at the bottom of this thread
Spoiler
Flay states:
Our new system can thankfully tell the difference between a bot and a fake-player.
Do it, but if any server is going to be blocked on your end please put some effort in helping the admin remedy the problem
Syntax-Error
Novice
Posts: 23
Joined: Wed Sep 10, 2014 12:20 pm
Personal rank: Admin & Player
Location: Rotterdam, The Netherlands
Contact:

Re: Masterserver-Perl (WIP)

Post by Syntax-Error »

billybill wrote:You could at least edit out the email addresses for now, you were given a 30 day grace period to make changes like this.
Could you please explain why that would be necessary?
To be honest, I don't see the point why he would need to do that.

If you look at http://www.gametracker.com/ for example, people also have the option to add servers when they are registered on that website. They don't have to be the owner of the server to be able to add it as far as I know.
But when a server is known at GameTracker, then GT also retrieves server-info and provides that info on their website as well.

If you look at the details of a server there under "Server Variables", you can also find the admin email...
For example, one of the Unreal servers of my Clan:
http://www.gametracker.com/server_info/ ... variables/
Shows email-address: admin@newbiesplayground.com

Or one of my own Unreal servers:
http://www.gametracker.com/server_info/ ... variables/
Showing email-address: syntax@errorist.tk

As soon as someone has IP/Port from a game-server, they can collect this info themselves.
So... Why would 333networks need to remove email-addresses, while other websites show them as well?
Did you ask those other websites to remove the email-addresses as well?

If you run a server with a public service, which in this case is a game server, you try to advertise it.
One of the known values is the admin-email. Which should be visible in my opinion, in case you want to contact him/her for server based questions or to be able to report abuse on a server etc...

So, why should it only be removed at 333networks?
billybill wrote:Re signing up at your forums I read it as Terrorist, must be my eyes. There is a T in the domain name though. Whether you see it as bad taste or not some people have personal beliefs and ethics
There is nothing wrong with your eyes, nor has this anything to do with bad taste, personal beliefs or ethics.
This all is related to you, making false accusations about a domainname which you try to link to terrorists, while it has nothing to do with that (and you know it ;)). I don't think I have to remember you that there are T's in your .tk domainname as well I presume?


For educational purposes only:
http://nl.urbandictionary.com/define.php?term=errorist
errorist
Someone who repeatedly makes mistakes. Says stuff he believes is true, but anyone with common sense can see he's wrong. A dumbass.
Or this one:
http://www.webster-dictionary.org/definition/errorist
Errorist
One who encourages and propagates error; one who holds to error.
As you can read at the provided links, or could have looked up in a dictionary yourself, would have informed you it has NOTHING to do with terrorists... But you already knew that, before you posted your accusations. :tu:
Last edited by Syntax-Error on Mon Feb 09, 2015 12:37 am, edited 4 times in total.
Image
User avatar
Darkelarious
Skilled
Posts: 175
Joined: Sat Feb 08, 2014 12:02 pm
Personal rank: 333networks admin
Location: Phobos Moon
Contact:

Re: Masterserver-Perl (WIP)

Post by Darkelarious »

billybill wrote:Implement the code and you can be assured the new XBrowser and any other browser or service will pick up on it and start using country flags. It's not important, but ask anyone what they think makes a UT Browser more modern and they'll point out country flags
As long as anybody but you has work from it? No thanks. Anyway, I just implemented a seemingly working ip2country function for the masterserver. The devmasterserver now has an additional column for country names. To XBrowser devs reading: please do contact so we can agree on additions to the protocol to make this work together.
billybill wrote:You could at least edit out the email addresses for now, you were given a 30 day grace period to make changes like this. You're still querying the Epic list every 15 minutes and I'm sure if an email was sent to every email address listed on your site explaining to them that by uplinking their UT server the email address in their admin info was automatically going to be displayed on the www for robots to archive for spam bots then overwhelmingly they will not be happy. Well, don't you think?
"You were given a 30 day grace period". [Insert violent, angry snort here] -- since when do you have any right to give *anybody* an ultimatum? All you do is complain about somebody else's achievements. Additionally you bring up querying Epic every 15 minutes, which --again-- is incorrect. Also, if you ever bothered to verify the validity of your own statements, you would have seen that 333networks shows only plaintext email addresses, identical to other services (like http://tracker.ut99.tk/ as noccer pointed out, and Syntax-Error in the previous post).
billybill wrote:Only edit I made was adding the final paragraph. I wouldn't get ahead of yourself adding Postal 2 and Rune to your WWW interface without making said changes. Keep in mind at present you are only an optional back-up server in both games. They both have primary master servers, you are a listed secondary, as a back-up
I also made an edit, I see now that edits don't show on ut99.org. Anyway, again, check your information. 333networks is the official masterserver for Postal 2 and Rune (both agreed upon and endorsed by Human Head Studios/Nine Realms, Inc.) and it has been since June 2014. Note to self: statistics on game/player use.
billybill wrote:Do it, but if any server is going to be blocked on your end please put some effort in helping the admin remedy the problem
Almost missed this edit; I will make it possible to blacklist servers. However, I will not set/enforce ANY automatic blacklisting function in the 333networks masterserver by default. If blacklisting is going to happen, it will be through the web interface (which will require some admin login ability) or by manual addition in the code, made by the individual host of the masterserver.


billybill, I have one general remark on your method of participating in development discussions. I hope you will take this at heart:
There is absolutely nothing wrong with asking for help, asking for features or asking for changes in current functionality. There is however one thing you do not bear in mind. It is up to the developer to decide whether to take your feedback into account. If the developer listens to you, that is a privilege, not an obligation. You can't simply set an ultimatum for something and expect the developer to just do it because you tell him/her so. Just finish resolving one issue together before you start complaining about the next thing that you consider a problem, issue or other item that requires action. There is also nothing wrong with showing a little graditute if the developer decides to heed your advice anyway.
--Darkelarious
Image
Masterserver | Discord Channel
Oh, and we still are ready to receive donations. The url works, right? It doesn't seem to be doing anything...
User avatar
papercoffee
Godlike
Posts: 10447
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: Masterserver-Perl (WIP)

Post by papercoffee »

Darkelarious wrote:I see now that edits don't show on ut99.org
Edits are shown ...but Shade set up a time limit for editing without the edit-note on the bottom of the post.
Did see this on other phpBB based forums as well. Maybe should we shorten this time limit.
Darkelarious wrote: billybill, I have one general remark on your method of participating in development discussions. I hope you will take this at heart:
There is absolutely nothing wrong with asking for help, asking for features or asking for changes in current functionality. There is however one thing you do not bear in mind. It is up to the developer to decide whether to take your feedback into account. If the developer listens to you, that is a privilege, not an obligation. You can't simply set an ultimatum for something and expect the developer to just do it because you tell him/her so. Just finish resolving one issue together before you start complaining about the next thing that you consider a problem, issue or other item that requires action. There is also nothing wrong with showing a little graditute if the developer decides to heed your advice anyway.
^THIS
UT99.org

Re: Masterserver-Perl (WIP)

Post by UT99.org »

billybill wrote:erm XBrowser is buggy and amatuer as hell, just saying. I liked the sarcasm of your comment though, mocking the way I asked. (I'm pointing this out for your benefit since majority here don't understand sarcasm).

You may not realise this but your master server that gets spammed everywhere offers nothing that Epic doesn't. Your two claims of "it's faster" and "it's a backup in case epic goes down" might have a little truth but it gets in the way when it's used to help people screw up their server list

Might want to listen to people who host servers for you for once when they ask about blocking fake player servers. Oh I forgot, one moment of uplink to you and you spam their query ports for life. What was your comment "It took me forever to back engineer gamespy and I'll be damned if I ever delist a single server"?

The 30 day grace period was given by me at the Dane's forums, your faults were pointed out and I said I'd leave you to sort it out. Since it's over and the faults are still there you might want to stop poking fun and listen to the community as more is revealed
you would have seen that 333networks shows only plaintext email addresses, identical to other services (like http://tracker.ut99.tk/ as noccer pointed out, and Syntax-Error in the previous post).
gametracker doesn't auto add servers every 15 minutes. The site you allude to is hosted in some guy's garage and I'm having a tough time finding the actual tracking ips they use. Far less transparent than you, do you really want to be like them?

As with most forums, or at least many great forums, the last post in a thread can in fact be edited without it showing. I'm surprised you have never seen this before. It's actually rather useful because I can go back and fix up the post before anybody responds, but I know you IRC a lot and the saying 'what is said is said and you can't go back' does hold enough value to me that I wouldnt add anything major unless it's on the end

Oh I just caught your comments on Epic/15 mins, guess I didn't read your post thoroughly or didn't believe you. I ask you on the record for Epic and everyone else to read: When did you stop this? Also on the record I never attacked you in this thread, but your entire last post was like rambo first blood

Why do you tell such fibs guy?
I also made an edit, I see now that edits don't show on ut99.org. Anyway, again, check your information. 333networks is the official masterserver for Postal 2 and Rune (both agreed upon and endorsed by Human Head Studios/Nine Realms, Inc.) and it has been since June 2014. Note to self: statistics on game/player use.
It's simply not true, you are listed secondary in both games. Yes you're listed, but they both provide in-house solutions as priority first servers. In-house servers like Epic did, only for these two games they are implemented in patches. I'll provide the ini settings for both if you really believe this or expect other people to
noccer
Adept
Posts: 362
Joined: Sun Aug 01, 2010 12:15 pm
Personal rank: Proud Terrorist

Re: Masterserver-Perl (WIP)

Post by noccer »

I see some very nice ideas here, i love the countrystuff that will be in v2, aswell as the blacklist (yeah, was about time xD)
Wises wrote: have a few ideas.. 1 is for a player stats db much like game tracker..

then have custom banners (like game tracker).. this makes for good marketing .. lots more people will come to the site seeing others banners.
Wow, this is really a great idea, and i hope this will be implemented. Wises, aren´t you good in designing that kind of stuff? :D
Wises wrote:also on the forums have a little section which displays top 10 servers.. this could encourage conversation on forums about said servers.. and again bring more people onboard.
I don´t like the Top 10 idea, the top lists are made to suppress those who are not in the top. It does not make sense to advertise uK uK uK uK uK and [UT], they are known enough. So i suggest a random 5 or random 10, and/or newest servers, or very special servers which are special in some way, maybe a new gametype, new mutators etc. That would help those who NEED the help.

About email adresses: Many Spambots can easily read mail adresses in images, they can even solve very hard captchas that are too hard for some humans. They also read " email [AT] domain (dot) org" as it would be plaintext. Unfortunately many readers for blind people can not read out images, so plaintext is in the advantage.
billybill wrote:It's simply not true, you are listed secondary in both games. Yes you're listed, but they both provide in-house solutions as priority first servers. In-house servers like Epic did, only for these two games they are implemented in patches. I'll provide the ini settings for both if you really believe this or expect other people to
Yes it is true. For example: Unreal Tournament had epicgames.com as first master, and gamespy as second. Following your theory, Gamespy was never an official masterserver for Unreal Tournament.
Image

>>You can't steal any ip (v4)adresses, there are exactly 4294967296 of them, and they will still exist when you wrote down all of them, or are stored in a (master)servers database ;)<<
Post Reply