Jump to content

twostars

Administrators
  • Content Count

    1658
  • Joined

  • Last visited


Reputation Activity

  1. Like
    twostars got a reaction from IIIAmJohnWick in How to use offline merchants   
    Hey everyone!
    While you have the [Offline Merchant Emblem] equipped, you can setup a selling OR buying merchant (implemented since the launch of the expansion) merchant stall and logout, and your merchant will continue selling its items ingame. You will be able to log into another account while your items are still being sold (note: it must be a different account, you cannot log into side characters).
    Once all items are sold (or the emblem expires, or you log back into your account), your merchant will be logged out.
    NOTE: As is with normal merchanting, you are responsible for making sure you don't go above 21GB - any noah gain above this will be lost and will not be reimbursed.

    You can purchase an [Offline Merchant Emblem Voucher] from the Power-Up Store.


    This voucher can be exchanged at [Familiar Tamer] Kate in Moradon.

    To use it, you must first equip the emblem.

    While the [Offline Merchant Emblem] is equipped, you can /MERCHANT and setup your stall as usual.
    Then you can exit the game.

    Other players will continue to see and use your merchant stall in-game after you're logged out.
    You will only see the "offline merchant" symbol above your head when you're actually offline (and merchanting),
    so you know anybody with this symbol above their head is actually offline.
  2. Thanks
    twostars got a reaction from GOLDCOINFORGM in Need Youtube Channel for ApexKO   
    Yeah, we definitely need to be doing more Facebook promotions.
  3. Thanks
    twostars got a reaction from GOLDCOINFORGM in Need Youtube Channel for ApexKO   
    Yeah, we definitely need to be doing more Facebook promotions.
  4. Like
    twostars got a reaction from IIIAmJohnWick in Need Youtube Channel for ApexKO   
    I just want to preface this by saying we'll consider it.
    With that having said, I think it would be something that's nice to have but not something that would actually help with advertisement (at least, right now).
    The reason for that is we're not really reaching out to a particular audience by doing so. We're still advertising through regular channels (forums, Facebook), which is where they'd come across this video and not YouTube itself. Essentially just complementing the advert in the same way we include images (just... moving images!).
    Additionally, the videos I've seen of private Knight Online servers are pretty much all cringey as all hell. I really don't see this as actually helping people consider playing the server.
    It would be nice to have, if it were established and showcasing activity & events and such (as in, multiple videos over time), and if we actually had someone who could make this happen (I don't think any of the current staff are comfortable with doing this). But for the sole purpose of advertising the server right now, I personally feel like it wouldn't contribute all that much.

    Edit: Just to be clear, they're just my own personal thoughts. We'll talk about it. 
  5. Like
    twostars got a reaction from IIIAmJohnWick in How to use offline merchants   
    Hey everyone!
    While you have the [Offline Merchant Emblem] equipped, you can setup a selling OR buying merchant (implemented since the launch of the expansion) merchant stall and logout, and your merchant will continue selling its items ingame. You will be able to log into another account while your items are still being sold (note: it must be a different account, you cannot log into side characters).
    Once all items are sold (or the emblem expires, or you log back into your account), your merchant will be logged out.
    NOTE: As is with normal merchanting, you are responsible for making sure you don't go above 21GB - any noah gain above this will be lost and will not be reimbursed.

    You can purchase an [Offline Merchant Emblem Voucher] from the Power-Up Store.


    This voucher can be exchanged at [Familiar Tamer] Kate in Moradon.

    To use it, you must first equip the emblem.

    While the [Offline Merchant Emblem] is equipped, you can /MERCHANT and setup your stall as usual.
    Then you can exit the game.

    Other players will continue to see and use your merchant stall in-game after you're logged out.
    You will only see the "offline merchant" symbol above your head when you're actually offline (and merchanting),
    so you know anybody with this symbol above their head is actually offline.
  6. Like
    twostars got a reaction from IIIAmJohnWick in How to use offline merchants   
    Hey everyone!
    While you have the [Offline Merchant Emblem] equipped, you can setup a selling OR buying merchant (implemented since the launch of the expansion) merchant stall and logout, and your merchant will continue selling its items ingame. You will be able to log into another account while your items are still being sold (note: it must be a different account, you cannot log into side characters).
    Once all items are sold (or the emblem expires, or you log back into your account), your merchant will be logged out.
    NOTE: As is with normal merchanting, you are responsible for making sure you don't go above 21GB - any noah gain above this will be lost and will not be reimbursed.

    You can purchase an [Offline Merchant Emblem Voucher] from the Power-Up Store.


    This voucher can be exchanged at [Familiar Tamer] Kate in Moradon.

    To use it, you must first equip the emblem.

    While the [Offline Merchant Emblem] is equipped, you can /MERCHANT and setup your stall as usual.
    Then you can exit the game.

    Other players will continue to see and use your merchant stall in-game after you're logged out.
    You will only see the "offline merchant" symbol above your head when you're actually offline (and merchanting),
    so you know anybody with this symbol above their head is actually offline.
  7. Like
    twostars got a reaction from Sierra in Our server   
    Unlike other servers, we've put a lot of work into our server -- several years worth, in fact. Actually, I can safely say that we're the reason that most people are even using source code to develop servers now, rather than messing with the official binaries.
    This is why I'd like to go into some detail about our server, since it's not something that's usually talked about outside of bug reports and such.
    A brief history
    Our server was initially created as a result of our attempts to push open source development in the Knight Online community, in 2012~2013.
    The project's intent was to update the official C++ source files (for ~1.06x) to a usable state for community learning purposes.
    Although the project ultimately went closed source due to lack of community attention, in the years since then we've made leaps and bounds with the project, rewriting most systems from the ground up to behave in a more logical and optimised fashion, doing our best to respect both DRY (Don't Repeat Yourself) and KISS (Keep It Simple, Stupid) principles, as well as updating to support the latest version of Knight Online (2.1xx at the time of writing).
    It has been a monumental undertaking, but in doing so, we've learned a lot about how the official server works (and even more about how it doesn't), and have always striven to improve upon it (as well as our own implementation).
    Accuracy
    While we do deviate in some regards (with good intentions), accuracy is very important to us.
    We have spent a great deal of time reversing official server and client binaries, as well as testing behaviour on official and scouring through its packet logs.
    As-is, we're confident that in most respects that have any importance (e.g. damage calculations, rates, etc.) our implementations behave the same as (or very, very close to) official's.
    Cheat detection
    While official and 99% of private servers rely on client checks to detect cheating, we do not believe in playing this easily-bypassable game of cat and mouse. As such, our server is very proactive in its detection of cheat methods to lock them down permanently, i.e. with no means of bypass.
    From ensuring we deal with client input in a safe manner to things like verifying every step of the skill casting process, or enforcing tight server-side collision and movement speed checks, we always strive to ensure that players have no vector for abuse. Obviously this is always a work-in-progress and isn't perfect or complete (what is?), and we're introducing new logic to prevent more general cheating behaviour as it pops up, but we're proud of how far we've come - and that we've come so far compared to official (and other private servers) in this regard.
    Performance
    Aesteris and I have both put years into developing this server (and I'm sure there's many more to come), and at this point I'm confident in saying our server performs - in most respects - better than official. On this note, we've found that many official bugs are caused by design flaws or simply their tendency to copy & paste their logic (and miss things).
    During implementation, we are always ever-present of performance concerns, be it in regards to how much time/resources a player request can consume (or anything in general), how costly a database hit will be, or even how much data is being (unnecessarily) sent to players -- performance matters to us, because it matters to players. A server falling under its own weight isn't worth playing.
    Zone instances are one interesting example of this. Officially and in 99% of private servers, "instances" are implemented such that when dealing with anyone in an instance, it still has to deal with all players in that zone (i.e. all instances of that zone). So instead of the 16 people we want to deal with in our Border Defense War instance, we deal with the 200 players across all of them.
    Here, we implement this system fairly logically: each instance is a self-contained unit attached to a zone. When dealing with players (or NPCs/monsters for that matter) in these instances, we only ever deal with the 16 actually in it.
    Similarly, officially we've noticed they tend to scan the entire server when looking for players to affect with skills nearby. As always, this extends to private servers as well, though most will have this (slightly) optimised from when this was open source. Here, of course, we only ever look for those actually near the player.
    This extends even to our database implementation. Beyond optimising the database design to avoid unnecessary or overly intensive lookups, we've also moved away from Microsoft SQL Server as - while it's a decent product - in several situations, it doesn't fit our performance needs (we also mostly moved away from Windows in general, which was another reason for dropping it).
    While not all are, many of our performance improvements are entirely noticeable by players. For example: unlike official or other private servers, there is close to no delay in logging in and selecting your character (the only delay is your own connection latency; officially and on other private servers, these backend requests take quite some time themselves). Additionally, we optimise our outgoing traffic to avoid congestion on the player side -- which saves you (and us) bandwidth, and means the client isn't bogged down as much processing the traffic.
    Events (and timing)
    Although fairly common with most of our systems, I feel that our event system (in no small part because of our timed event system) should be pointed out in particular as it is a colossal improvement over the way official implements events (as well as other private servers).
    Officially (and again, other private servers -- these go hand in hand), events are scheduled based on specific time checks. That is, if an event is scheduled at 01/02/2017 12:30PM, their game timer will check (every 6 seconds) if the current time matches. That is, it'll check if the day is 1, month is 2, year is 2017, hour is 12 and minutes are 30. Every 6 seconds.
    This means that issues with clock changes can easily upset it, not to mention issues with restarts not realising it has yet to run even though the time has passed (because it isn't exactly that time!).
    Here, we have a scheduler for timed events. Times scheduled in the past will run immediately, while times in the future will run once that time has passed. As always, we're ever-present of performance concerns, and scheduling in this manner can be very sensitive performance-wise, but in its present state our scheduling system performs wonderfully.
    Virtually everything timing-related in our server runs via this system in 1 of 2 ways (again, for performance reasons): in a "precise" mode, where we require a higher granularity (e.g. skill timings), or in a general mode for everything else that matters a lot less (e.g. event scheduling).
    From scheduling to running parts of the events, timing is very important with events.
    As I've mentioned previously, our implementations aim to behave logically. We also aim to keep features as self-contained as possible, unlike official, where you have random logic strewn about that exists that doesn't have an obvious use until you determine it's for, say, a specific case in an event.
    Obviously, when your codebase is littered with random things like this, it's very difficult to maintain, and very prone to bugs. We're all familiar with the bugginess of Knight Online; official servers, particularly. This is why.
    In contrast, we keep all of our event logic with the rest of that event's logic. And I don't mean just keeping it in the same source files.
    I mean, as a common example, if we need to handle the death of a player or monster in this event, we implement a specialized zone instance class for this event's instance, and override its OnDeath() event. Meaning, it's only ever handled in this event by design and no other logic needs to be aware of it.
    As previously said: we aim to implement things logically, in an attempt to keep things readily maintainable and avoid bugs.
    Custom behaviour
    While accuracy is important to us, so is an improved player experience.
    For starters, we're perfectly comfortable with taking features and reworking them into something that can be of use. For example: our in-game Class Transfer feature. This feature doesn't exist officially; it uses the official Nation Transfer feature to accomplish this, as the UI provides the ability to change their desired features -- which is the only time a player needs to make a decision (beyond their desired class, which we accomplish by prompting for that in the NPC -- easy!).
    Another example of this is taking their event system and reimplementing the Forgotten Temple and Juraid Mountain events to work with it, so players can now simply use the sign-up feature to access this event, rather than finding and talking to their respective NPCs. This means a much nicer user experience and increased participation to the events.
    And how about our clan banks? Their inn UI was easily repurposed for this custom feature that again, does not exist officially.
    And to finish this off...
    It's very easy to see this as "another server", but you need to realise that everything implemented in the game -- everything! -- has been written by us, at this point, from scratch. At the beginning of this project (which if memory serves was aiming to get it up and running with 1.8xx), we didn't have things like merchanting, we didn't have upgrades, let alone any type of event (even old events like Forgotten Temple or Bifrost). For a while I personally didn't really think we'd end up getting it anywhere, but continued to work on it in my spare time regardless.
    Now we have a fully-featured, highly optimised server implementing almost everything official has to offer.
    We've come a very, very long way in this time. We have more work to do (as always), but I hope this at least gives a small glimpse into what's actually involved behind-the-scenes in actual server development and why we're different to other servers.
  8. Like
    twostars got a reaction from RuneKingThor in Clan Assistant Bug   
    Should be fixed. Thanks for your patience.
  9. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  10. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  11. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  12. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  13. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  14. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  15. Thanks
    twostars got a reaction from GuruLegend in Lag? Disconnections??   
    Hey guys,
    Once again, been a while since our last major status update. Since, we've updated the client, implemented the Castellan dungeon and rewritten the King system. I'm not going to reiterate what I've said there, but the remainder for the most part still needs to be done. More on that in a bit.
    We're also now trialling our new Turkish GM Eos as we've been lacking a staff member who can support our Turkish playerbase. Please give him a warm welcome.
    But the lag though~
    Firstly though, I want to talk about the lag and disconnections that have started happening recently. This has been an issue for some for a while longer, but was made noticeable when we started being more strict about how much players were allowed to lag before we kick them (otherwise we end up with issues such as players appearing to be cheating because they're lagging behind).
    This lag has been a recurring issue we've experienced with our provider, HyperFilter. Each time they've gone away and eventually dealt with it (after back and forthing with them trying to stress that it is indeed an issue). It's something we're aware of and we're always dealing with, although it may not seem like it.
    At this point, we think they're rather overrated and terrible value for money, so we've decided to switch providers.
    This switch also means upgrading hardware, because it's been 4 years since we started with HyperFilter -- 4 years technology wise is a huge gap. At this point, the newer hardware is cheaper than what we're currently paying for our much older hardware (RIP. We should really consider upgrading more regularly).
    Additionally, their DDoS mitigation scales much better than HyperFilter's ever did, meaning in future, if need be we have the option at our disposal.
    Location wise, it will still be hosted in Amsterdam. Regular latency should be much the same; HyperFilter's own latency issues aside, players all over the world in general haven't been too severely impacted by its location (obviously there are exceptions, but in general it's been a great choice).
    In addition to this, we're excited to try out a beta service our new provider offers which attempts to reduce latency for game services in a manner similar to how services like WTFast work (just from their end). We're very hopeful this will further help players with latency issues, although we have no other real info on this right now (we're still looking into getting it hooked up to give it a try).
    We've been setting these up all week, and will most likely be fully switching things over on Monday. As there's a lot of data to migrate we'll probably have a 12 hour downtime, though the exact time will still be figured out.
    Alongside the move, we're looking at addressing some other longstanding issues players have experienced.
    We'll be dropping CloudFlare. As great as CloudFlare is at caching content, players have consistently had issues connecting to certain nodes causing page timeouts that we can't do anything about. If you've PM'd me about this -- this is why I (probably) haven't responded. Once we drop CloudFlare, these timeouts should disappear and the site should be consistently usable again.
    Unfortunately this also means screwing with our SSL certificate; we'll have a new one, so browsers may briefly have issues with this change. Fingers crossed for the best though.
    We've also updated caching. This has caused some odd issues with the website, particularly with identifying recent emails.
    On a similar note, we're no longer serving our own emails; this is now being offloaded to SendGrid. For those that don't receive their emails or take a while to receive them, this should help out a lot. This change has already been made to the forums, so emails should be working much better here right now.
    Finally, we've made some general backend updates to the website, and the webserver happens to have a lot more resources to work with now. This speeds things up noticeably. The general functionality & design of the website remains the same.
    When we switch things over to the new provider, these changes should all be pretty noticeable.
    Regarding the game itself, we've also decided to update the compiler considerably. This wouldn't normally be worth mentioning if we didn't rely on several language features that have been changed/improved.
    One specific example is our random number generation. There's been a lot of concerns with this (particularly in regards to it giving recurring results), but it's very hard to find fault in RNG; rate tests have given us reasonably accurate results, so my general response to this is always "RNG is RNG". I also want to trial a different approach for this; this will probably be done before we migrate, just to see if there's any noticeable difference in recurring results.
    Additionally, in the compiler we were using, it's been reported that it does not know how to optimise 'lambdas' well. As our code relies a lot on lambdas (really, a lot), we should see a lot of our code that's run a lot (e.g. sending data to players in nearby regions) get sped up. Exciting for us, anyway.
    Fingers crossed for these performance improvements come Monday!
    That's great and all... but I heard there was going to be a new expansion? And where's my UTC??
    Yes. There's a new expansion in the works, and UTC is part of it. It really isn't too far away.
    Actually, we hoped to release the expansion at the same time as the move, but since I insisted on updating software (and updating/fixing everything that uses it) and generally improving the infrastructure, the migration ate up a lot more time than we anticipated. Whoops.
    I don't have a date for it, but considering we originally hoped it'd be released this weekend, it shouldn't be too far away.
    So once that's released, what's next?
    We still want to continue making progress with our client source project. The plan is to get back to focusing on that after the UTC expansion is sorted, as that is our long-term goal.
    Additionally, as in the last major status update, we still want to contract a developer/designer for a new website. As-is, the website is clunky and doesn't offer everything we'd like it to. It also doesn't make a great first impression, and unfortunately that's rather important in attracting new players (aesthetics was never our strong suit D:).
    Until next time!
  16. Like
    twostars got a reaction from YouGotPwndByMyAss in Words filtering, WTF?   
    Ask mgame; it's their doing. "AFK" gets censored because of "fk".
    It's really lazy.
  17. Like
    twostars got a reaction from Sierra in Eden&HANGOVER vs Elior&YouGotPwndByMyAssJewishDariusKairi REWARD: 15K KC   
    I'm all for friendly banter, but this is taking it way too far.
    Invading people's privacy and abusing their family members is so far over the line that I never thought this would be something I'd ever have to deal with in a private server environment.
    Enjoy your ban. Hopefully by the time it eventually expires you'll have had some personal reflection and, hopefully, will consider - at the very least - apologising to them.
    Really. It's just a game, guys. Chill the hell out.
  18. Like
    twostars got a reaction from Sierra in Our server   
    Unlike other servers, we've put a lot of work into our server -- several years worth, in fact. Actually, I can safely say that we're the reason that most people are even using source code to develop servers now, rather than messing with the official binaries.
    This is why I'd like to go into some detail about our server, since it's not something that's usually talked about outside of bug reports and such.
    A brief history
    Our server was initially created as a result of our attempts to push open source development in the Knight Online community, in 2012~2013.
    The project's intent was to update the official C++ source files (for ~1.06x) to a usable state for community learning purposes.
    Although the project ultimately went closed source due to lack of community attention, in the years since then we've made leaps and bounds with the project, rewriting most systems from the ground up to behave in a more logical and optimised fashion, doing our best to respect both DRY (Don't Repeat Yourself) and KISS (Keep It Simple, Stupid) principles, as well as updating to support the latest version of Knight Online (2.1xx at the time of writing).
    It has been a monumental undertaking, but in doing so, we've learned a lot about how the official server works (and even more about how it doesn't), and have always striven to improve upon it (as well as our own implementation).
    Accuracy
    While we do deviate in some regards (with good intentions), accuracy is very important to us.
    We have spent a great deal of time reversing official server and client binaries, as well as testing behaviour on official and scouring through its packet logs.
    As-is, we're confident that in most respects that have any importance (e.g. damage calculations, rates, etc.) our implementations behave the same as (or very, very close to) official's.
    Cheat detection
    While official and 99% of private servers rely on client checks to detect cheating, we do not believe in playing this easily-bypassable game of cat and mouse. As such, our server is very proactive in its detection of cheat methods to lock them down permanently, i.e. with no means of bypass.
    From ensuring we deal with client input in a safe manner to things like verifying every step of the skill casting process, or enforcing tight server-side collision and movement speed checks, we always strive to ensure that players have no vector for abuse. Obviously this is always a work-in-progress and isn't perfect or complete (what is?), and we're introducing new logic to prevent more general cheating behaviour as it pops up, but we're proud of how far we've come - and that we've come so far compared to official (and other private servers) in this regard.
    Performance
    Aesteris and I have both put years into developing this server (and I'm sure there's many more to come), and at this point I'm confident in saying our server performs - in most respects - better than official. On this note, we've found that many official bugs are caused by design flaws or simply their tendency to copy & paste their logic (and miss things).
    During implementation, we are always ever-present of performance concerns, be it in regards to how much time/resources a player request can consume (or anything in general), how costly a database hit will be, or even how much data is being (unnecessarily) sent to players -- performance matters to us, because it matters to players. A server falling under its own weight isn't worth playing.
    Zone instances are one interesting example of this. Officially and in 99% of private servers, "instances" are implemented such that when dealing with anyone in an instance, it still has to deal with all players in that zone (i.e. all instances of that zone). So instead of the 16 people we want to deal with in our Border Defense War instance, we deal with the 200 players across all of them.
    Here, we implement this system fairly logically: each instance is a self-contained unit attached to a zone. When dealing with players (or NPCs/monsters for that matter) in these instances, we only ever deal with the 16 actually in it.
    Similarly, officially we've noticed they tend to scan the entire server when looking for players to affect with skills nearby. As always, this extends to private servers as well, though most will have this (slightly) optimised from when this was open source. Here, of course, we only ever look for those actually near the player.
    This extends even to our database implementation. Beyond optimising the database design to avoid unnecessary or overly intensive lookups, we've also moved away from Microsoft SQL Server as - while it's a decent product - in several situations, it doesn't fit our performance needs (we also mostly moved away from Windows in general, which was another reason for dropping it).
    While not all are, many of our performance improvements are entirely noticeable by players. For example: unlike official or other private servers, there is close to no delay in logging in and selecting your character (the only delay is your own connection latency; officially and on other private servers, these backend requests take quite some time themselves). Additionally, we optimise our outgoing traffic to avoid congestion on the player side -- which saves you (and us) bandwidth, and means the client isn't bogged down as much processing the traffic.
    Events (and timing)
    Although fairly common with most of our systems, I feel that our event system (in no small part because of our timed event system) should be pointed out in particular as it is a colossal improvement over the way official implements events (as well as other private servers).
    Officially (and again, other private servers -- these go hand in hand), events are scheduled based on specific time checks. That is, if an event is scheduled at 01/02/2017 12:30PM, their game timer will check (every 6 seconds) if the current time matches. That is, it'll check if the day is 1, month is 2, year is 2017, hour is 12 and minutes are 30. Every 6 seconds.
    This means that issues with clock changes can easily upset it, not to mention issues with restarts not realising it has yet to run even though the time has passed (because it isn't exactly that time!).
    Here, we have a scheduler for timed events. Times scheduled in the past will run immediately, while times in the future will run once that time has passed. As always, we're ever-present of performance concerns, and scheduling in this manner can be very sensitive performance-wise, but in its present state our scheduling system performs wonderfully.
    Virtually everything timing-related in our server runs via this system in 1 of 2 ways (again, for performance reasons): in a "precise" mode, where we require a higher granularity (e.g. skill timings), or in a general mode for everything else that matters a lot less (e.g. event scheduling).
    From scheduling to running parts of the events, timing is very important with events.
    As I've mentioned previously, our implementations aim to behave logically. We also aim to keep features as self-contained as possible, unlike official, where you have random logic strewn about that exists that doesn't have an obvious use until you determine it's for, say, a specific case in an event.
    Obviously, when your codebase is littered with random things like this, it's very difficult to maintain, and very prone to bugs. We're all familiar with the bugginess of Knight Online; official servers, particularly. This is why.
    In contrast, we keep all of our event logic with the rest of that event's logic. And I don't mean just keeping it in the same source files.
    I mean, as a common example, if we need to handle the death of a player or monster in this event, we implement a specialized zone instance class for this event's instance, and override its OnDeath() event. Meaning, it's only ever handled in this event by design and no other logic needs to be aware of it.
    As previously said: we aim to implement things logically, in an attempt to keep things readily maintainable and avoid bugs.
    Custom behaviour
    While accuracy is important to us, so is an improved player experience.
    For starters, we're perfectly comfortable with taking features and reworking them into something that can be of use. For example: our in-game Class Transfer feature. This feature doesn't exist officially; it uses the official Nation Transfer feature to accomplish this, as the UI provides the ability to change their desired features -- which is the only time a player needs to make a decision (beyond their desired class, which we accomplish by prompting for that in the NPC -- easy!).
    Another example of this is taking their event system and reimplementing the Forgotten Temple and Juraid Mountain events to work with it, so players can now simply use the sign-up feature to access this event, rather than finding and talking to their respective NPCs. This means a much nicer user experience and increased participation to the events.
    And how about our clan banks? Their inn UI was easily repurposed for this custom feature that again, does not exist officially.
    And to finish this off...
    It's very easy to see this as "another server", but you need to realise that everything implemented in the game -- everything! -- has been written by us, at this point, from scratch. At the beginning of this project (which if memory serves was aiming to get it up and running with 1.8xx), we didn't have things like merchanting, we didn't have upgrades, let alone any type of event (even old events like Forgotten Temple or Bifrost). For a while I personally didn't really think we'd end up getting it anywhere, but continued to work on it in my spare time regardless.
    Now we have a fully-featured, highly optimised server implementing almost everything official has to offer.
    We've come a very, very long way in this time. We have more work to do (as always), but I hope this at least gives a small glimpse into what's actually involved behind-the-scenes in actual server development and why we're different to other servers.
  19. Like
    twostars got a reaction from Free2Play in Ronark Land Board Bugg   
    This has been fixed (for realsies) in the next patch.
  20. Thanks
    twostars got a reaction from wezz in Some Topic Suggestions for the Forums   
    Just dumped these from the database, hopefully it's readable enough:
     
     
  21. Thanks
    twostars got a reaction from Built4CZ in In-game titles   
    Trainee Soldier
    Defeat 100 Enemy User
    Attack: +10
    Soldier
    Defeat 500 Enemy User
    Attack: +10
    Defense: +20
    General
    Defeat 1,000 Enemy User
    Attack: +13
    Defense: +1
    Berserker
    Defeat 5,000 Enemy User
    Attack: +26
    God of War
    Defeat 10,000 Enemy User
    Dagger resist: +1
    Jamadar resist: +1
    Sword resist: +1
    Over God
    Defeat 20,000 Enemy User
    Defense: +10
    Dagger resist: +1
    Sword resist: +1
    Mace resist: +1
    Axe resist: +1
    Overmind
    Defeat 30,000 Enemy User
    STR: +1
    HP: +2
    DEX: +1
    INT: +1
    MP: +1
    Attack: +13
    Can't Lose
    Succeed in Revenge x 100
    Attack: +20
    Revenger
    Succeed in Revenge x 500
    Defense: +70
    Hatred
    Succeed in Revenge x 1,000
    Attack: +20
    Defense: +40
    Fighter
    Win 100 times against another user at Moradon Duel
    HP: +4
    Attack: +4
    Undaunted
    Win 1,000 times against another user at Moradon Duel
    STR: +1
    HP: +3
    DEX: +1
    INT: +1
    MP: +1
    Arena Legend
    Win 10,000 times against another user at Moradon Duel
    STR: +9
    Ardream Veteran
    Defeat 100 Enemy Nation User at Ardream
    Glacier damage: +6
    Ardream's Revenger
    Succeed 100 times of Revenge in Ardream
    STR: +6
    Military Base Veteran
    Defeat Enemy Nation User 100 times in Ronarkland
    HP: +6
    Military Base Revenger
    Succeed 100 times of Revenge in Ronarkland
    DEX: +6
    Ronarkland Soldier
    Defeat Enemy Nation User 100 times in Ronarkland
    HP: +2
    Attack: +5
    Defense: +5
    Ronarkland Warrior
    Defeat Enemy Nation User 500 times in Ronarkland
    HP: +1
    DEX: +5
    Ronarkland Veteran
    Defeat Enemy Nation User 1,000 times in Ronarkland
    Attack: +20
    Defense: +10
    Ronarkland Legend
    Defeat Enemy Nation User 10,000 times in Ronarkland
    Attack: +33
    Ronarkland Revenger
    Succeed in Revenge 100 times in Ronarkland
    MP: +10
    Lunar War Soldier
    Defeat Nation User 100 times in Lunar War
    STR: +4
    HP: +1
    Lunar War Warrior
    Defeat Nation User 500 times in Lunar War
    STR: +5
    HP: +1
    Lunar War Veteran
    Defeat Nation User 1,000 times in Lunar War
    Attack: +15
    Defense: +15
    XP: +1%
    Lunar War Legend
    Defeat Nation User 10,000 times in Lunar War
    INT: +20
    Lunar War Revenger
    Succeed in Revenge 100 times in Lunar War
    DEX: +10
    Commander
    Win 100 times in Lunar War
    HP: +9
    Impregnable
    Win 100 times in Nation Guard Battle
    Defense: +90
    The Best
    Win First Place 10 times in Chaos War
    INT: +2
    MP: +4
    Most Popular
    Win First Palce 100 times in Chaos War
    STR: +5
    HP: +4
    2nd Best
    Win Second Place 10 times in Chaos War
    MP: +7
    3rd Best
    Win Third Place 10 times in Chaos War
    HP: +2
    DEX: +3
    Commander of Chaos
    30 or more kills in Chaos War
    Dagger resist: +1
    Jamadar resist: +1
    Gone Mad
    40 or more kills in Chaos War
    INT: +14
    For better or worse
    50 or more kills in Chaos War
    Attack: +13
    NP: +1
    King of Evil Spirit
    Win 100 times at Juraid War
    HP: +5
    INT: +10
    Crown Prince
    Cumulative Win x 10 at Castle Siege
    NP: +1
    XP: +1%
    King
    Cumulative Win x 50 at Castle Siege
    Attack: +20
    NP: +2
    Emperor
    Cumulative Win x 100 at Castle Siege
    NP: +2
    Spearhead
    At Lunar War, defeat #1, #2 Chief Guards
    Flame damage: +1
    Glacier damage: +3
    Lightning damage: +1
    Defeated Enemy General
    Defeat Chief Gate Keeper at Lunar War
    Flame damage: +1
    Glacier damage: +1
    Lightning damage: +3
    Darkness Shadow
    Complete Assassin Expert I and II
    HP: +4
    DEX: +6
    Hunter
    Complete Bulk of Silk
    Defense: +5
    Novice Hunter
    Defeat 100 Ronarkland Monster
    Attack: +3
    Noob
    Defeat 1,000 Ronarkland Monster
    HP: +2
    Novice Archer
    Defeat 5,000 Ronarkland Monster
    Attack: +5
    Defense: +5
    XP: +1%
    Chaser
    Defeat 10,000 Ronarkland Monster
    MP: +6
    XP: +2%
    Beast Master
    Defeat 30,000 Ronarkland Monster
    Glacier damage: +8
    Previous Life
    Do not get killed and defeat 100 monsters
    Attack: +2
    Defense: +4
    Proficient
    Do not get killed and defeat 1,000 monsters
    INT: +4
    Expert
    Do not get killed and defeat 10,000 monsters
    Defense: +40
    Four Phases of Life
    Do not get killed and defeat 100,000 monsters
    Attack: +10
    XP: +3%
    Immortal
    Do not get killed and defeat 1,000,000 monsters
    Attack: +25
    Defense: +5
    Sprout
    Defeat 1 Worm in Moradon
    HP: +1
    Street Smart
    Defeat [Chief] Hideous, [Chief] Bandiking in Moradon

    Ignorant
    Complete Wings in the Fog 1, and 2 in Moradon
    MP: +3
    Patience
    Defeat 100 Gliptodont
    STR: +1
    HP: +1
    Wolf Hunter
    Defeat 100 Dire Wolf, Shadow Seeker, Loup-garou, Lycan
    HP: +1
    DEX: +1
    Deadly Poisonus
    Defeat Pincer or Paralyzer or Scorpion
    DEX: +2
    Undead Hunter
    Defeat Rotten Eyes and Undying
    MP: +2
    All Resource Guardian
    Defeat 100 Shadow Cracks

    Troller
    (Castle) Defeat 200 Gaf or Troll

    Bony
    (Castle) Abandoned Bones I & II
    DEX: +3
    Goblin's Enemy
    (Castle) Complete Goblin Family I & II
    INT: +6
    MP: +2
    Awesome Expert
    (Castle) Defeat Aif x 2000
    STR: +1
    HP: +1
    DEX: +1
    INT: +2
    MP: +1
    Fireworks
    (Castle) Complete Extreme Pain, Flaming Heart
    Flame damage: +4
    Skull King
    (Castle) Defeat 200 Dragon Tooth Commander, 200 Dragon Tooth Skeleton
    HP: +5
    Orc's Enemy
    (Castle) Complete Orc Slayer I & II
    STR: +3
    Blitz
    Defeat 100 Storming Spostle in Eslant
    Lightning damage: +2
    Whipped
    Defeat 100 Balog in Eslant

    Flame
    Defeat 100 Apostle of Flames in Eslant
    Flame damage: +2
    Solid
    Defeat 200 Titan or Dark Stone in Eslant
    Defense: +20
    Chill
    Defeat 100 Apostle of Piercing Cold in Eslant
    Glacier damage: +2
    Blue Skin
    Defeat 100 each for Forwird or Forwird Warrior; Forwird Knight or Captain in Ronark Land Base
    Attack: +3
    Defense: +1
    Phantom
    Defeat 1000 Phantom in Desperation Abyss
    STR: +1
    XP: +1%
    Queen
    Complete Server of the Queen, For Knights in Hell Abyss
    STR: +2
    HP: +2
    Hate Spider
    Defeat 1000 Taratula in Delos Basement
    DEX: +1
    XP: +1%
    Underworld
    Complete Testing the King and Nightmare of Spiderman in Delos Basement
    HP: +1
    DEX: +3
    Archeologist
    Complete Draki's Trace and Tracks in Ronarkland
    INT: +10
    Guardian
    Complete Guardian of the Guardian Tower I and II in Ronarkland
    STR: +4
    Elder
    Complete Ronarkland Elder I and II in Ronarkland
    HP: +3
    INT: +4
    Task Expert
    Complete Work Procedure I and II in Ronarkland
    HP: +4
    INT: +2
    Dragon Slayer
    Defeat 100 Red Dragon in Ronarkland
    Flame damage: +9
    Most Speedy
    Destroy Chaos Stone 100 Times in Ronarkland
    Attack: +10
    Defense: +60
    Like a Dog
    Defeat 1000 Goloras in Ronarkland
    Flame damage: +5
    Orc Slayer
    Complete In Between the Arrow and Magic and In Between Two Swords in Ronarkland
    Sword resist: +2
    Bow resist: +1
    Not a Sinner
    Complete 4 Sins and 3 Sins in Ronarkland
    Flame resist: +2
    Glacier resist: +1
    Lightning resist: +2
    Magic resist: +1
    Curse resist: +2
    Poison resist: +2
    Chaos Domination
    Complete Monster born in Chaos I and II in Ronarkland
    Flame damage: +2
    Glacier damage: +3
    Lightning damage: +3
    Slayer
    Defeat Red Dragon and Dark Dragon
    HP: +2
    Jamadar resist: +1
    Juraid Knight
    Complete Juraid Monster III and Seed of Evil in Jurad
    Lightning damage: +6
    Magician
    Defeat Krowaz in Krowaz's Dominion
    Flame resist: +8
    Ursa
    Defeat 100 Minotaur in Krowaz's Dominion
    MP: +1
    XP: +1%
    Treasure Hunter
    Defeat 10 Treasure Boxes in Krowaz's Dominion
    DEX: +4
    Castle Destroyer
    Do not get killed and defeat Mammoth the 3rd to Crashergimmic
    Lightning damage: +7
    Kimera
    Do not get killed and defeat Purious
    DEX: +7
    NP: +1
    Saved from the Flame
    Do not get killed and defeat Mammoth the 3rd to Pluwitoon
    HP: +7
    NP: +1
    Fire Destroyer
    Do not get killed and defeat Mammoth the 3rd and [Destroyer of Flame] Pluwitoon
    STR: +7
    NP: +1
    Castle King
    Complete Immortal of Under the Castle I and II
    HP: +3
    NP: +1
    ¡Ú KNIGHT 11TH ¡Ú
    Complete 11th Anniversary Quest of Julian
    STR: +1
    DEX: +1
    INT: +2
    MP: +1
    2013 Thanksgiving
    Deliver 50 Moon pieces to Magipie Mother for the year 2013.
    HP: +4
    13Th Snow Knight
    13Th Snow Knight
    HP: +3
    Glacier damage: +2
    Glacier resist: +2
    Relic Protector
    Relic Protector
    XP: +5%
    Juraid Protector
    Win 150 times at Juraid War
    Defense: +100
     
  22. Thanks
    twostars got a reaction from Built4CZ in In-game titles   
    Trainee Soldier
    Defeat 100 Enemy User
    Attack: +10
    Soldier
    Defeat 500 Enemy User
    Attack: +10
    Defense: +20
    General
    Defeat 1,000 Enemy User
    Attack: +13
    Defense: +1
    Berserker
    Defeat 5,000 Enemy User
    Attack: +26
    God of War
    Defeat 10,000 Enemy User
    Dagger resist: +1
    Jamadar resist: +1
    Sword resist: +1
    Over God
    Defeat 20,000 Enemy User
    Defense: +10
    Dagger resist: +1
    Sword resist: +1
    Mace resist: +1
    Axe resist: +1
    Overmind
    Defeat 30,000 Enemy User
    STR: +1
    HP: +2
    DEX: +1
    INT: +1
    MP: +1
    Attack: +13
    Can't Lose
    Succeed in Revenge x 100
    Attack: +20
    Revenger
    Succeed in Revenge x 500
    Defense: +70
    Hatred
    Succeed in Revenge x 1,000
    Attack: +20
    Defense: +40
    Fighter
    Win 100 times against another user at Moradon Duel
    HP: +4
    Attack: +4
    Undaunted
    Win 1,000 times against another user at Moradon Duel
    STR: +1
    HP: +3
    DEX: +1
    INT: +1
    MP: +1
    Arena Legend
    Win 10,000 times against another user at Moradon Duel
    STR: +9
    Ardream Veteran
    Defeat 100 Enemy Nation User at Ardream
    Glacier damage: +6
    Ardream's Revenger
    Succeed 100 times of Revenge in Ardream
    STR: +6
    Military Base Veteran
    Defeat Enemy Nation User 100 times in Ronarkland
    HP: +6
    Military Base Revenger
    Succeed 100 times of Revenge in Ronarkland
    DEX: +6
    Ronarkland Soldier
    Defeat Enemy Nation User 100 times in Ronarkland
    HP: +2
    Attack: +5
    Defense: +5
    Ronarkland Warrior
    Defeat Enemy Nation User 500 times in Ronarkland
    HP: +1
    DEX: +5
    Ronarkland Veteran
    Defeat Enemy Nation User 1,000 times in Ronarkland
    Attack: +20
    Defense: +10
    Ronarkland Legend
    Defeat Enemy Nation User 10,000 times in Ronarkland
    Attack: +33
    Ronarkland Revenger
    Succeed in Revenge 100 times in Ronarkland
    MP: +10
    Lunar War Soldier
    Defeat Nation User 100 times in Lunar War
    STR: +4
    HP: +1
    Lunar War Warrior
    Defeat Nation User 500 times in Lunar War
    STR: +5
    HP: +1
    Lunar War Veteran
    Defeat Nation User 1,000 times in Lunar War
    Attack: +15
    Defense: +15
    XP: +1%
    Lunar War Legend
    Defeat Nation User 10,000 times in Lunar War
    INT: +20
    Lunar War Revenger
    Succeed in Revenge 100 times in Lunar War
    DEX: +10
    Commander
    Win 100 times in Lunar War
    HP: +9
    Impregnable
    Win 100 times in Nation Guard Battle
    Defense: +90
    The Best
    Win First Place 10 times in Chaos War
    INT: +2
    MP: +4
    Most Popular
    Win First Palce 100 times in Chaos War
    STR: +5
    HP: +4
    2nd Best
    Win Second Place 10 times in Chaos War
    MP: +7
    3rd Best
    Win Third Place 10 times in Chaos War
    HP: +2
    DEX: +3
    Commander of Chaos
    30 or more kills in Chaos War
    Dagger resist: +1
    Jamadar resist: +1
    Gone Mad
    40 or more kills in Chaos War
    INT: +14
    For better or worse
    50 or more kills in Chaos War
    Attack: +13
    NP: +1
    King of Evil Spirit
    Win 100 times at Juraid War
    HP: +5
    INT: +10
    Crown Prince
    Cumulative Win x 10 at Castle Siege
    NP: +1
    XP: +1%
    King
    Cumulative Win x 50 at Castle Siege
    Attack: +20
    NP: +2
    Emperor
    Cumulative Win x 100 at Castle Siege
    NP: +2
    Spearhead
    At Lunar War, defeat #1, #2 Chief Guards
    Flame damage: +1
    Glacier damage: +3
    Lightning damage: +1
    Defeated Enemy General
    Defeat Chief Gate Keeper at Lunar War
    Flame damage: +1
    Glacier damage: +1
    Lightning damage: +3
    Darkness Shadow
    Complete Assassin Expert I and II
    HP: +4
    DEX: +6
    Hunter
    Complete Bulk of Silk
    Defense: +5
    Novice Hunter
    Defeat 100 Ronarkland Monster
    Attack: +3
    Noob
    Defeat 1,000 Ronarkland Monster
    HP: +2
    Novice Archer
    Defeat 5,000 Ronarkland Monster
    Attack: +5
    Defense: +5
    XP: +1%
    Chaser
    Defeat 10,000 Ronarkland Monster
    MP: +6
    XP: +2%
    Beast Master
    Defeat 30,000 Ronarkland Monster
    Glacier damage: +8
    Previous Life
    Do not get killed and defeat 100 monsters
    Attack: +2
    Defense: +4
    Proficient
    Do not get killed and defeat 1,000 monsters
    INT: +4
    Expert
    Do not get killed and defeat 10,000 monsters
    Defense: +40
    Four Phases of Life
    Do not get killed and defeat 100,000 monsters
    Attack: +10
    XP: +3%
    Immortal
    Do not get killed and defeat 1,000,000 monsters
    Attack: +25
    Defense: +5
    Sprout
    Defeat 1 Worm in Moradon
    HP: +1
    Street Smart
    Defeat [Chief] Hideous, [Chief] Bandiking in Moradon

    Ignorant
    Complete Wings in the Fog 1, and 2 in Moradon
    MP: +3
    Patience
    Defeat 100 Gliptodont
    STR: +1
    HP: +1
    Wolf Hunter
    Defeat 100 Dire Wolf, Shadow Seeker, Loup-garou, Lycan
    HP: +1
    DEX: +1
    Deadly Poisonus
    Defeat Pincer or Paralyzer or Scorpion
    DEX: +2
    Undead Hunter
    Defeat Rotten Eyes and Undying
    MP: +2
    All Resource Guardian
    Defeat 100 Shadow Cracks

    Troller
    (Castle) Defeat 200 Gaf or Troll

    Bony
    (Castle) Abandoned Bones I & II
    DEX: +3
    Goblin's Enemy
    (Castle) Complete Goblin Family I & II
    INT: +6
    MP: +2
    Awesome Expert
    (Castle) Defeat Aif x 2000
    STR: +1
    HP: +1
    DEX: +1
    INT: +2
    MP: +1
    Fireworks
    (Castle) Complete Extreme Pain, Flaming Heart
    Flame damage: +4
    Skull King
    (Castle) Defeat 200 Dragon Tooth Commander, 200 Dragon Tooth Skeleton
    HP: +5
    Orc's Enemy
    (Castle) Complete Orc Slayer I & II
    STR: +3
    Blitz
    Defeat 100 Storming Spostle in Eslant
    Lightning damage: +2
    Whipped
    Defeat 100 Balog in Eslant

    Flame
    Defeat 100 Apostle of Flames in Eslant
    Flame damage: +2
    Solid
    Defeat 200 Titan or Dark Stone in Eslant
    Defense: +20
    Chill
    Defeat 100 Apostle of Piercing Cold in Eslant
    Glacier damage: +2
    Blue Skin
    Defeat 100 each for Forwird or Forwird Warrior; Forwird Knight or Captain in Ronark Land Base
    Attack: +3
    Defense: +1
    Phantom
    Defeat 1000 Phantom in Desperation Abyss
    STR: +1
    XP: +1%
    Queen
    Complete Server of the Queen, For Knights in Hell Abyss
    STR: +2
    HP: +2
    Hate Spider
    Defeat 1000 Taratula in Delos Basement
    DEX: +1
    XP: +1%
    Underworld
    Complete Testing the King and Nightmare of Spiderman in Delos Basement
    HP: +1
    DEX: +3
    Archeologist
    Complete Draki's Trace and Tracks in Ronarkland
    INT: +10
    Guardian
    Complete Guardian of the Guardian Tower I and II in Ronarkland
    STR: +4
    Elder
    Complete Ronarkland Elder I and II in Ronarkland
    HP: +3
    INT: +4
    Task Expert
    Complete Work Procedure I and II in Ronarkland
    HP: +4
    INT: +2
    Dragon Slayer
    Defeat 100 Red Dragon in Ronarkland
    Flame damage: +9
    Most Speedy
    Destroy Chaos Stone 100 Times in Ronarkland
    Attack: +10
    Defense: +60
    Like a Dog
    Defeat 1000 Goloras in Ronarkland
    Flame damage: +5
    Orc Slayer
    Complete In Between the Arrow and Magic and In Between Two Swords in Ronarkland
    Sword resist: +2
    Bow resist: +1
    Not a Sinner
    Complete 4 Sins and 3 Sins in Ronarkland
    Flame resist: +2
    Glacier resist: +1
    Lightning resist: +2
    Magic resist: +1
    Curse resist: +2
    Poison resist: +2
    Chaos Domination
    Complete Monster born in Chaos I and II in Ronarkland
    Flame damage: +2
    Glacier damage: +3
    Lightning damage: +3
    Slayer
    Defeat Red Dragon and Dark Dragon
    HP: +2
    Jamadar resist: +1
    Juraid Knight
    Complete Juraid Monster III and Seed of Evil in Jurad
    Lightning damage: +6
    Magician
    Defeat Krowaz in Krowaz's Dominion
    Flame resist: +8
    Ursa
    Defeat 100 Minotaur in Krowaz's Dominion
    MP: +1
    XP: +1%
    Treasure Hunter
    Defeat 10 Treasure Boxes in Krowaz's Dominion
    DEX: +4
    Castle Destroyer
    Do not get killed and defeat Mammoth the 3rd to Crashergimmic
    Lightning damage: +7
    Kimera
    Do not get killed and defeat Purious
    DEX: +7
    NP: +1
    Saved from the Flame
    Do not get killed and defeat Mammoth the 3rd to Pluwitoon
    HP: +7
    NP: +1
    Fire Destroyer
    Do not get killed and defeat Mammoth the 3rd and [Destroyer of Flame] Pluwitoon
    STR: +7
    NP: +1
    Castle King
    Complete Immortal of Under the Castle I and II
    HP: +3
    NP: +1
    ¡Ú KNIGHT 11TH ¡Ú
    Complete 11th Anniversary Quest of Julian
    STR: +1
    DEX: +1
    INT: +2
    MP: +1
    2013 Thanksgiving
    Deliver 50 Moon pieces to Magipie Mother for the year 2013.
    HP: +4
    13Th Snow Knight
    13Th Snow Knight
    HP: +3
    Glacier damage: +2
    Glacier resist: +2
    Relic Protector
    Relic Protector
    XP: +5%
    Juraid Protector
    Win 150 times at Juraid War
    Defense: +100
     
  23. Like
    twostars got a reaction from Built4CZ in OTP Disable??   
    Please send me a PM with as many of your known account details as possible. Thankyou.
  24. Like
    twostars got a reaction from Built4CZ in OTP Disable??   
    Please send me a PM with as many of your known account details as possible. Thankyou.
  25. Like
    twostars got a reaction from Built4CZ in OTP Disable??   
    Please send me a PM with as many of your known account details as possible. Thankyou.
×