TUTORIAL - How to use an SVN
Hello everyone. Recently I have been doing a lot of server work for my upcoming game project and team, so I also thought I'd share a few things with other people on how to use an SVN, what it is, and how it can immensely benefit people that work in a team on any kind of project, including Halo CE. It's one thing I always wish I had used with Lumoria and so many things would have been addressed more closely if we had used it.
Please keep in mind I also have my very own server machine running on my network using Windows Server 2008, so a few things might be a bit different if you attempt to run it on your own machine or on regular Windows. But the concepts are very similar.
What is a SVN? -
You can use an SVN to keep track of files and other data while collaborating with partners. No more sending files through Skype, Xfire, hosting them online, etc. They are all hosted on a repository, and each person connected to the repository also has all of the files locally on their machine.
By using an SVN, you can commit and update files. This way if a team member has made some changes to some files, he can simply commit the changes to the SVN and you can update your local copy so they match. Your files will always be up to date.
How do I set this up?
This is the complicated bit and takes a while. You will need at the very least two programs.
1. Visual SVN ->
http://www.visualsvn.com/server/download/ 2. Tortoise SVN ->
http://tortoisesvn.net/downloads.html Note*: I also recommend you use a different machine for hosting the files, as it will essentially become a dedicated computer for it. If you do this, you can also install Windows Server 2008, which allows you to create windows users with passwords and plenty of other complex options for control over the people who will be reaching your data. Lastly, by using a dedicated machine, every single time you commit your files you will essentially be creating two working copies of your files, one that your editing and one that is always backed up on the server. You can also use VisualSVN to create more backups of your files. Your files are also very much protected by being in repository and can't just be accessed normally through the normal Windows Explorer.
Once you have the two above programs installed, create a new Repository using Visual SVN. You can do this by right clicking Repository's in the tree view and selected "Create New Repository". Make sure to unclick create structure folders, as these are unnecessary for what we are trying to accomplish.
On your local normal machine that you will be doing general work on, you'll need to create a new folder (preferably something like "SVN"). Inside of that folder, you can make another folder with the same name as your repository you just made.
Right click your new folder and select "SVN Checkout". A dialog box will pop up asking for an IP path. Assuming this is on your own network, you'll need to use: https://192.168.1.111/svn/"repo name here". "repo name here" should be replaced with whatever name you gave your repository. If your setting this up for Halo, it might be tags, data, or something like HaloCE to contain both tags and data! (to connect by defualt to a linksys router, go to your web browser and type: 192.168.1.1. A dialog box should pop up for user/pass, just type admin for both and hit okay)
Note*: The 111 extension is created in your router. You'll also need to open some ports in your router/server as well that add to this, on both TCP and UDP. I used port range 443 for my server personally, which seems to work. I don't know a whole lot about port forwarding, but hey, it works!
Now that you have the repository synced to your local machine, you should also try and have a team member connect as well. You'll need to figure out your IP address for this, and itll be something along the lines of: https://ipaddresshere/svn/"repo name here"
If you set up Windows Server and added some windows users, they will also be most likely prompted with a username and password they must enter to continue.
Note*: You can create users in Windows Server 2008 by going to "Active Directory Users and Computers". You can set up administrators and regular users and manage accounts from that program. I won't go too in depth on this as this is not what the tutorial covers, however, I highly recommend setting up something like this for privacy and file protection. You can set up user names and passwords, so whenever anyone trys to connect to your server network, they will be halted with a dialog box asking for their credentials. It will also pop up in any web browser as well (you can view files online using Visual SVN!)
Once your new repo is set up, go ahead and put whatever files you want inside of there, then right click your folder we checked out and hit "SVN Commit". This will upload all the files to your repository! Thats it!
It might not seem like a lot but it can be to get set up. However, the results are extremely rewarding when used in these scenarios and can very much speed up the process of content creation. You can also use these kinds of servers for hosting things like a dedicated Halo server or Minecraft server for example, warranted that your internet connection is powerful enough to do so.
I hope this tutorial helps out people who are attempting or thinking about making the change to this type of file system, but don't know where to start or how it works. Or maybe you just got a good read out of it all!
--
Lastly, if I left any details out, please be sure to point them out. Or, if you have questions, feel free to ask me! You can also contact me more directly on any issues too at xfire (higuy5).
Edited by Higuy on Dec 9, 2013 at 10:36 PMEdited by Higuy on Dec 9, 2013 at 10:40 PM