This project is a fork from Comet and all rights over Comet are reserved by Gareth Jensen "Spirited".
The project is split between three servers: an account server, game server and ai server. The account server authenticates players, while the game server services players in the game world and the ai server handles ai over the NPCs in the world. This simple three-server architecture acts as a good introduction into server programming and concurrency patterns. The server is interoperable with the Conquer Online game client, but a modified client will not be provided.
This still a work in progress and is not recommended to starters. No support will be given to creating events, NPCs or anything like that. But if you want to work with Canyon you may report bugs and we will keep the main repository updated with bug fixes to whoever wants to try it.
When the live server leaves the Beta Stage, we will start keeping stable versions of Canyon in the main main repository, if you download from development make sure you know what you are doing and that you are ready to face bugs.
| Patch | Pipeline Status | Quality Gate | Description |
|---|---|---|---|
| development | Targets the official 6090 client. | ||
| main | Not published | Targets the official 6090 client. |
- Client V6192 - Client pre-configurated with ConquerLoader (local connection)
- City Teleport items
- Enemy List
- Lottery
- Offline TG
- Arenas (Incomplete)
- DailyQuest (Incomplete)
- Cancel accepted quests
- Fix Some NPC locations
- Add some missing npcs for some quests
- Drop for MoonBox Quest not implemented
Before setting up the project, download and install the following:
- .NET 7 - Primary language compiler
- MariaDB - Recommended flavor of MySQL for project databases
- MySQL Workbench - Recommended SQL editor and database importer
- Visual Studio Code - Recommended editor for modifying and building project files
In a terminal, run the following commands to build the project (or build with Shift+Ctrl+B):
dotnet restore
dotnet build
This project has been tested already with Debian and will work well in other environments.
Canyon make use of a API to authenticate users, the APIs that the game uses will not be provided and you have two options:
- Build your own API and feed the login server with the required information
- Change the code in Login Server to connect to a MySQL database instead
There are a few reasons why you might not be able to connect. First, check that you can connect locally using a loopback adapter. If you can connect locally, but cannot connect externally, then check your firewall settings and port forwarding settings. If you can connect to the Account server but not the Game server, then check your IP address and port in the realm table. Confirm that your firewall allows the port, and that port forwarding is also set up for the Game server (and not just the Account server).
Algorithms and packet structuring used by this project for interoperability with the Conquer Online game client is a result of reverse engineering. By Sec. 103(f) of the DMCA (17 U.S.C. § 1201 (f)), legal possession of the Conquer Online client is permitted for this purpose, including circumvention of client protection necessary for archiving interoperability (though the client will not be provided for this purpose). Comet is a non-profit, academic project and not associated with TQ Digital Entertainment. All rights over Comet are reserved by Gareth Jensen "Spirited". All rights over the game client are reserved by TQ Digital Entertainment.