SoMuchFilth reacted to MERET in [Guide] Under The Castle (UTC)
How to enter?
The entrance to UTC via NPC [Twilight Observer] at Luferson or El Morad Castle Time
UTC is open every Friday and Saturday. Time depends on your location. That's why you should check your event schedule. This event goes on during 4 hours. More information
It is a event consisting of 4 stages.
This dungeon offers unique quests and items in order to make UTC weapons and armours. Please read a recipe of that from NPC [Disciple of Hepa] Shozin at Maradon.
You obtain -if you have party- 2 Tropy box (if you don't, just 1 Tropy box) after passing per dungeon. If you die inside the UTC than press OK, then your character teleports back to the re-spawn point and you see that the durability on armours&weapon are all gone at the same time. You have to recovery of those.
If you use Life Crystal item when you die, you proceed on your way without the necessity of sth. You can get it via NPC [Mysterious Narki] using low, middle, high and unique items at Maradon. There is a NPC [Twilight Knight Guard] Martin the final stage, you can use boxes here.
SoMuchFilth reacted to twostars in Lag? Disconnections??
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!
SoMuchFilth reacted to twostars in Major gameplay optimisations... and general status updates
Since the last status update we've been pretty busy!
We've updated the client to be on par with USKO 2.171, we've rewritten the King system, we've added Castellan Capes and the Castellan Dungeon, we've fixed a plethora of general bugs (present in the official client and otherwise), implemented Darkness item proc/effect behaviour (most notably the Dark Knight Mace, which behaves uniquely in that it allows players to heal enemies to deal damage), improved speedhack detection, and much, much more.
Firstly though, our Halloween event!
As of today's patch, the Halloween event will be over. It's definitely been a fun week. For the most part, I'd say the Halloween event went pretty well. The start was rocky as there was a ton of new behaviour that was implemented for this event (Darkness weapon procs/effects, new exchange behaviour, etc), as well as some issues with our updated speedhack detection, but we worked through it pretty quickly.
Darkness weapons were a bit of a game-changer with PvP, but for merely a week of use (give or take some minor carry-over after the event), it definitely mixed things up a bit. Things should go back to normal soon, as these event items expire.
The Halloween event also, however, made a fundamental problem with Knight Online's behaviour very clear. With the increased spawns in and around the CZ bowl, players with lower-end PCs / connections were struggling with warping (e.g. Descent and other teleports, like mage Blinks).
Which is where our major gameplay optimisations come in.
Knight Online has many problems. It's not the most efficient game, by far. Stuttering and lag is just expected of it at this point, unless your PC is reasonably high-end and you have a very good connection to the server (i.e. low ping).
This isn't really true for a lot of people who play the game though. Especially with private servers, having a decent ping to the server can be very hit or miss.
So when the server isn't at all efficient about its communications with the player (which it isn't!), it can result in sending a considerable amount more data to the client and forcing it to perform a lot of unnecessary work, which results in stutters and lag while the client slowly processes its requests.
This week, such an issue was highlighted pretty clearly. With the increased spawns in and around the CZ bowl, players were finding increased stutter and lag -- particularly when using warps like Descent.
The reason for this is actually pretty silly, but I need to explain how things work first to properly understand it.
In Knight Online, maps are divided up into regions. Something like:
Players can only see the contents of adjacent regions, like so:
In the above, player A can only see player B, player C, player D, and player E because they can see regions (1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), and (3,3).
They cannot see our perfectly accurate depiction of a worm over in region (4,4), because it is not in an adjacent region.
So when player A crosses into region (3,3)...:
As you can see, they can no longer see player B, player C or player D. We can still see player E in (2,3), and we can also now see the worm over in (4,4).
This should all be pretty straightforward.
Realistically, you'd expect it to despawn players/NPCs/monsters from the regions we can no longer see (those greyed out in the above image), and insert those in the regions we can now see (the darker yellow regions in the above image).
That is, simply make the minor changes to what we know. The problem with its official behaviour is that it doesn't do this at all.
Instead, it officially despawns everything and re-requests everything in its adjacent regions.
Obviously this is extremely inefficient. In the example above, we already knew where player E was. Unfortunately, because everything was reloaded, it had to remove them and we had to be made aware of them... again. In addition to the worm which we previously couldn't see.
This behaviour is pretty bad, but it's worse still for warps and respawning. Both of these not only fully reload when you move to an adjacent region, but every single time. For example: if you Descent to someone right next to you (for the purposes of this example, in the same region), it will still request a full reload of all players (+ merchant stalls), NPCs and monsters for all adjacent regions.
Every single time.
So, we were able to optimise this pretty heavily. We now specifically tell the client only what it needs to know.
For adjacent region changes, that means who we no longer can see, and who we can now see. In the example above, this means telling player A that we can no longer see player B, player C or player D, i.e. all players/monsters/NPCs from regions (1,1), (1,2), (1,3), (2,1), (3,1). We also tell player A that we can now see worm over in (4,4).
Anyone else still in our adjacent regions, for example, player E over in (2,3) remains unchanged. We have no need to update them whatsoever, so they no longer get despawned.
For same region changes (e.g. warps), this means we no longer tell it anything -- because it just doesn't need to know. Player A can already see everyone in the region they were at and adjacent regions. They didn't change regions; there's no reason to look for anyone new.
Sadly, requesting all data is entirely official behaviour. This was never purely a problem with ApexKO, or purely the server -- to fix it, we even had to patch the client to let us make these changes.
But why are they so major? This all seems pretty trivial.
It's so major because it's a ton of data the client was always processing, to the point where it having to unload and reload spawns (particularly when there's a lot of them!) causes very noticeable lag/stutter. Again, this is particularly evident with warps like Descent and mage's Blink, especially in highly populated areas (e.g. CZ bowl, especially with our pumpkins from the Halloween event!), but also of course when it's forced to do so from simply moving into another region.
This also inadvertently fixes some other things.
For example, since things aren't being fully reloaded on same-region or adjacent-region warps, or when they move into adjacent regions, nor finally when players are resurrected, loot boxes will also no longer despawn in these cases.
Since loot boxes aren't actually game objects, and only exist when you're nearby to see it drop, full reloads previously removed them. But since there's no reason to reload, they're not actually removed anymore, so you can still see and loot them.
I'm sure there's other behaviour related to this which it will clean up, but for now this will have to do.
These optimisations should greatly improve gameplay from what you'd expect from even an official server like USKO. Completely removing that lag/stutter from most typical behaviour should be very noticeable and make the game that much smoother.
Thanks again to those who reported the stutter with Descent. These reports are what allowed for some pretty nice improvements to overall game behaviour!
How's the client source project going?
Truthfully, with all the work on ApexKO in regards to its Halloween event and stream of bug fixes for surrounding patches, I haven't been as busy with it as I'd like. That should change though as things begin to stabilise again.
Changes we've made since the last status update include:
Cleaning up mouse input behaviour, to behave consistently and cleanly (this also deals with UI focus issues, so you can now, for example, click the chat UI/scrollbar and use the mousewheel to scroll the chat bar, or click back out into the game and return mousewheel behaviour to zoom in/out pretty seamlessly). Implementing UI clickthrough behaviour, for things like the chat bar. Cleaned up UI event behaviour for consistency. There was often cases where this inconsistent behaviour lead to various bugs. Finished implementing all of the King system. Implemented the friends list. Reimplemented chat behaviour. Implemented PMs. Implemented the chat bar buttons. Implemented chat filters. Item names are used consistently/correctly where needed. There were often cases officially, typically in messages in the info box where the wrong item name is used (specifically the name of the item's base), rather than the item's actual name. Updated the trade UI to behave as per 1.298 (with the confirmations, etc). Updated the vendor UI to behave as per 1.298 (with the confirmations, etc). Updated loading behaviour to more closely match official (where the load % is tracked, rather than updated at intervals). Implemented support for stealth / visibility (e.g. Lupine) skills. Fixes alpha blending issues with text and models (these existed in the official 1.298 client, but were fixed in later official versions). Clan symbols on capes now only show if the clan is allowed to use them. Purchase prices are now correctly coloured by price (as with newer clients). Fixed various UI input bug issues. Fixed double-click logic to behave on a per-control level, rather than per-click (i.e. making 2 clicks on 2 different things shouldn't trigger a double-click on the 2nd, e.g. with lists -- clicking one list entry then another rapidly shouldn't fire a double click event). Updates login screen error behaviour to behave as per 1.298. Fixes some issues with rivers / ponds not rendering. ... and more.
In regards to major updates that are left, we still need to implement transformation support (and hence siege weapons), the rental system (although less important), Power-Up Store/in-game browser, quest tracking, etc.
Hopefully when things are more stable with ApexKO, I can start to knock some more of those major features off the list and push it ever closer to a more complete state.
Honestly, we still have a lot of our previously mentioned future goals from our last update left. Most likely the next thing we tackle will be implementing UTC, but we'll see what happens. With that game feature (finally!!) in, a lot of our secondary priorities can be looked at (in addition to getting more work done with the client source where possible!).
Until next time.
SoMuchFilth reacted to twostars in Patch notes (26/04/2017)
[Hotfixed live] Temporarily disabled server-side optimisations on movements, as it appears we're optimising out at least 1 case where we should be relaying movement updates. This has been causing players to appear as if they're speed hacking. Using potions during stealth skill casts (Hide, Stealth) will no longer interrupt the cast. When compounding accessories, the client will no longer visually remove your scroll twice. It should also no longer visually bug out the accessories you're compounding, although this was a much rarer occurrence. Fixed a bug causing monsters on the outskirts of the Forgotten Temple to be unattackable. Players with little to no resistances are now affected more by stuns/slows. Previously, there was a very small gap in rates between players with (some) resistances and those without -- this gap has been raised. For everyone else, the rate remains about the same. Removed the Specters that spawned in Forgotten Temple on wave 60 of 61. Added Garges items & Abyss Fire to the buying merchant list. Removed Roneth's AoE and reduced its melee damage. [Hotfixed live] Added Golden Earring to Knight's Medal, Royal Knight's Medal & King's Medal exchanges. Change Ronark Land Felankor's nova effect to act like Volcanic Rock's (1 nova effect instead of 1 per target). This should help with FPS drop issues. Also reduced its AoE damage. Fixed a bug with skill timing checks. As a result, these should be a lot tighter now. Fixes to bound items: When repurchasing deleted bound items, they will once again become bound. We now correctly detect which items should be bound, so these items now must be bound to equip. We also now enforce the correct quantity of "Sealed Items" required to unbind them. Renamed the inn host(ess)'s menu button for bound items, to make it clearer. It now reads "Bind item / Unbind item" (was "Seal / Cancel", which caused some confusion with the similarly named button for actual sealed items). Expiration items that don't otherwise prohibit it can now be deleted & repurchased. Their times will now also be restored correctly. It should be noted that if these expire before the 3 day repurchase period elapses, they will not be recoverable. Power-Up Store items (specifically items that state they can be traded after 72 hours) can now be deleted. Fixed a bug with the server not enforcing certain items to be deleted. Items expiring while in cospre slots will no longer visually remove items from equipped slots. Consumable expiration items are now fully removed upon expiry, instead of just consuming 1 use. The "Take the secret documents" quest now offers you the potion after accepting the quest (instead of requiring you to buy it first), and also when returning to the NPC without a potion while the quest is still in progress. This means if you logout and return to the quest later without a potion, or you fail it the first time and waste your potion, you don't have to abandon the quest. Quests now reset their progress upon loss of their required items when they're in the "before compensation" state to prevent them from getting bugged. "Finding the lost soul" quest will no longer remove [sealed Soul] upon death. The quest will also no longer reset on logout while it's in the "before compensation" state, so you can disconnect/relog and still turn it in after obtaining the [sealed Soul]. Items considered expensive (100K or above from NPCs) are now added to the repurchase list. Added [sealed Items] to Sundries at a cost of 1mil coins per. Also reduced their prices in the Power-Up Store. Renamed [sealed Items] to [unbind Items] for clarity. Removed rewards from some Moradon achievements, which were being used to farm Monster Stones at a rate much faster than intended. Fixed a bug with clan rollback logic (when a player who's contributed a significant amount of National Points left the clan), which caused clans to not lose their cape correctly on restart.
SoMuchFilth reacted to Razordagawd in A suggestion
Is it honestly that broken? 2-3 warriors pk using leonars, and changing this just for your own selfish interest wouldn't decrease the overall price of the item, but I'm sure it would get them to quit the game (seeing how they paid a lot for an item they can't use anymore). Not to mention that officially this is how it works.
Gotta look at the bigger picture sometimes.
SoMuchFilth reacted to KSER in Stun rate going crazy again
stop talking about mages, they are fine . Btw when you complain about a class, just try to play it one day.
There's one thing people often say: "when i play warrior i never scream any1 but when i play rogue i got screamed alot and blah blah, same for stun and other " .
About the rate, for example it's 10% doesn't mean if someone hit u 10 times you get exactly stunt 1 time. Sometimes it will be 2 times even 3 times, sometimes 10 hit and no stun at all.
SoMuchFilth reacted to poly in Red Potion in PUS
this is realy awful idea.if they added that pots to PUS,they had to add Undy SCs too.Otherwise, mage teams will surely leave from this server and pk takes very short time. 3-4 assassins already fuck up whole mage party without red pots and all other mage teams have left cos of melees' aoe/power.
Close this topic.
Thank you for your interests bb
SoMuchFilth reacted to Razordagawd in Red Potion in PUS
Rogues' sustain is reliant on a stable source of healing. The higher the damage taken, the harder to survive. When you factor in how your most devastating burst combo is reliant on RNG (and has a cooldown of 50 seconds), you'll begin to realize how much more warriors benefit from this suggestion. They already spam your spike damage, bro.
Not to mention, mages are already in life support, and red potion does nothing for them. Not even blue potion could help them not get 2 shot by every single class in the game.
Sorry but really dumb suggestion.
SoMuchFilth reacted to InstantKarma in Sudo the funny Raider
You do realize theres fraps of your garbage clan getting wiped in 3 seconds (literally) whilst having 3 priests. You should stop calling people randoms while you can, friendly advice.
EDIT: Also if you think you're witty or funny in your trolling attempts, no you're not, you're just being retarded. Pretty sure you totally misunderstood the concept of trolling. But i guess, one could say, that your ability to troll people is just as "good" as your ability to play a priest.
SoMuchFilth reacted to Manhattan in When new server ?
Let me guess, your full 30 days of fun in either a new USKO server or a trash Turkish server is already over and now you want to come back to Apex with everything reseted for you, correct? Yes.
Apex is different, stable and long lasting unlike every other garbage you and your friends have ever played so far. Not made for your temporary amusement to be then thrown away again. Get this inside your head once and for all.