This is a discussion on Github Repository for KO Development within the Private Servers forums, part of the Knight Online (ko4life.com) category; Originally Posted by SheldonCooper
I know the day will come when I will start messing with the KO database xD ...
Allright thanks for reply, much appreciated
/BAZINGAKO in the making xDD
Also make sure that sItem column of blood worm is setted to 702/752.
sIndex is connected with the sItem column, not with sSid.
Get out why you can Sheldon! Haha jk good luck man
... getting back on-topic, again.
Not an awful lot of new functionality, mostly cleanup, bugfixes, optimisations, etc -- recently anyway.
However, lately Aesteris has been hard at work finishing off implementations for the various events, i.e. Border Defense War, Juraid Mountain [just needs one packet we've been trying to log, but USKO's scheduling is horrible], Chaos, Krowaz, etc.
Really, beyond finishing up the events, at this stage, it's mostly polishing/bugfixing. The only functionality that's not yet been implemented is *mostly* lesser-used stuff such as the rental system, which is designed *horribly* officially (not something I'm particularly fond of implementing, but I'll do it anyway. Eventually.), and then of course rewriting all the quest scripts. While we have the official scripts, which *can* be used, we'd prefer to use our own scripting implementation... much nicer/easier to maintain. We really don't want to keep supporting mgame's old buggy implementation any longer than we have to, for porting the scripts...
The client project probably isn't something we'll be doing anything serious with for a long while, so not a great deal of attention's been put to that since the last update.
On a side-note, did a little more backporting, so in addition to the KE client, the ROFD (14xx) client, and *most likely* 15xx (untested though, but if my old emu project's anything to go by, snoxd-koserver shouldn't be missing anything) should be supported should we ever decide to do anything with those particular clients (I doubt it, but... it's still nice to have options). Note that I'm not remotely referring to item data, or anything like that; for the most part it should remain supported in all versions (aside from obvious things like cospre items, wings, etc)...
Doesn't seem like it from this update, but the fact there's really not all that much left to implement speaks wonders for where we're at with the project. It's a pity the repository's private, there's an 'issue' in the tracker which tracks the project's status across all functionality which would honestly be better referred to for a more thorough idea of what's actually done. Alas...
Anyhow, I absolutely cannot wait until this stage is behind us and we're onto serious testing. Progress!
Anyone know what the go is with Krowaz Dominion on official? Is it closed?
Haven't been able to get into the zone to log it.
BDW/Chaos/Juraid we're good for, but Krowaz... >_<
I need to remember to update this thread more.
Might be a few dupes in this list from last time (too lazy to go read the last post, most likely I forgot stuff there anyway), but:
- Implemented character sealing.
- Changed our design regarding instances/zones; instances are now used directly, and not as "subzones" (similar to how it works officially). Essentially this lifts all limitations on it, and speeds things up by not having to route things through the zone to the instance.
- Rewrote event system code to be slightly saner/less redundant (the main goal was to make the system generally make more sense, though we ended up making it considerably more functional/extensible and use far less code for most events.). Hides away all the signup/instancing code, and even stuff like auto-forced parties. Makes custom events an absolute breeze. Also speeds up instance use a lot as there's no longer any need to look up event instances to deal with, for example, players in that instance; an event instance is the zone's instance, so it can all be used directly; no need for additional lookups/locking, so again, much faster.
- Finished off the Juraid Mountain event.
- Implemented unique drop/upgrade notices.
- Expanded upon mining to be considerably more flexible/configurable.
- Implemented fishing system.
- Fixed a handful of issues with the quest system which went semi-unnoticed (okay, mostly ignored) for a while.
- Reimplemented quest state storage; including kill tracking, as the official system is extremely limited (not to mention absurdly hacky... reusing quest states for kill counts, knowing there's only a small amount of room for quest state storage to begin with -.-").
- Cleaned up a lot of the chat/notice code; over time the system had started to evolve into... a complete mess. Due to the nature of the system there's really no clean solution, but it's fairly optimised (and simplified) now which helps a lot. My main problem with the system was it was getting very easy for chat packets (by which I'm including all forms of notices/announcements) to be sent to the wrong place (or more likely, to nowhere...), not to mention formatting the chat packets was VERY easy to accidentally do incorrectly (breaking the chat packet if not crashing the server!).
- Implemented monster stones.
- Implemented Monster Suppression Squad.
- Mostly implemented pets/familiars (just needs a little more TLC I think and then we can call it "done").
- Instances are now persistent. Still a little more work to do on this, but the aim was to allow events/instances to pick up where they left off after the dreaded restart (which, hypothetically would be a brief restart). As such, instance/event states are restored on restart, e.g. with Juraid Mountain, it'd restore the score [kills], set each room's primary/secondary spawns, set the active room, lower all the previous bridges, respawn the mobs not previously killed in that room...
- Reimplemented our private arena implementation to make better use of instances (somewhat, kind of cheated for now... these official-like implementations can be awfully awkward).
- Chaos Dungeon is somewhat implemented; just need to fix an unusual bug with it (or well, see if it's only specific to that client version >_<").
- Started implementing support for 2.0xx; while it was only recently started, there hasn't really been all that much to do -- not a great deal of change packet-wise (so most of the functionality still works fine). Regarding new functionality, achievements are probably the only thing that's going to be an absolute bitch to implement, with the huge variety of very specific achievement triggers (kind of a useless feature anyway, but might be better if we make rewards sensible...).
- Implemented the one 'new' (since 1.298) passive that hadn't been implemented.
- Implemented the Knight Genie.
- Implemented a slightly unofficial version of Forgotten Temple making use of mgame's new functionality. It's instanced, with proper signup (though I can't imagine it'll have more than 1 instance anyway, but I can imagine using it as a base for more custom events).
Obviously a bunch of bug fixes here and there but really, too varied to bother to list (and not much point since the server's not in use yet, thus nobody's waiting on anything being fixed ;p).
Chaos Dungeon is probably the only thing that really needs finishing (as above), otherwise 2.0xx stuff and I guess soccer & zone channels ['force' system] (which I allowed for with the instancing rewrites, though haven't implemented specifics for yet). Possibly Krowaz's Dominion too, but if that's still not re-enabled officially, meh.
Last edited by twostars; 06-07-2014 at 02:50 PM.
- finish the game functionality (... almost >_<").
- implement server protection from the usual suspects (stuff like speed hacking, wall hacking).
- prepare for the building of new content (i.e. polish off the map editor, stuff with models, etc).
- test it. Lots of testing will be needed.
Once that's done, we can begin to (seriously) plan it. I really don't want to half-ass it, or give anyone any false expectations...