Skip to content

Node List Server is a multi-purpose server list system. NodeJS powered and supports Docker.

License

Notifications You must be signed in to change notification settings

SoftwareGuy/NodeListServer

Repository files navigation

NodeListServer Generation 2.1

MIT Licensed Ko-Fi PayPal

NodeLS, short for Node List Server, is a game server directory application that aims to provide a reliable way of registering, deregistering and informing clients of servers available for your game(s).

Why NodeLS?

When developing a game, let's say a First Person Shooter, you might want to have clients host their own servers. These servers might be host-client ("listen") or pure dedicated instances. However, here comes the next problem...

How the heck do you display servers that are available for you to join?

Enter NodeLS. It's a flexible and open source server listing system that works with pretty much any software that can understand JSON. NodeLS also brings you assurance that you control the data that is being sent and received, not a third party other than the server provider you deal with.

Please consider a donation (see the Ko-Fi button above) if this server software is useful to you.

Support Update

While issue tickets are the preferred way of support, you may also ask for support on the Oiran Studio Discord. It may be a faster way of getting support if I'm not busy with other client tasks. Sometimes issue ticket notifications get snowed under a truck load of new email.

Features

  • Fast: We use NodeJS to power this baby.
  • OSS Core: Feel free to tailor it to your needs, it's open source. Find a bug? Fix it, shoot me a PR, let me review and if it looks good, congrats!
  • Game Engine Agnostic: Thanks to the HTTP API, any engine that can do HTTP requests can take advantage of NodeLS.
  • WebGL compatible: No complex magic required. NodeLS uses a simple API to query, add and remove servers.
  • Secure: ACLs (Access Control Lists) can be used as well as key authenication to prevent anyone adding/removing servers from your instances. Servers must provide a key in order to register, and rate limiting clients helps keep traffic floods at bay.
  • Configurable: Hard-coded options are kept to a minimum, allowing greater flexibility.

Non-Features

  • Matchmaking: Outside the realm that this program sits in.
  • Anything else that it doesn't offer.

Bug Fixes, New Features, etc

  • Found a bug? Please report it via the Issues ticket system. If you think that you can fix it then give it a shot. I'd really appreciate a pull request!
  • Refactors, Improvements, Tweaks: Improvements and refinements are welcome - open a issue and suggest your modifications or fork this project, improve it, then shoot in a PR.
  • Ooh, shiny new feature: New features are carefully considered. NodeLS tries not to be a bloated end product, but some features are nice to have...

Setup

Docker Support

TODO: Review docker support and update it

If you want to have everything handled for you and you're running a linux server, see the Docker support documentation file for more info. Please note that this will require some additional setup.

Requirements

  1. Node 16 or newer (most recent LTS is recommended)
  2. A server instance, be it Windows or Linux
  3. Some knowledge about programming, fair amount of patience and Git-fu

Make sure your installation of Node is functional before continuing!

Installation