Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 01:12

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

Advertisement



The generic 'what patch' question.

Discussion on The generic 'what patch' question. within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
The generic 'what patch' question.

<revamped now that not on shitty cellphone keyboard>


So due to boredom and extreme insanity I've decided I want to start working on pservers again some (my proxy is on hold mostly due to work, social life, lack of internet at home and the fact that I'm a lazy bastard who tends not to finish projects when there is no point in them). As part of this desire I need some help from the community to figure out what the best route would be.

Yes, this gets asked all the time by so many people... but basically I was thinking how stagnated the pserver community here is. There is literally 2 sources people ever use (lotf and elite coemu) and the others just get dumped cause people A: aren't used to them and B: they don't contain many features.

Well my idea is to take a patch that few/no servers are running and build up a semi featured, fairly decent source for it to release to the public. It will NOT be on the same feature level as lotf, nor will it be as bugless and sparkly as hybrid, immune or unknown's awesome basic sources... it will be a happy medium where hopefully people can run a proper server with while at the same time not needing to have a super high level of coding knowledge or code every single feature themselves.


So the question remains... what patch should I use to 'fill the pserver void'.

5065: Replace some bin servers, no public sources for it currently and super easy to code/get packets for.

pre 5000: No sources, fairly easy to get packets... 'classic' feel w/o the 1/0 interface (as oldschool as I am... it's OLD... try playing it for a few min and you will realize how much you miss minimum early 2.0 graphics)

5165: build a middle ground between lotfs shitty buggyness and immune's super coding prowess?


5180: The only source existing for it is never used due to it being super basic and people being complete morons.. what if there was a semi featured 5180 source with some basic documentation that ppl could run (when I say semi featured I mean skills, mobs... maybe some basic events... don't expect 'full functionality' though)

5250: I have some packets logged from my proxy, no public sources.

5290+: I guess they added yet more features again? My proxy no longer logs (prob simple packet changes) but I'm sure I could fix it up again and log current tq patch packets. NOTE: If I was doing current tq patch I would only ever release a basic version as eventually I do want to revive hellmouth with a custom source... so you can't expect me to release everything ^^



As for the source itself.. I may end up doing most things custom but keep in mind that my version of 'custom' tends to turn into a clone of coemu very quickly... yes I can fix alot of the problems coemu had but my coding style is VERY modeled after it and so many of the same issues will come up... still I can clean it up and leave things (hopefully) streamlined.

DB would be sql obviously as I HATE flatfile.


Other Suggestions:

I have a few features I'd love to work on again (I love doing features... so much more fun than generic coding that no one actually SEES).. here's some examples.


Duelist bot: I wouldn't release it with the AI system I want to eventually write but I could do an improved version that would be useful for all sorts of pvp events. (see my duelist bot thread if you don't know what I'm talking about... i got it functional + released a SUPER basic version)

Botting: I had fun with my proxy... might be kinda entertaining to add some gm functionality for that stuff.

Anti bots: Having done some proxy work and seen how bad tq is at noticing certain things... I'd be sure to be adding alot of checks for different things so hopefully far fewer exploits than many sources *cough* lotf/coemu *cough*

Quest system: Maybe I can sort/log the packets for the proper quest window but I was thinking when walking home earlier that one could do a very nicely setup sql quest database and store all character quests in a dict... that way you could have multiple active quests + fancy structures to store things like stage, kills, actions and all sorts of things like that for each one... would allow for some interesting quests to be created (I'd only do base system obviously.. but could be an interesting feature that I haven't seen done on public sources before)

Ninja systems: Ok so it's less impressive due to lotf but my god... no one ever seemed to figure out/add the full set of ninja skills to coemu... I have all of them fully functional (+ nerfed for pvp balance! xD) so doing a full skill set would be no problem.

Hellmouth features: I've released some and others have been recreated for lotf but things like my 1v1 duel arena and some other stuff could easily be added to the source as I go so that it would have some playability besides logging/killing shit.
pro4never is offline  
Old 08/03/2010, 17:53   #2
 
elite*gold: 0
Join Date: Jun 2010
Posts: 50
Received Thanks: 10
well i dont think my Oppinion or Suggestion count for much as im new to coding and dont know that much yet but here goes.

first i like imimmune's source and wish i had the know how to work on it (but im trying to learning from it)

me i would have to say 5165 ..

if you want the challenge and help at same time then go for the 5180

dont think it should be 5290+ keep that for your self .

but realy i would not care what patch as anything thats good and helps me and anyone that wants to learn something from it is always good thing ....

aways good luck and i look forward to what ever patch you end up doing ....
Macnoo is offline  
Old 08/03/2010, 18:09   #3
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
For now i'm doing 5250 cause i have a client for it.. going home to visit family for a few days. Hopefully get char logged in that time.


5180 ad 5250 are very similar really. I can prob do it easily enough thanks to immune's work + my ogged packets. Chances are i'll do a few basic sources for diff versions cause once i get a base done i can swap versions easily just with quick crypt/packet changes then can decide which i wanna work with.
pro4never is offline  
Old 08/03/2010, 20:26   #4
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
So it's shockingly simple for login server it seems.. now that i bothered to log password seed packet and thanks to immune's source it was easy to finish up some minor functionality.


Minor Progress:

Accepts client connection
sends seed packet
accepts/handles logiin request (decrypting assword, reading user/server)

Added some lovely handling so future stuff will be organized.

All i need to do for login server now is to do the database checks (structured already) and send back either wrong pass or proper auth response (again ez). I'll finish proper login server tonight and work more on game server tomorrow.. hoping for ogging/movemment functionality soon.

Again, MINOR progress but it was what i got done in hour or so while packing to go home. Realy shocked how easy the basic stuff has been so far...

done password/db checks. Time for auth response and gserver


Auth response packet working

Auth thread on gserver working (login server confirms the acct when forwarding it)

Game server accepting connection from client (forwarding properly from login to game server)


Gotta do game server encryption and all the good login sequence stuff and packets next... that will be the harder part seeing as i've done very little of it in the past lol
pro4never is offline  
Old 08/03/2010, 21:38   #5
 
_DreadNought_'s Avatar
 
elite*gold: 28
Join Date: Jun 2010
Posts: 2,223
Received Thanks: 867
Do 5228, 5270 (Tho 2 servers are in dev of that soon last time I checked.) 5250.? I wont use it tho but if it gets fantastic'ly good I might check it out and release some stuff for it. As for mobs, npcs, portals, I think they should stay flatfile.
_DreadNought_ is offline  
Old 08/03/2010, 23:48   #6
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
Wow, this seems to be good.
5065 would be awsome as alot binaries use it.
ewww...
Also is before fans/ninjas/steeds etc.
Is a good patch to choose.

Else I would say, 5000
Fish* is offline  
Old 08/04/2010, 00:56   #7
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
Quote:
Originally Posted by grillmad View Post
Wow, this seems to be good.
5065 would be awsome as alot binaries use it.
ewww...
Also is before fans/ninjas/steeds etc.
Is a good patch to choose.

Else I would say, 5000
To be honest the only reason I decided to do 5250 was because there is no public source for it and the fact that I had a client for it. The only 5065 client I found was very... edited and annoying so yah.

Ok so this came along fairly easy. I'm still at home visiting family so I'm sure I'll get bored and work on it more but for a couple hours work I'd say it's coming nicely.




Login Server:

- Accepts client connection
- Sends Password seed packet
- Receives, decrypts and verifies user/pass vs sql database
- Sends verification info to the game server (auth server setup same as coemu... simply because it's simple and how I'm used to coding things)
- Sends client auth response packet


Game Server:

- Accepts client connection (forwarded properly from login server)
- Accepts auth info from login server


So for all BASIC needs login server is done (I need to log the wrong password packet and some super simple stuff like that but it all works currently)

I need to work on setting up the client socket stuff for the game server and then worry about the blowfish encryption, dhkey exchange and all that annoying stuff... i did some of that with my old proxy so it shouldn't be TOO hard... still not fun stuff imo.

HOPEFULLY I'll have a version where I can log a char in within the next day or two (cause I'm slow like that and have very little motivation)


Once I get a version that can login proper and do some basic packets (general data, attack + properly setup database to save/load everything) then I'll make a proper thread to track it seeing as a temporary patch seems to have been decided on.


I do need ideas from people though.

Currently I'm thinking I'll stick to what I know for alot of it. It's very similar to coemu... hell alot of it appears to be directly ripped even though i did write it all myself just that I've written/re-written so many coemu login servers and such that it's just how I tend to code now.

Sql for chars/mobs/accounts/logs

flatfile for itemtype, magictype, portals, shops.. basically anything that will be static.

Npcs will be either same as coemu (in source) or similar to how impulse has it where it's a separate project loaded with a dll.

Dmaps.. prob korv's system simply because I like it.



Instancing/dynamic maps I'm thinking I'll do through selective sending of packets rather than actual clones of maps... Question for people in the know: Will that cause any serious problems if the server is written that way from the start?

Eg: all entities will have a instance number (0 being uninstanced) and only objects in the same instant will be spawned (mobs, npcs, players, effects). Seeing as in most systems I've seen you're already looping through players anyways to spawn thing I don't see one extra check being super difficult processing power wise but if you can think of a good reason for me to avoid it then go for it.

EG x2: Houses would simply be instanced to the player uid... problem solved no one sees it but them. Team teleporting in is set to team leaders instance ID



@ what I HOPE to add for final release



Guilds
General Data packet (so movement, teleporting, flash step, etc)
Trading
Npc/Mall Shops
Vending
Monsters
Attacking (melee, bow, magic)
Skills
Items (equipping, upgrading, removing... all the basic stuff)

SOME item handling (things like exp balls, skill scrolls, potions, scrolls, met/db scrolls... etc

SOME event handling: maybe 1v1 dueling and a simple tourney to show how it can be coded in the source

Some things like interactions and merchant... simply because ppl seem to be too stupid to run through some packet subtypes.

Past that though I don't plan to release any advanced functionality for a public source of this type... don't expect a functional arena system, mentor, subclasses or anything at all advanced


Anyways. Suggestions or things people might like to see in it would be appreciated (Keeping in mind I don't plan on doing anything super complicated and then just throwing it out there for everyone to use... I do keep some stuff private lol.
pro4never is offline  
Old 08/04/2010, 01:00   #8
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
is looking awsome.
So, you putted any deadlines?
And your gonna use it, for opening hellmouth co again?
=]
Fish* is offline  
Old 08/04/2010, 01:11   #9
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
Quote:
Originally Posted by grillmad View Post
is looking awsome.
So, you putted any deadlines?
And your gonna use it, for opening hellmouth co again?
=]
Current deadline is hopefully within 2-3 days to finish up basic logging in. I'm giving myself time because I haven't actually slept and am visiting family... then I get back and have work all week + social life lol... so takes a while.


The plan is to finish up a BASIC version (some of the features I listed in previous post) and then release it for public. Hellmouth (if it comes back, funding would have to happen first + a ton of free time to make it worth playing) will be based on this and may be upgraded to 5290+ patch vs the 5250 public version that I'll eventually release.

Again, tracking thread will be created once I get logging done.
pro4never is offline  
Thanks
1 User
Old 08/04/2010, 01:59   #10
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
Sounds good, very good actually.
Any idea of how base.
Like hybrids?
Fish* is offline  
Old 08/04/2010, 20:36   #11
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
Well if I can get everything working then it will be less of a base than hybrids (some more functionality... hopefully lol)

So I'm having a ***** of a time working on encryption. I've tried grabbing the blowfish and dhkey exchange from immune's 5180 source and also tried the one from my 5270 proxy (so it SHOULDN'T have changed I don't think)

Yes, already showing my nubishness when it comes to making a new source... but how exactly does the dhkey exchange work?

Using the one from immune's source it creates a 333 byte packet to send to the client. The client then flashes past the logging into game server. I assume that is me sending a ****** up packet. Would it be due to the G/P key being from an older patch or something? Can I pull those from the exe or is that something rather difficult to find?

Once I send that packet though the client gets disconnected from the game server without receiving any client packets.


I'm gonna try going back to a different source to look for a dhkey/blowfish that I understand better (ooh coemu... how comforting you are <3) seeing as the one I grabbed from immune's tends to confuse the hell out of me (love his source... it's just not how I tend to think so it ***** up my mind)

<edit>

once I get basic logging in working I def plan to switch everything to async sockets (or possibly before depending on how much of a ***** dhkey ends up being) because sync are more messy than I remember. Not cool.
pro4never is offline  
Old 08/04/2010, 22:10   #12


 
CptSky's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,434
Received Thanks: 1,147
Create blowfish with DR654dt34trg4UI6.

Client connect to server...
Server send DH Key packet with: ServerIV, ClientIV, P, G, A
Client send DH Key packet with: B

P, G are the two public keys of the exchange.
A, B are the two private keys of the exchange.

Client use the A key of the server packet.
Client set blowfish IVs with the server packet.
Server use the B key of the client packet.

Something like this by memory... I need to check the two packets.
CptSky is offline  
Thanks
1 User
Old 08/05/2010, 07:23   #13
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,377
Well encryption and such was annoying me so i switched aproaches and used immune's source for simplicity.

5291 now logs in thanks to updated packets. I do still want to work on a fully custom source but this gives me a way to test my sequences annd packets before hand so that i know it's not a bad packet causing the problem.

Doubting more though that i'll release much. Maybe a simple upgraded version of immune's for the newest tq patch combined with more setup info? How do you feel having a working, easy to setup basic source for the latest tq patch would impact the pserver comunity? Waste of time or useful?

I feel more and more though that if i get a custom or highly featured source i would be far more likely to use it myself vs releasing it. Kinda miss hellmouth
pro4never is offline  
Old 08/05/2010, 11:33   #14
 
bone-you's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 1,491
Received Thanks: 536
My suggestion? Do the latest patch and keep up with that. What features to code/implement? Whatever makes sense to use while keeping the old CO feel of pre 5000. Just because you're on patch 9000+ doesn't mean you have to have every feature functional like official. Pick and choose. Make the server based on what you think it should have, not what the patch # should have. I hate that servers define themselves based on patch # and not by their server name.
bone-you is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[All Sro] Generic Server Stats
04/06/2015 - SRO Coding Corner - 32 Replies
Updated Version This program is a generic server stats program for all Silkroad versions. It uses a lot of the code I have already released as part of my edxSilkroadLoader project to be fully data driven. In addition, I have added in code that shows how to convert the server names from foreign languages into English by hand via code. For SRO versions that block most IPs, like JSRO and TSRO, the names will need to be translated and the program recompiled if you want English names for...
Can anyone help me with generic code injection?
06/16/2009 - General Coding - 1 Replies
Sorry for English, I see this part of e*PvP is mainly in German, but my German sucks badly (although I spent 5 years trying to learn it with little success). My question is not related that much to game hacking/coding and such, but code injection in general. Here is the background - we have a core system client, which is basically a big GUI framework over plain telnet screens. Client also has a built-in OLE and DDE servers, which we are using to extract data from system in most simple...
Generic Anti X-Trap ?
05/21/2007 - General Coding - 0 Replies
Gibts ein universal Anti X-Trap ? Bwz wie kann man die DLLs anpassen für das jeweilige Game ? Gibts da Guides ?
Generic Directx Tools?
11/13/2006 - General Coding - 13 Replies
Gibt es eigentlich ein Tool womit man diverse funktionen für Dx8/9 Programme Einstellen kann? Damit meine ich Funktionen wie z.B das alle Texturen nichtmehr geladen werden etc. Am liebsten wäre mir dann, wenn das Tool automatisch die Prozesse hookt oder sich selbst im System Verzeichniss austauscht.



All times are GMT +2. The time now is 01:12.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.