Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
LexiMax

DoomSpy - A web-based server browser for multiplayer ports

Recommended Posts

Too lazy to read? DoomSpy might be accessible here. If not, click the screenshot below so you can pretend the above link worked.

PRO-CLICK ZONE!

DoomSpy is something I've wanted to do for a very long time - create a Doom server browser for the web.

Why?

  • Sometimes I'm too lazy to open Doomseeker.
  • Sometimes I'm on a computer without a server browser at all and I want to see what people are playing right now.
  • I want to write an IRC bot or something that needs server data, but porting the huffman encoder/decoder to whatever flavor-of-the-week language I'm trying out is a pain in the butt.
So I did. Right now, the site is very barebones and might not even be working by the time you read this because it managed to crash somehow, but I've always been about releasing early and often.

The main server list is here. Those links labeled "IDE" will load Internet Doom Explorer if it is configured to handle the zds:// protocol. However, for you programmers, there are a few REST API endpoints available to you as well that will give you server information in JSON format:
  • http://doomspy.com/api/v1/servers - A full list of servers.
  • http://doomspy.com/api/v1/servers/<ip>:<port> - A single server.
  • http://doomspy.com/api/v1/players - A list of players.
Don't let the v1 fool you, the API is a work in progress and these endpoints might change, appear, disappear, reappear again, change format, or any number of wild and unpredictable things. Also, the entire site and API is HTTPS-enabled in anticipation of needing to implement some form of account system, but if you don't want the NSA to know that you're joining a Megaman Erotic RP server you can try the secure version here. And here is my SSL Labs "A" rating so you know I implemented it properly.

The program that runs DoomSpy is called dmaster, and you can find the source code repository here on GitHub. There is currently no license attached to the project, which means that the copyright belongs to me and the project cannot be legally forked yet, but I plan to license it under the AGPLv3 as soon as I find the time. This license means that if you host dmaster on your own publicly-visible server and you make any modifications to the codebase, you must release the source of your modified dmaster.

If you've managed to crash the server in a consistent way (You will know because the server list will subsequently return empty for a few moments), please let me know either in this thread or via the issue tracker. However, other than crash reports, I do not want any bug reports or feature requests yet, as I do not consider it far-enough along to warrant it and I might already be planning to implement your feature requests along the way to the first stable version.

I am planning on fleshing out the front-end and REST API to show a more complete set of data. Currently only Zandronum servers are listed, other ports will be supported later, such as Odamex, Chocolate Doom and Vavoom. An RCON utility might also be feasible, but would require your trust that I won't run off with your RCON passwords.

Share this post


Link to post

Thanks for making this - now as a command line user I don't have to use a GUI launcher to find servers. It even looks good in w3m :-)

Share this post


Link to post

Nice! One thing I like about IDE the most though is that you can click on the legend at the top and it will sort the servers in categories of the item you clicked.

So if you clicked players, it would sort the servers in order if most players to least (like you already have) and click again to sort it from least to greatest

But you can also click on gametype to sort the servers out by game mode, or Ping, to sort the servers out by lowest to highest ping, etc.

Looks great so far though! Maybe a smaller font and a cool high contrast color theme could go a long way.

Share this post


Link to post
40oz said:

Nice! One thing I like about IDE the most though is that you can click on the legend at the top and it will sort the servers in categories of the item you clicked.

So if you clicked players, it would sort the servers in order if most players to least (like you already have) and click again to sort it from least to greatest

But you can also click on gametype to sort the servers out by game mode, or Ping, to sort the servers out by lowest to highest ping, etc.


Do you really need to be able to sort servers? I have thought about this a great deal and I do not think that introducing sorting mechanisms is necessary. I believe that there are two obvious useful ways to sort a list of servers.

  • Ping. Because you're looking for a low-ping server, regardless of how full it is.
  • Players. Because you're looking for full servers.
Ping is, of course, useless when you're using an online server browser. So I sort the servers by players.

However, I believe that you have a legitimate need to find servers of a certain gametype - I just think that your needs would be better served by filtering instead of sorting. In other words, instead of having to sort and find your gametype of choice, I think you would be better served by being able to type in the gametype name or click a checkbox and only having servers of a specific gametype come up.

Is there something I'm missing? I'm happy to implement it if there's some other use case I'm forgetting about, and if you and others simply prefer being able to sort a server list by gametype I might consider implementing such things later on.

Share this post


Link to post
AlexMax said:

I just think that your needs would be better served by filtering instead of sorting.


Yeah that's just as good I'm sure. If that's easier to implement then I have no complaints on my end.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×