Quote:
Originally Posted by grillmad
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.