Register for your free account! | Forgot your password?

You last visited: Today at 19:09

  • Please register to post and access all features, it's quick, easy and FREE!

 

[Release] World Conquer Source v2

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2009
Posts: 445
Received Thanks: 162
[Release] World Conquer Source v2

Hello Elitepvpers,

Two years ago I released my first World Conquer Project source which can be found clicking on it's name.

What I have to say about this new source, is the same thing about the old one. The base still the old one (Phoenix Project), which is not on elitepvpers anymore, but the credits remain mostly on the entire source.

Quote:
Of course you will notice that my codes aren't so great, but if you want to point anything bad, make something constructive so i can improve myself too. I will update the source if the community say that i need to keep the work.
First of all, why I am releasing this?
Well, this source has been used on my public beta server and proved to work fairly well with over 100 players, except for a few concurrency problems that sometimes would spawn. Tho, I'll explain the known problems.
I'm releasing this, as it is and I'm not going to give any support to it. This source helped me on learning a lot, I could find out many problems that might occur when a server is running, also I learned what to do and what not to do when running a server. The Concurrency problems lead me to study a lot so I could improve my new systems.

Can you use this to run a public server?
I wouldn't recommend unless you fix the major issues.

Major issues:
- Generator
The generator does have a problem which I fixed on my new source, but I didn't change on this one. But the problem is simple: it stops generating monsters when the map reaches its max monster identity. There is a command "/reloadgen" which can be used and also can be improved. It will reload ALL generators on the Conquer World. Which means: guards, boss, pets, etc (I removed the pets).
- Guild War disconnection
There was an issue causing a disconnection to everybody who's close to the Guild Pole. I think I fixed it (not tested on the public server tho), but I think it's because of the Guild Name Length. So you might check it. It doesn't happen often, but it does, and it's so annoying. If you restart the server it will be fixed (without changing the guild holder).
- Server freeze
It happens randomly. I don't know what I changed on the new code which fixed it, but on this source it appears to happen even when people is doing nothing. I think it's because of the amount of threads which access the Players dictionary, tho, I don't know how, but I fixed. This source still have it with few or many players online. No mather. It's not something that happens just because the server is full. Ah, the server comes back after 5 seconds to 1 minute. I changed some shit on the threading system that helped, so now it will not get permanently stuck requiring the server to be restarted.

