Skip to content

Windows Installation

reiichi001 edited this page Nov 26, 2018 · 41 revisions

Installing Sapphire on Windows

MAKE SURE YOU HAVE THE DEPENDENCIES LISTED ON THE README FIRST

  1. Windows Linux Subsystem
  2. Prerequisites
  3. Obtaining the Source
  4. Setup Development Environment
  5. Build the Project
  6. Build the Launcher
  7. Configuration
    1. Configure Sapphire Servers
    2. Import the Database
  8. Running the Server

Windows Linux Subsystem

If you're not sure what this is, you can skip this section and continue onto the general Windows installation guide, otherwise keep reading.

Sapphire will also operate correctly (save for unforeseen issues) within the Windows Linux Subsystem (WSL) and is actively tested in this environment. While setup will not covered in this guide, please note that it does work and you may prefer to use this environment for development over the standard Windows development environment.

Prerequisites

Installation of these will be explained later in the guide.

Obtaining the Source

Git command line

  1. Open git bash and navigate to a directory of choice

  2. Clone the Sapphire source, including submodules

    git clone --recursive https://github.com/SapphireMordred/Sapphire.git

    2a. To update the main Sapphire source, open a git bash shell from inside the Sapphire source directory and run the following

    git pull
    git submodule update --init --recursive

    Git commands for Sapphire

  3. Clone the Sapphire Launcher source

git clone https://github.com/SapphireMordred/SapphireLauncher.git

Sapphire launcher

Visual Git client

Using GitKracken as example:

  1. Open GitKracken, and select to clone new repository from https://github.com/SapphireMordred/Sapphire.git and choose a folder to save the files.

    GitKracken1

  2. Choose "yes" to initialize submodules.

    2a. To update the source, you can visually click on a newer commit or use the git pull button. To update the submodules, right click on the submodule and choose the "update" option.

    GitKracken2

  3. Clone the Sapphire Launcher repository from https://github.com/SapphireMordred/SapphireLauncher.git

Setup Development Environment

Install MySQL 5.7

  1. Download the MySQL 5.7 installer (web or full is fine) 1a. If you download the web installer, you will need to manually filter MySQL Versions Selector

  2. Select Custom as your installation type.

  3. Choose the latest version of MySQL 5.7 x86.

    3a. If you only need development headers and libraries, you can deselect everything else. Justlibs

    3b. Otherwise, make sure to install the server and server data files too.

  4. Wait for installation to complete.

    4a. If you installed a server, you will be guided through setup.

    4b. If you only installed development headers and libraries, you can cancel out of product configuration.

Installing Visual Studio 2017 with C++ and C# support

  1. Download the Visual Studio 2017 installer and open it. (The community edition is fine!)

    VS2017 download

  2. Run the installer selecting the .Net Desktop development and Desktop development with C++ options.

    VS2017 Install 1

  3. Switch to Individual components. You'll need to also select NuGet for installation. Select any additional features as needed. You can always add them later.

    VS2017 Install 2

  4. Wait for the installation to complete. You will be prompted to restart your computer. ​

Build the Project

  1. Open Visual Studio 2017

  2. Using the "Open Folder" file option, browse to the Sapphire source code folder. The project should open and CMake may begin generating a cache automatically.

    2a. If you're using external CMake, open the generated SLN file instead.

  3. If a CMake cache was not generated, select a Build Configuration. 3a. Your MySQL installation will need to match your Build Configuruation. (x86 requires 32-bit MySQL. x64 requires 64-bit MySQL).

  4. Build the solution. Depending on how your Visual Studio is configured, you can build by: CMake menu > Build All Build menu > Build All Right-click the CMakeLists.txt file and select Build

  5. Files will be generated in the Sapphire source folder\bin

Build the Launcher

  1. Open the Sapphire Launcher source folder.

  2. Open the SapphireBootWPF.sln solution file. It should open Visual Studio 2017.

  3. Right-click the Solution and select Restore NuGet Packages.

    Launcher Restore NuGet

  4. Set your build target. The defaults are Debug and Win32

  5. Build the launcher.

  6. You can find the launcher executable files in Sapphire launcher\bin[x86/x64]\[Debug/Release] accordingly.

