Volume 2 Server Setup
From OuroDev
Required Software
- Ouroboros Volume 2 Binaries. For this guide, we will assume that you are installing them into C:\Ouroboros. You can either:
- Download a released version of Volume 2 (not yet available)
- Follow Volume 2 Build to compile it from source, then copy the contents of the bin directory to c:\Ouroboros
- Database schema definitions. For now, get them from https://git.ourodev.com/CoX/Source/src/tag/v2-i1.0.0/Assets/DBSchemas
- SQL Server 2012 or later (Express is good enough for development)
- SQL Server Management(SSMS)
- Download the Issue 24 client and data files - this is not the SCORE client/data.
- Download CoHDev_Source_Files_Current(Updated).zip.
- Download ServerData.7z.
Install SQL Server 2017 Express
- You can install SQL Server pretty much on the default settings.
- Select Basic under installation type:
- Agree to the EULA if you want to use SQL Server.
- Tell the server where to install files. I changed this for ease on my system.
- It should begin installing and eventually you should see "Install has completed successfully". Click close.
- Select Basic under installation type:
Install SQL Server Management(SSMS)
- You can install SQL Server Management on default settings.
- Select the location you'd like to install SSMS to. The default is fine.
- It will take awhile to install and you'll see a little progress bar letting you know whats going on
- Eventually it will ask you to reboot the system. Might as well as do that now.
- Select the location you'd like to install SSMS to. The default is fine.
Setup Server Files
- Create a directory in C:\Ouroboros called data.
- Open ServerData.7z and extract all files into C:\Ouroboros\data (the newly created directory).
- Open CoHDev_Source_Files_Current(Updated).zip.
- Extract "i24 Server and Client Piggs (extracted with CoHTools)" into C:\Ouroboros\data.
- Copy maps.db from "map.db (modified, working on current VS2010 build)" and place it in C:\Ouroboros\data\server\db, overwriting the old maps.db
- Copy the piggs folder from your i24 client directory and place them in C:\Ouroboros\. You should end up with C:\Ouroboros\piggs\ populated.
- Create a directory in your C: drive called "CoH_Data" and another directory inside that, called "attributes" (C:\CoH_Data\attributes).
- Run this in a command prompt:
cd Source\bin
.\mapserver.exe -productionmode -templates
- Copy all files from C:\CoH_Data\attributes and place them into C:\Ouroboros\data\server\db\templates.
- Run this in a command prompt:
- Open C:\Ouroboros\DBSchemas and execute all the .sql files in the directory. You may need to change the file path -- anywhere works. Drop old database references before if there are any.
Server Configuration
- Navigate to C:\Ouroboros\data\server\db
- Open up auction_server.cfg(I25_auction_server.cfg), account_server.cfg(I25_account_server.cfg), chat_server.cfg(I25_chat_server.cfg), and servers.cfg(I25_Server.cfg).
- You can change the password to whatever you would like. For this example I will be just using "YOURL33TPASS!".
- You will see something like this.
SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=NS319069\SCORE;Uid=sa;Pwd=FinallyFree!;"
- Change this to
SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YOURL33TPASS!;"
- While you have servers.cfg and auction_server.cfg open. Change all the ips to 127.0.0.1.
- You can change the password to whatever you would like. For this example I will be just using "YOURL33TPASS!".
- Extract the dbschema.rar found in C:\Ouroboros\dbschema.rar.
- Open up SQL Server Management Studio (SSMS which you installed in the first step). Hit Connect on the screen that pops up to and connect with windows authentication.
- We need to enable the sa login so that server can login to the database.
- If you look to the left panel you will see the object explorer and your connection. Right click it and select properties.
-
- When this window comes up hit Security to the left and enable "sql server and windows authentication". Then click ok.
- In the same panel you used before navigate to Security -> Logins then right click and enter properties the sa user.
- In this window set the password to the same password you set back at step 4
- Choose Status from the left panel in this same window and set login to enabled and hit ok.
- Right click the connection in the object explorer again and click Restart.
- Click File, Select Open, navigate back to C:\Ouroboros, open the dbschema folder, and select cohauc.sql in SQL Server Management Studio.
- You will see these 2 lines at the top of the file opened
( NAME = N'cohauc', FILENAME = N'C:\mssql\MSSQL11.SCORE\MSSQL\DATA\cohauc.mdf' , SIZE = 157440KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
( NAME = N'cohauc_log', FILENAME = N'C:\mssql\MSSQL11.SCORE\MSSQL\DATA\cohauc_log.ldf' , SIZE = 353216KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
- What you want to do is set the first part of these directory listings to where your SQL Server is located for example, I set my to D:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL because that is where my SQL Server is. So my would become:
( NAME = N'cohauc', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\cohauc.mdf' , SIZE = 157440KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
( NAME = N'cohauc_log', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\cohauc_log.ldf' , SIZE = 353216KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
- Once done click the Execute button. And do this again for both the cohauth and cohchat.
- Open up ODBC Data Sources (32-bit).
- Type 'ODBC' in Windows search, or run directly from C:\Windows\SysWOW64\odbcad32.exe
- Do NOT use 64-bit!
- Click File DSN then click add to the right.
- Choose ODBC Driver 17 for SQL Server. Click Next.
- Enter AuthDB into the box and hit next then finish.
- It will then say something like ‘Which SQL Server would you like to connect to?’
- Type localhost\SQLEXPRESS and hit next.
- Type localhost\SQLEXPRESS and hit next.
- Choose with SQL Auth enter sa into username and the password you use previously.
- Tick choose change default database to and select cohauth and hit next.
- After this hit finish then ‘Test Data source’ this will test the auth database connection to your main database if it successful congrats :D
Port Forwards
- TCP Ports
- Port 11228
- UDP Ports
- Ports 18717 through 18917
Setup Internet Facing Server
- Patching the DBServer allows it to return the correct IP address for MapServers to the client.
- dbserver.exe needs to be patched to read its external IP from a config file, a patched version can be downloaded from here or from the following magnet link
dbserver.exe [MD5] c66842d15bc94f6b6b2a282331c01e3f | dbserver.exe [SHA1] 9ba7c9774de2f75cd72efb604c44c3a86cbd24eb
- From SQL Sever Manager Studio(SSMS) run the query below.
INSERT INTO cohauth.dbo.server (id, name, ip, inner_ip, ageLimit, pk_flag, server_group_id) VALUES (1, 'ShardName', 'Public IP', '127.0.0.1', 0, 0, 1);
- Replace the existing dbserver.exe with the patched one and add the RouteIp line to servers.cfg with your server's public IP.
RouteIp YOURPUBLICIPADDRESS
Setup TurnstileServer
- Making the changes below will put your server into "production" mode. This will require things like mission_server.cfg to be created.
- This can be avoided by deleting texts.pigg from the server's piggs\ directory
- First make sure your turnstile_server.cfg is correct. Below you'll find an example.
- Example turnstile_server.cfg
-
DbServer LAN WAN 7000 ShardName ShardID ShardAuthID
DbServer 127.0.0.1 127.0.0.1 7000 Paragon 1 1
- Example mission_server.cfg
-
Shard NAME WAN REGION
Shard Paragon 127.0.0.1 1
- -patchdir score -patchversion 2400.201208211101.1 -auth VMIPGOESHERE -console
Setup QueueServer
- Queueserver may cause client disconnects and crashes on server selection, these issues are being looked into.
- Add the following line as a new Server in I25 loadBalanceShardSpecific.cfg, where
LANIP
is the local network IP of the dbserverCommand "queueserver.exe -db LANIP"
- Additionally, add or change the following lines in I25 Servers.cfg, where
MaxPlayers
is the number of logged in accounts you want to allow
UseQueueServer 1 MaxPlayers 100
- Finally,
WaitingUserLimit
in etc\config.txt controls the maximum number of players to allow into the queueWaitingUserLimit = 100
Launch Server
- Start DBServer.exe and then Launcher.exe. This can be done simply by double clicking on them.
- You could also use a .bat file to start everything up and in the correct order.
- The below is an example bat file to launch the DBServer, Launcher, and finally the Client.
@echo off echo Starting DB Server START c:\Ouroboros\dbserver.exe TIMEOUT 2 echo Starting Launcher Server START c:\Ouroboros\launcher.exe TIMEOUT 2 echo Starting Chat Server START c:\Ouroboros\ChatServer.exe -noreserved TIMEOUT 2 echo Everything should be launched! Go enjoy CoH.