This server was created by Korvacs & Myself (Future)
The server was created from scratch with the inspiration of CoEmu and also some help from the CoEmu source helping code & navigate through this project. The server was created in C# (C Sharp) and uses MySql.
Server Information:
- Server Name: CoFuture aka CoFusion
- Authors: Korvacs & Future
- Database Type: MySql
- Inspired By: CoEmu
- Source Language: C# (C Sharp)
- Client Version: Qonquer Client (Working Fine)
Requirements:
- Microsoft Visual C# 2005 Express Edition (Recommended) other versions are available
- MySql
- Apache
- PhpMyAdmin
- Conquer Online 2.0 Client Version 4348 <-- You need this to connect
Links:
- (Recommended) All in 1 Package MySql. Apache, PhpMyAdmin
-
-
Server Port(s) (Enable these ports with your router, firewalls/windows firewall)
- Auth Server: 9960
- Game Server: 9958
Installing AppServ
- ServerName: localhost
- Password: (any password, but dont forget it because u need it to log into phpmyadmin)
Login to PHPMyAdmin
- In your webbrowser type as a url "localhost/phpmyadmin"
- Username: root || Password: (Password you set when installing)
Guide:
1. Starting
Download, Install & Extract everything
2. Adding the Database
Open PhpMyAdmin, On the left Tab Click the button that has "SQL" on it, Click Import, Browse the database you downloaded and import it.
3. Setting up server in database
Open "servers" Table then click "Browse" then edit the current server entry there (Your Servername, Your IP Address or Localhost, Server Port) Save.
4. Creating an Account
Open "accounts" Table then click "Insert" (Account UserName "your username", Leave Password Blank, Type "2" for PM, Auth "1" server to accept connection, Leave Address Blank) Save.
5. Setting up Server to connect to Database
Open "Server" folder then Open the "CoFuture" Project File then open Database.cs and press "ctrl+g" and go to line "39" change "Database Username" to your databases username then on line "40" change "Database Password" to your databases password" and then on line "44" change "Database Name" to "conquer_server" unless you changed the database name. then go to Build --> Build Solution (Solution should build successfully!)
6. Turning the Server On
Method 1. Open "bin" then "x86" then "Debug" then "COServer.exe" I Recommend this Method for Windows XP Home/Professional
Method 2. Open "bin" then "Debug" then "COServer.exe"
Method 3. Open "bin" then "Release" then "COServer.exe"
7. Adding NPC Dialogs
Which ever "COServer.exe" you use there will be a folder "Npcs" in the same directory, create a text file with the name of the npc id you assign in the database, A tutorial on how to code the dialogs down the page.
8. Adding NPC Spawns
Go into your database and go to the "npcs" table and add your npc's there. (Main city npc's already added).
9. Adding Portals
Go into your database and go to the "portals" table and add your portals there (Most portals already added).
10. Adding Shops
Go into your database and go to the "shops" table and add your shops there (Some shops added already).
11. Coding the NPC Dialogs
12. Command ListQuote:
Ok im currently in the process of creating my npc system,
This system will be one of the simplist npc systems out there....thats my aim anyway.
Here are the current list of available commands and their uses:
Replace <value> with whatever you want it to be so <value> becomes 50
Replace <string> with some text, for example <string> becomes: Hi there this is an example
Set Npcface to any avatar that the game supports just like the clients faces,Code:Npcface=<value>
Set Dialog to whichever dialog your working on, for example the first Dialog which the client sees is Dialog=0, the client will always request Dialog 0 when you click on the npc.Code:Dialog=<value>
This is what the npc will say for the dialog, for example, if i want the npc to say "Hi there im an example npc" i would write: Text=Hi there im an example npcCode:Text=<string>
For this command you need to add to things, what the option will say, and where the client will be taken once they click that option, fairly simple example: Option=Goto Dialog 1=1Code:Option=<string>=<value>
you can have multiple options upto a total of 8, any more will cause the client to crash (ive yet to limit this)
[random]im considering adding in functionality where by the server will create a second page, on the first page will be options 1 - 6 and a next option, when clicking next it will take you to the next page with the remaining options and a back button, however this may not happen[/random]
Completes the Dialog, this is only require when your atualy going to display a dialog, for example if i were to just have a dialog with no text and no options the client would not be sent any information so theres no need to finsh the dialog,Code:Finsh
this requires no finsh command:
this requires a finsh command:Code:Dialog=1 Teleport=1002 422 366
Code:Dialog=1 Text=This is a test for dialog 1 Option=Example1=2 Option=Back=0 Finsh
This teleports the user to a target map and cordinates, value1 is the map id, value2 is the x cord and value3 is the y cord, please ensure that you do correctly set the x and y cordinates otherwise people could get into all sorts of trouble xDCode:Teleport=<value1> <value2> <value3>
The item command allows you to create items within someones inventory, i know theres alot of values x_XCode:Item=<value1> <value2> <value3> <value4> <value5> <value6> <value7> <value8> <value9>
value1 is the itemid, value2 is the plus, value 3 is the minus, value 4 is the enchant, value 5 is soc1, value6 is soc2, value7 is currentdura, value8 is maxdura, value9 is the amount.
yeah i know its alot to remember but i dont want to have to make changes further down the line and make modifications to loads of npcs, this system is being built to last.
ok, the find item command (Added while writing this)Code:FindItem=<value1>=<value2>
it will return the total amount of items it found in your inventory, value1 is the number of the variable your assigning and value2 is the itemid you want to find,
you can then access the item by using <value1>
heres an example because it can be difficult to grasp
Code:FindItem=0=1088000 Text=You have <0> Dragonballs in your inventory
this allows you to assign values and use them like the find items variables,Code:Variable=<value1>=<value2>
value1 is the variable your assigning, value2 is the value,
please note that the variables you assign only exist within the dialog you assign them in.Code:Variable=1=1088000 Text=You have <0> <1>s in your inventory
something you assign within dialog1 will not exist within dialog2
And heres a random example npc which has abit of everything in it
Code:NpcFace=50 Dialog=0 Text=This is a test for dialog 0 Option=Dialog1=1 Option=Find Items=4 Option=Teleport=3 Option=Create Item=2 Finsh Dialog=1 Text=This is a test for dialog 1 Option=Dialog4=4 Option=Start=0 Finsh Dialog=2 Item=1088000 0 0 0 0 0 1 1 1 Dialog=3 Teleport=1002 422 366 Dialog=4 FindItem=0=1088000 Variable=1=1088000 Text=You have <0> <1>s in your inventory Option=Start=0 Option=Dialog1=1 Finsh
Code:
/dc /clearinv /save /gm /heal /hp /mana /stamina /reborn 0/1/2 /stats str amount /stats vit amount /stats spi amount /stats agi amount /stats all amount /gold amount /cp amount /item ItemID Plus Minus Enchant GemIDSocket1 GemIDSocket2 Quality Quality /job ID /level level /goto MapName (from Database) /skill skillid level /spell spellid level /spawn type, type+dir, map, x, y, flag (temporary Npc) /request charname (Request a characters info) /where (your coordinates) /spawnnpcs type, type+dir, map, x, y, flag (Temporary npc) /statusfix /invincible /string something something something /music on /music off /guild guildname bulletin /status reset /status /data something something something something /dialog something /createguild guildname /guildwar /chattype something something something something /encrypt password /decrypt password /getportals /update /addnpc type, type+dir, map, x, y, flag (Permanent) /removenpc npcid /npcsay message (Test Command) /mapmode 1/2/3
Please Give Feedback and ill try answer most questions. Don't say stuff like "Wont connect to database"
Recommended: Visit the Cofuture Source board on cofusion for a structured help forum at