Welcome Guest, Not a member yet? Create Account  

Git Good

Apologies for the pun in the Title. 

Just an idea for the owners to think about - when I was working with EchoTiger and Monkey on the Breach server, one thing that I found particularly frustrating was the need for making backups of files before doing any modifications to the files, as if we messed something up, it instantly caused issues for the server, and we'd need to scramble to make sure things were working correctly to prevent the server being shut for the day. 

I think it would be massively helpful for anyone doing dev work on any of the servers if a Version Control System, like Git / Mercurial was introduced. Benefits of this includes making it easier to try out new modifications to the server, but being able to quickly revert the changes back to a previous snapshot, having a systematic method of implementing changes (git commit, git push), and could even allow for a variety of different gamemodes. For example, with Breach, some people enjoyed playing "Classic" Breach, whereas others enjoyed the Modified version of Breach. It took me a full day to change from Modified to Classic Breach, due to the number of changes that needed to be made to the system. That's fine, but the main issue was then if we wanted to change back to the Modified version, it would have taken me a full day to reverse all the changes made, with the addition of including more bugs into the code.

Compare this to using a VCS like Git - I could have made sure there was a Commit/Snapshot of the server before modifying it. I could have then changed the server over the course of the day, and once I was satisfied with it, taken another snapshot. This is the cool part - we could then change between the two versions very easily, allowing for us to do a month of Classic, a Month of Modified, a month of Classic, etc.
Additional benefits include: All developers involved in the system learn skills that are useful in the Software Engineering field - knowing how to use Git always looks good.
Further, allows for easier development once everyone is used to it - E.g. On a quiet night, you lock the server, you make any modifications. Maybe the modifications work, maybe the don't. But if they don't, you can always revert back to the previous snapshot, saving time, effort, and stress about making sure the server is usable for people. 

This could even help if you're finding a large number of people are wanting to play - you can quickly revert back to the old snapshot, and re-open the server, while still saving all the work that you've done.
I feel there could be more uses than what I've just listed here.

I will admit, there are a few issues with this:
One is how it integrates into cPanel, seeing as that's how (I believe) most servers are being managed currently
Additionally, it would require some time and effort to implement in the first place, and would also mean any new staff would need to learn to use the VCS system before they can start properly developing.

However, I feel that the advantages outweight the cons.

For my servers that I manage, I already use git for myself. It is extremely helpful not just for updates but referencing what has changed. This allows the ability to look up these updates and reference what is needed.

Manager | Developer | ZS ('16-)
Manager | Developer | CWRP ('18-)
Admin | CWRP ('15-'16)


Yeah you use Git a lot if you do Software Engineering. I recommend it. It's a real pain when something happens. At least to can pin point it from the Git changes. +1 for that idea. I might actually start using Git for the servers I develop for. I do use it professionally for work. I miss you Juvare lol. We haven't talked in a few months now.

Breach - Developer
Murder - Head Admin & Developer
TTT - Trusted & Developer
Surf - Manager & Developer

Users browsing this thread: