Compiling

From RPC Test Wiki
Jump to: navigation, search

Compiling from source

Compiler Requirements

Compiler/IDEs
Name Support Level Notes
Visual Studio 2017 Officially supported Users will need to manually select the NuGet and

All .Net 4.5 and 4.6 modules when installing.

Visual Studio 2015 Officially supported
Visual Studio 2013 Works/Unsupported Users may need to install a modern compiler via NuGet,

or will receive errors from the source.

Visual Studio 2012 (or older) Unsupported

Compiler Addons
Name Version
NuGet 3.4 (or newer) Officially supported
NET Framework 4.5 Officially supported




Compiling

Getting the Source Code

Via Sourcetree
1. Download and install SourceTree
2. [sourcetree://cloneRepo/https://bitbucket.org/Ioncannon/ffxiv-classic-server.git Clone in Sourcetree]
3. Select folder to clone source code to
Manually via Bitbucket
1. Go to the Server source code
2. Click the "Downloads" button on the sidebar
3. Click "Download Repository"
4. Extract to desired folder

Pre-Compilation Steps

1. Navigate to the location the game client has been installed to and copy the following file:
<FINAL FANTASY XIV client install location>\client\script\rq9q1797qvs.san
2. Navigate to the location of the server source code and rename rq9q1797qvs.san to:
<Classic Server source location>\data\staticactors.bin

Building

1. Set up your compile environment/IDE to support compiling NET 4.5 (the 4.5.2 and 4.6 targetting packs are being used as of this writing.)
2. Open FFXIVClassic.sln from where the source code was copied to in the previous steps
3. Get the dependencies via NuGet
Select the Solution Explorer Tab
Right Click Solution 'FFXIVClassic' (5 Projects)
Select Restore NuGet Packages
VS2017 03 Restore NuGet.jpg
4. Select Debug/Release (as desired)
5. Go to the Build Menu and select Build Solution
Note: You do not need to do this step until you have finished configuring your server below
6. If everything compiled correctly, the output log should look like:

========== Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========