Minor issues (some features I didn't bothered about fixing):
- Items removed from arsenal will just leave after maintenance;
- CTF reward wont be delivered correctly (never really bothered about this, nobody ever said anything. They played it for the fun);
- Whoever joins the team will receive the leader information (just change the MsgTeam constructor);

Which features this source have?
Quote:
- Memory Agate (Fully works, even the rename thing);
- PK Exploit (The killing record which you can see who you killed and how many times);
- Trade Partner;
- Item Lock;
- Dragon Souls and Refineries;
- Subclasses;
- Title system;
- Reincarnation;
- Reborn (both quests fully working with rewards to those who complete the quest instead of buy the items from Shopping Mall);
- Arena Qualifier;
- Capture the flag;
- Bonus system (which you can use to give rewards to your player on the site so they can claim it in game);
- Claim CPs button (cq_user column coin_money to use claim CPs on next login. Also remember the players to logout before claiming the CPs on the site);
- Quiz Show;
- Nobility Ranking (Only Money, but if you remove the return; thing on the code it can easily be changed);
- Change name NPC;
- Change gender NPC;
- Lottery;
- Boss Hunting (which includes Terato Dragon on FG6 or TwinCity; Snow Banshee on FG2; Lava Beasts randomly spawned in FG5);
- Mentor/Apprentice (you cant remove them, you will need to code this by yourself);
- Friends/Enemy;
- Guilds with fully working system;
- Clans with some shit bugged, easy to fix. Never fixed because I never really completed it. Will add the clan wars and then fix;
- Broadcast working;
- All chats working;
- Chat logging;
- Mining;
- Booths;
- Appearence type (the one in options, so you can use DragonSouls and show your equipment);
- Guild Recruitment system;
- and so on;
Check the Game Packet Handler to see which packets are handled by the server. Puff.
The source got monk with all skills working. Except for a bug with the auras on team, but it's relevant.

I almost forgot: This server targets which client version?
Version 5517.

The interaction processing handle those things.
You must register and activate your account in order to view images.
And about Ninja Skills, they are all working too. Except for a bug on the Shuriken Vortex that I think I fixed before this release. It started to appear after a minor change in the skill system. Tho I think it's fixed. You might check.

If you ever read the old source, you might know how this work. I changed a lot of things on a lot of places, but some systems has just been improved. But methods and functions are still the same.
If you want to do checks before casting skills, read how it works and check the function CheckCondition.
You must register and activate your account in order to view images.

If you want to add new skills sort, look for the boolean Launch(), it does have all you need. I follow TQ client magic type sorts. So, as a player, I know how the skill works and then I write it there, creating a new sort to work there. In general, if I want to change anything later, I don't need to write much. I was too lazy, so some types I just used the same on 2 sort.
You must register and activate your account in order to view images.

I will paste here some references to my old post.
Quote:
Battle System

The battle system may be complex to some peoples, but once you get familiar with it, it's pretty easy.
If you want to change the calculations you should look for the methods CalcAttackPower (Physical and Bow) and CalcMagicPower (Magic) on the file Structures\Entities\Battle System.cs

This will affect any attack calculation. You don't need to create millions of methods to handle each kind of attack.

The method CheckCondition on the same file, will check if the target is able to be attacked by a magic attack.

The methods for Physical and Magic attacks on Battle System are ProcAttack_Hand2Hand() and ProccessMagicAttack(int nType, uint idTarget, ushort x, ushort y, byte ucAutoActive).

Any magic check should be done on ProccessMagicAttack, once it's not the sort requirement. If the requirement is done by the type of magic (sort), you should look below on the Launch method.

The boolean Launch()

This method will just send the skill to it's own processor. Then, you create the processor and make the other Sort support. Check the ready sorts for more information.
Boss drops
The file QuenchDropRule.ini on the ini folder together with the server controls the actions which will be triggered when a boss dies. This can also be used to normal monsters.
You must register and activate your account in order to view images.

And just some more additional screenshots.

The Login Server is designed to accept connections from many servers to redirect them. So you can have 1 login server accepting connections on a low cost host and the game servers running somewhere, tho, you'll need to crack the Conquer.exe to read your own Server.dat or change a loader settings to not redirect the connection after authenticated.
I removed the Cipher between the Login and Game Server because I didn't want to show how shitty my system is, so if you want to hide your information, code it by yourself.
You can also set your MySQL to connect to a different port. I did it only to the login server, but if you're smart enough you can fit your needs doing it to both.

EDIT: I almost forgot, the account table structure is here. And I use the Whirlpool hash on the passwords.

If you want everything like is on the database (items, shops and other shit editions) you might need to download my client and patches. The AutoPatchServer that is used on them, is the one I released here.


(Download patch 5024-5034 and you'll be fine)


There is no fucking viruses on the client files. It's just the damn loader.

Some videos on the end of the post.

The source itself isn't hard to read or understand, I tried to follow an standard language and I hope it's easy for people to read. I stopped commenting code at some point, but there are parts that I did. Well, I think that's all for now.

I aint updating this source anymore. I wrote a new one which I removed some trash and changed a few systems to avoid concurrency shit pissing me off again.

Thanks for @Spirited, never denied me support and for the Phoenix Project.
Thanks for @CptSky for releasing Cops V6 that helped me on a few items handle algos and for the tips of the portals.
Thanks for @pro4never, because of the Albetros Source that been so useful to me with it's packet structures.

And thanks for everyone who at least check out the code or the server itself.







pintinho12 is offline  
Thanks
15 Users
Old   #2
 
elite*gold: 0
Join Date: May 2015
Posts: 1
Received Thanks: 0
Thanks my friend ♥


ImmortalsCO is offline  
Old   #3
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,491
Received Thanks: 3,150
Great work. There are small improvements that can be made here and there, but I'll let you know privately. Overall, great work. I'm impressed by how much you've improved in such a short time. Good luck on your future projects.
Spirited is offline  
Thanks
1 User
Old   #4
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Are you using Visual Studio 2017 because it is a problem in "SingleTournamentMatch and LineSkillPkStatistic and Carry" why you are disabled flowers, although the code is available ...


Hacker. is offline  
Old   #5
 
elite*gold: 0
Join Date: Jul 2009
Posts: 445
Received Thanks: 162
Quote:
Originally Posted by Hacker. View Post
Are you using Visual Studio 2017 because it is a problem in "SingleTournamentMatch and LineSkillPkStatistic and Carry" why you are disabled flowers, although the code is available ...
Visual Studio 2015
To fix those problems just change the

Quote:
Object => value;
to
Object { get { return value; } }
I disabled flowers because at this point it wasn't totally fixed. But I might upload the flowers file later if really wanted. Tho, it's not hard to fix.
pintinho12 is offline  
Thanks
1 User
Old   #6
 
elite*gold: 0
Join Date: Nov 2008
Posts: 24
Received Thanks: 1
Need copy MySql.Data.dll from MsgServer/bin/debug to LoginServer/bin/debug to run without problems but very good job men, congratulations
darkhc is offline  
Old   #7
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by pintinho12 View Post
Visual Studio 2015
To fix those problems just change the

Done ...

I disabled flowers because at this point it wasn't totally fixed. But I might upload the flowers file later if really wanted. Tho, it's not hard to fix.
After testing the server, he worked to solve the flowers problem, Are there problems with encryption BlowfishCipher ?
Hacker. is offline  
Old   #8
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,196
Received Thanks: 5,305
Quote:
Originally Posted by Hacker. View Post
After testing the server, he worked to solve the problem flowers, Are there problems with encryption BlowfishCipher ?
I've never seen any publicly released source that doesn't have properly implemented encryption. If the cryptography wasn't working properly the source wouldn't even allow initial login... With a very few minor examples, everyone is using various managed cryptography libraries so assuming you configure it properly it's going to work just fine.

PS: 5517 uses cast not blowfish.
pro4never is offline  
Old   #9
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by pro4never View Post
I've never seen any publicly released source that doesn't have properly implemented encryption. If the cryptography wasn't working properly the source wouldn't even allow initial login... With a very few minor examples, everyone is using various managed cryptography libraries so assuming you configure it properly it's going to work just fine.

PS: 5517 uses cast not blowfish.
It should be reviewed on a Encryption, simple query "cast" the Patch 5632 or I'm error ...
Hacker. is offline  
Old   #10
 
elite*gold: 0
Join Date: Jul 2009
Posts: 445
Received Thanks: 162
Quote:
Originally Posted by Hacker. View Post
It should be reviewed on a Encryption, simple query "cast" the Patch 5632 or I'm error ...
This is targeted to Patch 5517... if you want to use 5632 you'll need to hook your Conquer.exe to send the old packet or handle the Srp6 shit. Also, if you hook the Conquer.exe thing, you'll need to handle the packet 1124 on login, which can be achieved with this structure.


EDIT: now I noticed that I duplicated the server shit
pintinho12 is offline  
Thanks
1 User
Old   #11
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by pintinho12 View Post
This is targeted to Patch 5517... if you want to use 5632 you'll need to hook your Conquer.exe to send the old packet or handle the Srp6 shit. Also, if you hook the Conquer.exe thing, you'll need to handle the packet 1124 on login, which can be achieved with this structure.


EDIT: now I noticed that I duplicated the server shit
I understand that but I'm currently working on Patch 5517 in a cryptographic key problem ...
Hacker. is offline  
Old   #12
 
elite*gold: 0
Join Date: Jul 2009
Posts: 445
Received Thanks: 162
Quote:
Originally Posted by Hacker. View Post
I understand that but I'm currently working on Patch 5517 in a cryptographic key problem ...
Which error are you getting? Can't help you if you don't explain whats up.
pintinho12 is offline  
Old   #13
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by pintinho12 View Post
Which error are you getting? Can't help you if you don't explain whats up.
Done ...

You must register and activate your account in order to view images.
Hacker. is offline  
Old   #14
 
elite*gold: 0
Join Date: Jan 2013
Posts: 3
Received Thanks: 0
msgserver has a lot of errors and can not compile.
liqicong is offline  
Old   #15
 
elite*gold: 0
Join Date: Jul 2009
Posts: 445
Received Thanks: 162
If you can't setup the source because your PC can't run the correct version os Visual Studio or you don't know nothing about C# syntax just delete the source. I already replied about syntax problems above and the source works pretty well and is almost complete tho, except for a few problems


pintinho12 is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[RELEASE]Conquer Emulator Source 5165
Latest Version: v1.0.0 Last Updated: 07:37AM 29/07 2010 This is a small project in NewestCOServer. Why this? To make a better NewestCOServer...
29 Replies - CO2 PServer Guides & Releases
[RELEASE] Conquer v5065 Source
Edited
2 Replies - CO2 PServer Guides & Releases
[Release] Conquer Source
Heya. Since wrong people got ahold of this (immature kids, ofcourse) I decided to release it. It's a source which base was made by Tanel, and...
1 Replies - CO2 PServer Guides & Releases



All times are GMT +1. The time now is 19:09.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.