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:

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.