Updated Ground Up Windows Install Rework (markdown)

Uleat 2019-07-05 21:48:06 -04:00
parent 369c92b943
commit f1154bcce7

@ -5,10 +5,9 @@
**Please direct any questions to our server support channel in **Please direct any questions to our server support channel in
[[discord](https://discord.gg/QHsm7CD)].** [[discord](https://discord.gg/QHsm7CD)].**
--- ---
## Compiler Setup # Compiler Setup
The current c/c++ support standard of the EQEmulator server code base mandates the use of Visual Studio 2013 or later compilers. The current c/c++ support standard of the EQEmulator server code base mandates the use of Visual Studio 2013 or later compilers.
@ -18,7 +17,7 @@ If your system does not meet the above requirements, or you are/would like to us
This setup assumes an install on a 64-bit Windows operating system with 32-bit target binaries. This setup assumes an install on a 64-bit Windows operating system with 32-bit target binaries.
* ### Verify System Environment Variable %Path% Length ## Verify System Environment Variable %Path% Length
Sometimes an automated server installation will fail due to the %Path% variable being full. This can happen with a manual installation as well. Sometimes an automated server installation will fail due to the %Path% variable being full. This can happen with a manual installation as well.
@ -46,7 +45,7 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
If your selection count is greater than 768 characters, you may need to setup an alias to prevent corruption of the %Path% variable. If your selection count is greater than 768 characters, you may need to setup an alias to prevent corruption of the %Path% variable.
* ### Required Programs ## Required Programs
Some of the pre-requisites for compiling binaries are the same as running a server. Some of the pre-requisites for compiling binaries are the same as running a server.
@ -74,15 +73,15 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
The above list of programs is known to work for compiling working server binaries. The above list of programs is known to work for compiling working server binaries.
* ### Install Visual Studio ## Install Visual Studio
During the install process, ensure the option for `Desktop development with C++` is checked. During the install process, ensure the option for `Desktop development with C++` is checked.
This package is required by Visual Studio to compile c/c++ code and by CMake to determine available compiler options. It will cause CMake file generation to fail, if not enabled.
![](https://user-images.githubusercontent.com/3311166/60468475-b40e3b80-9c27-11e9-8b2b-462bd0f22165.png) ![](https://user-images.githubusercontent.com/3311166/60468475-b40e3b80-9c27-11e9-8b2b-462bd0f22165.png)
* ### Install MariaDB _Note: This package is required by Visual Studio to compile c/c++ code and by CMake to determine available compiler options. It will cause CMake file generation to fail, if not enabled._
## Install MariaDB
This installation is self-explanatory. This installation is self-explanatory.
@ -90,39 +89,39 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
At the end of the installation process, you will be prompted to install HeidiSQL. It is **HIGHLY** recommended that you install this program. At the end of the installation process, you will be prompted to install HeidiSQL. It is **HIGHLY** recommended that you install this program.
* ### Install Perl 5.12.3 (32-bit) ## Install Perl
This installation is self-explanatory. This installation is self-explanatory.
_Note: It is recommended that you install in the root directory (_`c:\`_) to avoid possible issues._ _Note: It is recommended that you install in the root directory (_`c:\`_) to avoid possible issues._
* ### Install CMake ## Install CMake
This installation is self-explanatory. This installation is self-explanatory.
* ### Install Git ## Install Git
This installation is self-explanatory. This installation is self-explanatory.
* ### Install TortoiseGit (optional) ## Install TortoiseGit
This installation is self-explanatory. This installation is self-explanatory.
* ### Restart Computer ## Restart Computer
You will need to restart your computer to ensure that all of the %Path% additions are loaded into memory. You will need to restart your computer to ensure that all of the %Path% additions are loaded into memory.
* ### Acquiring the Code ## Acquiring the Code
At this point, you will need to make a decision on how you want to manage your code. At this point, you will need to make a decision on how you want to manage your code.
There are three options: There are three options:
* Option 1 - Retrieve the code as a one-time download (unmanaged - not recommended) 1. Retrieve the code as a one-time download (unmanaged - not recommended)
* Option 2 - Create a local repository from the parent EQEmulator project that can be updated, managed and maintained (recommended) 1. Create a local repository from the parent EQEmulator project that can be updated, managed and maintained (**recommended**)
* Option 3 - Create a local repository from a fork of the EQEmulator project that you manage (optional - select only if you want to contribute back to the parent project) 1. Create a local repository from a fork of the EQEmulator project that you manage (optional - select only if you want to contribute back to the parent project)
_Note: If you choose to create a fork of the EQEmulator repository, you will need to create a_ [[github.com](https://github.com/)] _account._ _Note: If you choose to create a fork of the EQEmulator repository, you will need to create a_ [[github.com](https://github.com/)] _account._
@ -144,7 +143,7 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
* Move on to [[Download Dependencies](Ground-Up-Windows-Install-Rework#download-dependencies)] * Move on to [[Download Dependencies](Ground-Up-Windows-Install-Rework#download-dependencies)]
For options 2 & 3, go to the EQEmulator server code repository web page at [https://github.com/EQEmu/Server](https://github.com/EQEmu/Server) For options 2 & 3, go to the EQEmulator server code repository web page at [https://github.com/EQEmu/Server](https://github.com/EQEmu/Server).
If you chose option 3 and are creating a fork, click on the fork button to add the repository to your github account. You should be redirected to your fork's main repository page. If you chose option 3 and are creating a fork, click on the fork button to add the repository to your github account. You should be redirected to your fork's main repository page.
@ -158,7 +157,7 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
_Note: It is helpful to create a shortcut to the_ `account` _directory and place it on your desktop._ _Note: It is helpful to create a shortcut to the_ `account` _directory and place it on your desktop._
* ### Download Dependencies ## Download Dependencies
Library dependencies can be downloaded from [[here](https://github.com/EQEmu/eqemu.github.com/raw/master/downloads/WindowsDependencies_x86.zip)]. Library dependencies can be downloaded from [[here](https://github.com/EQEmu/eqemu.github.com/raw/master/downloads/WindowsDependencies_x86.zip)].
@ -166,7 +165,7 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
Just place this download inside of the `dependencies` folder and unpack its contents. Just place this download inside of the `dependencies` folder and unpack its contents.
* ### Running CMake ## Running CMake
CMake's default options are adequate to configure and generate the files needed for Visual Studio. CMake's default options are adequate to configure and generate the files needed for Visual Studio.
@ -194,7 +193,7 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
* `EQEMU_BUILD_CLIENT_FILES` [_enabled_] Builds binaries used to import/export client support files * `EQEMU_BUILD_CLIENT_FILES` [_enabled_] Builds binaries used to import/export client support files
* `EQEMU_BUILD_LOGIN` [_disabled_] Builds the login server (this guide makes use of the login server - change this option to _enabled_) * `EQEMU_BUILD_LOGIN` [_disabled_] Builds the login server (this guide makes use of the login server - change this option to _**enabled**_)
* `EQEMU_BUILD_LUA` [_enabled_] Compiles server code with Lua support * `EQEMU_BUILD_LUA` [_enabled_] Compiles server code with Lua support
@ -224,17 +223,19 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
You are now ready to open Visual Studio and compile your code! You are now ready to open Visual Studio and compile your code!
* ### Compiling Code ## Compiling Code
navigate through desktop shortcut to `c:\<account>\Server\build` To open the Visual Studio solution file that we created with CMake, navigate through the desktop `account` folder shortcut to `c:\<account>\Server\build`
right-click on `EQEmu.sln` and select `Open with` >> `Microsoft Visual Studio 2017` There, you will find the `EQEmu.sln` file.
upon loading, Intellisense will begin mapping out the entire project. allow a few seconds for this process to finish. the lower left-hand corner will display "Ready" when this process has completed. Right-click it and select `Open with` >> `Microsoft Visual Studio 2017`
Upon loading, Intellisense will begin mapping out the entire project. Allow a few seconds for this process to finish. The lower left-hand corner will display "Ready" when this process has completed.
Visual Studio does not honor CMake's `CMAKE_BUILD_TYPE` variable. You will need to manually set this to the desired build type before compiling your code. Visual Studio does not honor CMake's `CMAKE_BUILD_TYPE` variable. You will need to manually set this to the desired build type before compiling your code.
<!-- image of build type drop-down box --> ![](https://user-images.githubusercontent.com/3311166/60749564-bfd06980-9f69-11e9-9688-a2efd8485ea5.png)
There are 4 options: There are 4 options:
@ -244,22 +245,26 @@ This setup assumes an install on a 64-bit Windows operating system with 32-bit t
* `Release` - similar to `RelWithDebugInfo`..but, without access to debug symbols (not recommended) * `Release` - similar to `RelWithDebugInfo`..but, without access to debug symbols (not recommended)
* `MinSizeRel` - probably not a good selection (due to over optimization?) * `MinSizeRel` - Same as `Release` with the exception of trading off faster code for smaller size (not recommended)
you may now click `compile` _Note:_ `Debug` _is preferred for a local test server._
<!-- image of menu bar build option drop-down box --> To compile your server code, you have two choices:
the compiled code will be located in the `c:\<account>\Server\build\bin\<build_type>` directory * Use the menu path under the top menu. `Build` >> `Build`
[walk-through] * Use the menu path by right-clicking under `Solution Explorer`. `Solution 'EQEmu'` >> `Build`
* ### Code Maintenance _Note: Both paths result in the same action. Use whichever you are more comfortable with._
![](https://user-images.githubusercontent.com/3311166/60749565-c3fc8700-9f69-11e9-8b54-fa331602d8c3.png)
The compiled code will be located in the `c:\<account>\Server\build\bin\<build_type>` directory.
## Code Maintenance
[final thoughts...] [final thoughts...]
--- ---
## Local Server Setup # Local Server Setup