sh3nl0ng
3 months ago

long-running processes and visibility

Posted 3 months ago by sh3nl0ng

Hey guys, I've been inspired by the laravel ecosystem into building a personal game server management system for this stupid e-sports hobby.

For some reason I've got it in my head that I want to use PHP for shelling into host machines to handle the provisioning and deployment of these game servers.

I've come up with three distinct plans and made action on each, but when it gets hard I second guess myself with doubts and confusion which make me pick another route and it's an ugly vicious cycle.

Please help me :}

  1. Laravel app uploads a bash script onto the remote server, executes that script then bails on the session.

  2. Create a secondary "extended" queue connection that I can put known long-running messages on and otherwise just keep abusing Laravel into doing my dirty work like I always do.

  3. Use some message queue to send the chore to a ReactPHP loop (like the one in laravel-websockets) that handles all of the SSH-y stuff.

All three options work, I've made all three of them work, but making them work well is a lot of freaking work and I just want to pick one and move onto the vicious cycle and get out of this one.

Edit for what is probably important context. This is a personal project that I would only expect to be maintaining a very limited number of game host servers. It's not meant to be a one-size-fits-all server management tool like Forge or your typical "game server panel", I just want something that will alert me if there's a problem rather than me hoping the game server comes up.

Please sign in or create an account to participate in this conversation.