2

Most of the web stuff I have done in the past have been PHP, Wordpress, cgi, etc. I read about nginx and was very impressed by what it accomplished in the last 20 years. Now I have a desire to play with this tech for fun.

What I want to do:
- create, manage, and launch minecraft servers
- provide a web interface for managing servers (I would like to learn how to make the server use the infrastructure of nginx to be managed like its other services)
- make this packaged so others can use this (probably on github)

I don't know anything about nginx other than it is really really cool, can serve massive amounts of web pages, and can do a whole lot more than that.

Question:
Is nginx suitable for this? Is this a big learning curve? Will I have fun doing this?

I am currently running a multi-instance minecraft server being managed by a piece of software called Crafty Controller. It is really neat. However, I am finding it buggy. I also see that the next version of this software will be behind a patreon. This is really disappointing. So this is spurring me to consider building something fun for myself, and if useful, for others.

I will most likely do very barebones and inflexible web interface that just gets the job done. I know enough to get by. So I assume I have a large learning curve ahead to do this.

Any advice? Is this going to turn into a large time sink?

Comments
  • 1
    I'm not sure if nginx is the ideal tool for the job, but it certainly can do the job.
    But I believe it to be a huge time investment no matter how you do it.
    Paying for a patrion is much easier and would be cheaper if you had been commissioned to do the work.

    I don't want to discourage you. After all I wasted a lot of time to setup a CI/CD to build, automatically test and deploy a minecraft server with a custom set of self written plugins to a docker swarm. That was fun, so do whatever you like.
  • 1
    nginx is a webserver. i would create a software that uses nginx for delivering the website, systemd(if we want to have all serversnstances on one/few servers) to start and stop instances and create sockets to communicate with the instances. the software would have a routine for monitoring the servers and to ban/unban users globally. communication from the users with the servers would run over websockets.
    i would implement it in golang, since i like the language and it would just need a goroutine to implement a communication service with the server. nginx would just be a tls terminator and at maximum a assets deliverer.
Add Comment