Current Project Structure
Some crucial information:
Below you can see how advanced and big our
project is. I post this information here for you to see that further
development is not a trivial task, and we need to take steps to make it all
easier for everyone involved. I am aware that all of you wait for next release,
but I've decided that before we release anything, we have to clean things up a
bit, because now 90% time that could be spent on development is lost for
managing/administrative tasks.
1. Current Project Structure:
· Reborn Patch
· Serverside
· PK3 Modifications
· Windows
· Current server-only modifications (C)
· Clientside-Serverside bridge (C)
· Linux
· Current server-only modifications (C)
· Clientside-Serverside bridge (C)
· Clientside
· PK3 Modifications
·
Windows
MoH:RB Launcher & AutoUpdater (C#)
MoH:RB Exe Loader (C++)
MoH:RB Client Engine
· Reborn Masterserver
· Packet Encode/Decode Library (C)
· Engine (Python)
· Reborn Combat Centre
· Backend (Java/Grails)
· Frontend (JavaScript Custom Framework + HTML + CSS)
· Reborn Mod Framework (Morpheus Script)
Every node needs to be compiled, versioned,
built, packaged and put on some sort of server to work. This takes a lot of
time, even more when projects have dependencies like Current ServerSide Reborn
<-> Serverside/Clientside Bridge <-> ClientSide Stuff or
Client/Server .pk3 files.
2. Additional Tasks:
· Homepage
· Change information about current versions every release
· Forum
· Wiki
· xNULL FTP
· Upload modified Homepage related files every release
· Upload release packages
· Upload files to AutoUpdate mechanism every release
· Upload changes to mohreborn.com
· xNULL Dev Server
· GitHub
· Managing Reborn MasterServer
Now mix both listings together as they are
connected and you can clearly see the amount of work and effort that have to be
put every single release or small website change or whatever. Add checking
logs, managing passwords to all these server (FTP, Git, SSH, Databases, Emails)
and.. well.. you get the picture.
Sooo.. Steps I want to take:
1. Release updated serverside version - it
won't include any of Leyok's modifications. It's old base with just crucials
fixes and few addons + support for new masterserver.
2. Release beta client with new features
3. Finish setting up GitHub - we have now problem
with emailing service.
4. Set up project on GitHub with all dev
information:
· With all passwords & logins
· IP addresses
· Configurations
5. Set up Git project for every source code we
have.
6. Set up Jenkins for build automation so with
one button click it will:
· Grab code from Git
· Tag it
· Automatically compile and build for windows and linux
· Upload releases to FTP servers
· Update versions, website files etc.
7. Take Leyok's modified Reborn Patch, make it
stable and work under Linux, port changes from old base.
8. Merge PK3 fixes into one file, shared
between server and client.
9. Restructure folder scheme for serverside
and client side patch so it's more clean and separated from stock 1.11.
10. Create installers and uninstallers +
install scripts for Linux
11. Start to work more efficiently in new
environment