Getting Started
From OuroDev
Server Setup
Download Files
- i25 Binaries Torrent
- [MD5]43CF2C67D48CDAE9709E785A3EE7DD5E
- [SHA256]B34D398F7E9A06832A9069F7156F59B53EAB395D0CE155D031CEB09DD47BEAB1
- SQL Express Edition
- SQL Management Studio
- Start Server.bat
- CreateAccount.php - Used to generate SQL code for inserting account via SMSS
- Create Account with PowerShell Script
- Ruhe's Updated PowerShell Script
Online Tools
- Crust First's web-based tool for generating SQL queries to create new accounts
- Crust Fire's Auto Config Generator
Setup Local Server
- Install SQL Server 2017 Express Edition
- Choose Basic when installing and when given the option choose to install SSMS.
- Open up wherever you extracted the i25 Binaries folder and navigate to data\server\db
- Open up chat_server.cfg and account_server.cfg
- 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=password;"
- You can change the password to whatever you would like. For this example I will be just using password.
- Now open up server.cfg and change all the ips to localhost (Note : You could also set these to your local ip if you know it.)
- At the top of the file you will see this.The IP will be set to whatever you previous set it to.
- DBServer 192.168.0.1 18717
- ShardName Bree
- AuthServer 192.168.0.1 2104
- DefaultAccessLevel 0
- NoStats 1
- Change the ShardName to whatever you would like and add 2 slashes infront of AuthServer. And add UseFakeAuth 1 under NoStats 1
- It should now look like this
- DBServer localhost 18717
- ShardName ShardName
- //AuthServer 192.168.0.1 2104
- DefaultAccessLevel 0
- NoStats 1
- UseFakeAuth 1
- Okay now extract the dbschema.rar found in your i25 folder. We will be using these later.
- Open up SQL Server Management Studio (SSMS which you installed in the first step). Your one will look slightly different and hit Connect.
- Now we have to enable SQL logins so that the databases can connect. We need to enable them and the sa login so that user 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 enter 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
- Once you are done there. Choose Status from the left panel in this same window and set login to enabled and hit ok.
- Okay now navigate back to your i25 folder and open the dbschema folder I previously had you extract and open up 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.
- Once you have done that you can now start up your server. Navigate back to your i25 files and start up dbserver and dblauncher
- Note : you will have to fix up these shortcuts so they point back to their intended destinations.
- Go to your City of Heroes folder and make a shortcut of score.exe adding
- score.exe -db 127.0.0.1 -console -patchdir score -noversioncheck -project "coh"
- Login and Enjoy!
Setup Auth Server
- The first thing you are going to want to do is set the ips in server.cfg to your Internal/Local ip. Then you will remove the slashes from the front of authserver and putting them infront of UseFakeAuth 1 and that is nolonger necessary.
- DBServer 192.168.0.48 18717
- ShardName Personality
- AuthServer 192.168.0.48 2104
- DefaultAccessLevel 0
- NoStats 1
- //UseFakeAuth 1
- Open up ODBC Data Sources.
- 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.
- 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
Setup Auction Server
- Create auction_server.cfg in C:\COH\data\server\db.
- ShardIp 127.0.0.1
- SqlDbName cohauc
- SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YOURL33TPASS;"
- Start AuctionServer64.exe
Setup using Virtual Server Image
- Freedom Virtual Machine
- Instructions: (THIS IS FOR LOCAL)
- Download VMWare Player
- Add the VM to VMWare Player
- Once inside of Windows on the VM
- - Start Menu -> start dbserver -> start launcher
- On your system, start the client from Score (Cityofheroes\score.exe -patchdir score -patchversion 2019.04.19 -db <VM IP> -noversioncheck
Setup
Port Forwards
- TCP Ports
- Port 11228
- UDP Ports
- Ports 18717 through 18817
Common Questions
How do I create an account?
- You can use the PowerShell script in downloads or execute a query against the database manually.
- Create NEW USER: test / password
- INSERT INTO cohauth.dbo.user_account (account, uid, forum_id, pay_stat) VALUES ('test', 1, 1, 1014);
- INSERT INTO cohauth.dbo.user_auth (account, password, salt, hash_type) VALUES ('test', CONVERT(BINARY(128),'46ffce3efcfe83bfa205b076d7c2084b9dcf04cdb26f9019103cde29779d26a85216b2c0f43ba1a8fb9b7fa22f05a949bf4edc314af27629e8fc23014e77a24d'), 0, 1);
- INSERT INTO cohauth.dbo.user_data (uid, user_data) VALUES (1, 0x0080C2E000D00B0C000000000CB40058);
- INSERT INTO cohauth.dbo.user_server_group (uid, server_group_id) VALUES (1, 1);
- Crust First's web-based tool for generating SQL queries to create new accounts
How do I make a GM Character?
- UPDATE [cohdb].[dbo].[Ents] SET [AccessLevel] = 10 WHERE [Name] = 'charnamehere'
- You can also set DefaultAccessLevel to 10 in servers.cfg, but this will only work for characters made after you make this change
- Login to the game and type /mmm to bring up an admin menu. All commands are also listed in Commands.cfg
Why does my server show offline?
- First make sure you've added your server into the database. You can do so with the code below.
- INSERT INTO cohauth.dbo.server (id, name, ip, inner_ip, ageLimit, pk_flag, server_group_id) VALUES (1, 'Bree', '127.0.0.1', '127.0.0.1', 0, 0, 1);
Why does my AuthServer say "Non-registered world server X.X.X.X"?
- Make sure the server is in the cohauth
- INSERT INTO cohauth.dbo.server (id, name, ip, inner_ip, ageLimit, pk_flag, server_group_id) VALUES (1, 'Bree', '127.0.0.1', '127.0.0.1', 0, 0, 1);
=== Why does my DBServer say "login failed for user sa" when starting?
- Most likely you've entered the string wrong in account_server.cfg or another file.
- It could be that the sa account is still disabled as well. Double check SMSS to verify.
- If you've entered it correctly make sure restarted the service after the changes from the guide.