How should I set up my Dev server?

New server dev here, trying to figure out how to set up my servers/worlds.

This is likely a somewhat common setup, but here's my planned server set up based on my current limited understanding:
Server 1: Lobby
Server 2: Player worlds. Main survival world, resource worlds, spawn world etc.
Server 3: Dev, copy of Server 2 stuff for any dev work.

This will be Paper btw. Server 1 and 2 would be connected through Velocity. Hopefully 3 too but not sure how it works. Multiverse manages the multiple worlds within a single server. Server 1 doesn't need any plugin data from Server 2, such as ranks etc. Will be a separate space.

The idea is that I want to be able to code on my local machine, push it to a git repo in the dev branch, then have that code be integrated into the dev server. Whether that's some automated scripts or whatever.

Then, when testing & stuff is done, merge the dev branch with the master branch, and have that update & restart server 2. Then have a new copy of the new server 2 created, to become the new server 3 dev environment. I've seen some plugins to help with the git stuff but I could also just make scripts myself for it.

Then I think you have all this on a dedicated or vp server (would also appreciate any advice here).

Questions:
  • does this make sense? Have I missed anything major here?
  • Will having velocity in this set up drastically reduce the choice of plugins I can use on Server 2, because of "compatibility" concerns? To me it doesn't make sense that a plugin not be compatible, since we're not sharing plugin data across servers?
  • if you know of any solutions to the git stuff I'd be interested to hear. The MineCICD plugin looks promising on spigot for example.
Thanks very much in advance for any help 👍
Was this page helpful?