Modding your i25 Server: Difference between revisions

From OuroDev
Callista (talk | contribs)
Created page
 
Callista (talk | contribs)
Clarification on building pre-reqs
Line 1: Line 1:
Due to the nature of the source and data we received for i25, modding your server is a little more ad-hoc than with the Ouroboros V2 setup. That said, it is still possible, and this guide should give you the tools you need to be able to do so.
Due to the nature of the source and data we received for i25, modding your server is a little more ad-hoc than with the Ouroboros V2 setup. That said, it is still possible, and this guide should give you the tools you need to be able to do so.


== Pre-requisites ==
==Pre-requisites==


=== i26 VM 3 ===
===i26 VM 3===
This will form the base on which you will build your mods
This will form the base on which you will build your mods


* [[Magnet:?xt=urn:btih:fdf01e5351979ba742ca01e1be60b353730eb9f8&dn=COH Server 2012r2 i26 VM3 - Hyper-V.7z&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://tracker.openbittorrent.com:80/announce|Community VM v3, Hyper-V (SCORE/i26)]]
*[[Magnet:?xt=urn:btih:fdf01e5351979ba742ca01e1be60b353730eb9f8&dn=COH Server 2012r2 i26 VM3 - Hyper-V.7z&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://tracker.openbittorrent.com:80/announce|Community VM v3, Hyper-V (SCORE/i26)]]
* [[Magnet:?xt=urn:btih:23cc7088150db5dafc58a9e6adb48db1c9700a7b&dn=COH Server 2012r2 i26 VM3 - VMWare.7z&tr=udp://tracker.openbittorrent.com:80/announce&tr=udp://tracker.opentrackr.org:1337/announce|Community VM v3, VMWare (SCORE/i26)]]
*[[Magnet:?xt=urn:btih:23cc7088150db5dafc58a9e6adb48db1c9700a7b&dn=COH Server 2012r2 i26 VM3 - VMWare.7z&tr=udp://tracker.openbittorrent.com:80/announce&tr=udp://tracker.opentrackr.org:1337/announce|Community VM v3, VMWare (SCORE/i26)]]


=== i25 Source code ===
===i25 Source code===
Make sure that you download the "Neptune" branch
Make sure that you download the "Neptune" branch


https://git.ourodev.com/score/SCoRE
https://git.ourodev.com/score/SCoRE


=== i25 Binning setup ===
===i25 Binning setup===
Make sure that you download the "Neptune" branch
Make sure that you download the "Neptune" branch


Line 20: Line 20:
<br />
<br />


== Procedure ==
==Procedure==
This procedure assumes that you are already running with the VM3, or your own setup and are relatively confident with managing and maintaining your setup.
This procedure assumes that you are already running with the VM3, or your own setup, and are relatively confident with managing and maintaining your server.


=== Building from source ===
===Building from source===
After cloning the repository, make any modifications to the source that you require, build the following solutions first:
After cloning the repository, make any modifications to the source that you require, build the following solutions first, note that you need to build ALL of the versions available for each, so for example Debug, Release, ReleaseTCG, ReleaseSSELTCG, etc:


3rdparty\cryptopp\cryptlib.sln
3rdparty\cryptopp\cryptlib.sln
Line 47: Line 47:
<br />
<br />


=== Binning ===
===Binning===
After cloning the repository, copy the debug exes you have created over the ones in the setup i25p2-bin-server\bin folder. If you are not updating source and only working on data then you don't need to complete this step the setup you have will work fine.
After cloning the repository, copy the debug exes you have created over the ones in the setup i25p2-bin-server\bin folder. If you are not updating source and only working on data then you don't need to complete this step the setup you have will work fine.


Line 76: Line 76:
Copy the contents of the binned folder (\bin & \server\bin) to your server data directly over writing those files already there.
Copy the contents of the binned folder (\bin & \server\bin) to your server data directly over writing those files already there.


=== Running templates ===
===Running templates===
Copy the mapservertemplates.exe from either your source download in \SCoRE\bin, or from the binning setup in \i25p2-bin-server\bin to your server bin directory.
Copy the mapservertemplates.exe from either your source download in \SCoRE\bin, or from the binning setup in \i25p2-bin-server\bin to your server bin directory.


Line 85: Line 85:
Wait for that to finish running.
Wait for that to finish running.


=== Piggs and patch ===
===Piggs and patch===
In your server browse to the patch directory, edit the makepigs.bat file and remove the text after version= so that it is only blank.
In your server browse to the patch directory, edit the makepigs.bat file and remove the text after version= so that it is only blank.



Revision as of 05:50, 22 July 2021

Due to the nature of the source and data we received for i25, modding your server is a little more ad-hoc than with the Ouroboros V2 setup. That said, it is still possible, and this guide should give you the tools you need to be able to do so.

Pre-requisites

i26 VM 3

This will form the base on which you will build your mods

i25 Source code

Make sure that you download the "Neptune" branch

https://git.ourodev.com/score/SCoRE

i25 Binning setup

Make sure that you download the "Neptune" branch

https://git.ourodev.com/score/i25p2-bin-server

Procedure

This procedure assumes that you are already running with the VM3, or your own setup, and are relatively confident with managing and maintaining your server.

Building from source

After cloning the repository, make any modifications to the source that you require, build the following solutions first, note that you need to build ALL of the versions available for each, so for example Debug, Release, ReleaseTCG, ReleaseSSELTCG, etc:

3rdparty\cryptopp\cryptlib.sln

3rdparty\zlibsrc\zlibvc.sln

Utilities\StructParser\StructParser.sln

Then you can build all the binaries from these solutions:

MasterSolution\MasterSolution.sln

AuthServer\src\AuthServer\AuthServer.sln

You will need to make debug exes for the binning process, and release exes for your client and server.

Key point: You need to build this using Visual Studio 2008 edition.

Rename the debug mapserver.exe and cityfheroes.exe to mapserver_debug.exe and cityofheroes_debug.exe and copy them to the i25p2-bin-server\bin folder in your binning setup.

Copy the release exes to your server bin folder, and the cityofheroes.exe is also copied to your client download location.

Binning

After cloning the repository, copy the debug exes you have created over the ones in the setup i25p2-bin-server\bin folder. If you are not updating source and only working on data then you don't need to complete this step the setup you have will work fine.

Make any changes you want to the data files, and then run through the batch files:

1-delete-old-bins.bat

2-rebuild-server-bins.bat

3-rebuild-client-bins.bat

8-copy-product-catalog.bat

9-copy-binned-files.bat

If you are making quick updates for testing you can instead run:

6-update-server-bins.bat

7-update-client-bins.bat

8-copy-product-catalog.bat

9-copy-binned-files.bat

However, use this only for testing, the update is much quicker than the full rebuild, but better avoided on production systems. Once you are satisfied with your updates run a full re-binning.

Copy the contents of the binned folder (\bin & \server\bin) to your server data directly over writing those files already there.

Running templates

Copy the mapservertemplates.exe from either your source download in \SCoRE\bin, or from the binning setup in \i25p2-bin-server\bin to your server bin directory.

Open a command prompt on the server, cd to the directory that the mapservertemplates.exe is stored in and run

mapservertermplates.exe -productionmode -templates

Wait for that to finish running.

Piggs and patch

In your server browse to the patch directory, edit the makepigs.bat file and remove the text after version= so that it is only blank.

Once that is done, run the makepiggs.bat file and wait for it to finish. It will populate the patch directory with 23 piggs.

Copy these piggs to the server's piggs directory, also copy them to your client patch folder (eg \i26\)


You have now updated your server!