Basic Setup
From WCell wiki
Contents |
Software requirements
- .NET Framework 3.5 (or higher), which you can download here.
- Right now WCell does not offer binary (or installer) packages yet which is why you need to build WCell yourself, using an IDE, such as Visual Studio 2008. You can use the free IDE Visual Studio 2008 C# Express which can be downloaded here (the link is at the bottom).
WCell also needs access to any of the following database systems in order to store and access game data:
- MySQL 5.x: download link
- IMPORTANT: At this time MySQL 6.0 and later are NOT supported!
- (MS SQL Server 2005 Express: download link (ships with any commercial version of Visual Studio))
- (PostgreSQL 8.2.6: download link)
Setting up the database system is out of the scope of this document, so please refer to the vendor documentation for further information. You should at least have a basic understanding of how to work with SQL and the database system you choose to run.
Compilation
- Run the WCell solution file WCell.sln which will open Visual Studio with the WCell solution loaded
- (Unless you know what you are doing, compile WCell in Debug - BuildMode.)
- If a big window pops up asking if you want to load a project for reading only or normally, select open normally and uncheck the box where it asks if you want to do this for every project in the solution, and then click OK.
- If you have the Express version:
- It will complain about not supporting some things - ignore that, and just click OK.
- You may receive an error "Solution folders are not supported in this version of the application". This is not an issue and can be ignored:
- Right-click 'WCell' in the Solution Explorer and hit Build Solution
Files and Folders
After building succeeded, the built applications can be found in the Run/ folder:
- Auth Server: Run/AuthServer/{BuildMode}/WCell.AuthServerConsole.exe
- Realm Server: Run/RealmServer/{BuildMode}/WCell.RealmServerConsole.exe
There you can also find the Configuration files:
- Run/RealmServer/{BuildMode}/Config.xml
- Run/AuthServer/{BuildMode}/Config.xml
Preparing WCell
The default Configuration should get you running with minimal effort:
- Change your DB settings in the Configuration
- Extract the DBC files from the WoW client:
- Right-click on the WCell.MPQTool Project in the Solution Explorer and then select Debug -> Start new Instance.
- Extract DBC Screenshot
- If you simply run the tool from its directory, it will try to locate your WoW installation directory for you. If it fails, try moving the WCell.DBCDump files into your WoW installation directory, and run it from there. You can find the binaries required to run the program in the Utilities/WCell.DBCDump/bin/{BuildMode}-folder. It will extract the DBC files into a subfolder of the Content Folder.
- DBC Folder Screenshot
- Right-click on the WCell.MPQTool Project in the Solution Explorer and then select Debug -> Start new Instance.
- Create two databases:
- The default database names are WCellAuthServer and WCellRealmServer
- You can change the database connection information in Configuration#Database Settings
- Once the Databases are created and configured correctly, the server will automatically create the tables and do the rest
Import content from a Content-provider
Read Supported Content Providers for more information.
Running WCell
- Start WCell by running the AuthServerConsole and the RealmServerConsole exe files
- Connect to WCell after changing the Realmlist.wtf-file in your WoW folder
- The default listening address is 127.0.0.1 (or: localhost)
- You can activate Auto Account Creation through the Configuration (Default: On)
- When enabled, a new Account will be created when you try to login and:
- The provided Accountname does not exist
- Password is the same as Accountname
- If you login from a local client, automatically created accounts get the Highest Role
- Else they get the Default Role
- When enabled, a new Account will be created when you try to login and:
NOTE: If you notice weird behavior, look in the console or the Log Files for hints. Please report any errors that you don't seem to have caused yourself.
Static (World) Content
If you run WCell in Debug mode (which is the default), you will face a naked and empty world because it speeds up the startup routine if you disable automatic loading and spawning of static data (NPCs, Items, GOs etc). This is very useful for developers who often need to restart WCell.
- To load Static Content (NPCs, Items, GOs etc):
- Use the Load Command (if not activated in your Configuration you also have to spawn the region)...
- Ingame
- Or through the RealmServer Console
- If you want it to be loaded on startup comment out the load all line from your Content/AutoExec/_Startup.txt file
- Use the Load Command (if not activated in your Configuration you also have to spawn the region)...
Going Public
If you want to allow non-local clients (from the local network or from the internet) to connect to your server, you need to change your Configuration:
- Set RegisterExternalAddress to True (or 1)
- Set ExternalAddress to the address that clients should connect to
- If the ExternalAddress is an address that is bound to one of the Server's NIC addresses you will also have to change the Host to the external address. The port will then be bound to the address.
You can either provide ip-addresses or hostnames.
What's next?
- Learn about Roles and Privileges
- Learn how to configure WCell
- Learn how to customize the ingame world, beyond basic configuration
- Learn how to control the game from within the game
- Learn about further Administration options
- Join the community
- Look for or write your own Addons
- Develop for WCell