Configuration

Configure Sapphire Servers

  1. Open the Sapphire source\bin\config folder.
  2. Copy config.ini.default to config.ini and open your copy to personalize it.
  3. Adjust the MySQL settings to match your MySQL server. Host - the IP of the machine your MySQL server is running on. Default: 127.0.0.1 Port - the port that the MySQL server can be accessed on. Default: 3306 Database - the database name for your Sapphire server. Default: sapphire Username - the username for your MySQL server. Default: root Pass - the password for your MySQL server. Use the password you set during MySQL Server installation. If you used a pre-packaged MySQL server, the default root password may be blank or vary.
  4. Adjust the DataPath's of the server's settings.xml, to your FFXIV installation's game\sqpack\folder. Double backslashes are required. This will need to be adjusted to C:\\Program Files (x86)\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack if you have installed FFXIV to its default location.
  5. Adjust the ZoneHost, LobbyHost, and RestHost IP addresses if needed. For a local server for testing, keep these as 127.0.0.1
  6. Adjust any other server-specific configuration in their appropriate sections.

Import the Database

Bash CLI

  1. Go to the Sapphire source\sql folder.
    1. Edit import.sh to match your environment. These settings will assume you are running all servers on the same computer you're currently using. The command paths may need to be adjusted to your environment. IMPORT_PATH="full path to your Sapphire source folder\\sql." Note: This path needs to use double forward slashes. Ex: C://Users//[your username here]//Documents//Sapphire//sql// USER=your MySQL username PASS=your MySQL password (can be blank) DBNAME=your Sapphire database name
    2. Run the import.sh file.

GUI Client

Using a graphical MySQL client such as HeidiSQL:

  1. Download HeidiSQL. You can install it or use the Portable installation.

  2. Run HeidiSQL and add a new server session. Adjust the settings to match your MySQL server. Then click Open. Hostname / IP - the hostname or IP of your server default: 127.0.0.1 User - the username for your MySQL server. Default: root Password - the password for your MySQL server. Use the password you set during MySQL Server installation. If you used a pre-packaged MySQL server, the default root password may be blank or vary. Port - the port that the MySQL server can be accessed on. Default: 3306

  3. Create a new database named sapphire. The default options are fine. Note: If you want to name your database something else, adjust the other config above.

    new db

  4. Select the sapphire database so it is highlighted. Then go to File > Run SQL File

    run sql 1

  5. Navigate to your Sapphire source\sql folder and select all of the files. HeidiSQL will then run each file on the sapphire database.

    run sql 2

  6. Refresh HeidiSQL to verify the import was successful. You may need to run the update.sql file again if it contains any data.

    db import

Running the Server

  1. Start your MySQL server if it is not running.
  2. Start sapphire_lobby.exe Note: You may be prompted by Windows Firewall to allow access.
  3. Start sapphire_api.exe Note: You may be prompted by Windows Firewall to allow access. Note 2: The REST server requires Port 80 to function. Ensure no other programs are using this port like Skype, Apache/httpd, etc.
  4. Start sapphire_zone.exe Note: You may be prompted by Windows Firewall to allow access.
  5. Create a folder called "log" if it does not already exist. The servers will crash if your file permissions prevent creating this folder.

Connecting to a Server

  1. Open the Sapphire Launcher launcher 1

  2. Click on the gear in the top right to enter the Launcher settings launcher 2

  3. Enter the URL to connect to your REST server. Default: http://localhost/login.html Note: Press Check availability to confirm your URL works.

  4. Navigate to your FFXIV installation and select the ffxiv.exe for DirectX9 mode or ffxiv_dx11.exe for DirectX11 mode. Note: the default path is C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game

  5. Select your Expansion level and Language.

  6. You should be greeted by the Sapphire Login screen.

    launcher login

  7. Create an account if needed and login.

FFXIV Sapphire

Deprecated (4.0~5.58)

Getting Started
About
Installation

Installing
Linux
Mac
Windows

Developing
Actor Control
Scripting

Administration
Debug Commands
GM Commands

Other
PS4 Support

Clone this wiki locally