Sierra reacted to MERET in ALL NİGHT LAG DC PROBLEM
İnternet servis sağlayıcınız İnternet'te sorun olmadığını söylüyorsa bir ihtimal modemde sorun olabilir. Modemi değiştirip tekrar denemekte fayda var. Launcher.exe ve KnightOnline.exe uygulamasını windows defender güvenlik duvarı üzerinden izin verebilirsin. Cihazınızı koruyan herhangi bir virüs programı için ApexKO klasörünü ve içindeki exe uzantılarını dışlamalara ekleyebilirsiniz. Not: Durumda bir değişiklik olmazsa oyunu kaldırıp tarama verilerinizi silip disk temizleme yapın. Daha sonra virüs programınızı ve güvenlik duvarınızı geçici bir süreliğine devre dışı bırakıp oyunu tekrar yükleyin. Oyunu yükledikten sonra 2. ve 3. maddeyi tekrar uygulayıp virüs programınızı güncel hale getirebilirsiniz. Bu sorunun sizden mi yoksa oyundan mı kaynaklı olduğunu gösterebilir. Halen bir değişiklik olmazsa yönetici ekibinden birisi muhakkak size yardımcı olacaktır.
Sierra reacted to twostars 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.
Sierra reacted to BulletClub in WHAT IS THIS ??????
He said he was going to descent to kill you. but you died before he could descent.
they already explain that the chinese look far away on your screen but in reality. they are close. it's ping. if you are closer to the server you experience less lag
also they are spamming acid pots. which you can do also. gm said a long time ago that the acid pot bug was fixed. but it's definitely not fixed
Sierra reacted to twostars in Our future client project...
This is by far our most exciting -- and promising! -- project, and one that I've been spending every possible moment on lately.
Why is this project important?
Firstly, before I get into anything, I should explain why the client source -- and this project -- is important.
It's essentially useful for 2 things: being able to more easily fix things ourselves, and giving us the option to literally do anything. I can't stress this last part enough. With the server, we have some means of creativity; but anything we could implement has to find a way to have this deal with the client in a suitable manner.
Having the client source removes this limitation entirely. Our server, our client. We can do whatever we want with it.
We need a new UI? We can make one and add it in. Imagine the possibilities.
Regarding fixing things, right now we rely on official updates from mgame; our update process revolves around using their code and adding in our patches (each time) to fix their issues (that they haven't yet fixed themselves).
Each update we hope that they've actually fixed things that we've yet to fix for them (manually, with assembly, which is a considerably more daunting and time consuming task for us than it is for them with the client source). Changing a single line of code for them, may take us a few hours to do manually via assembly (having to track down where this logic is, etc).
And now some history...
If you're not aware, there exists a set of leaked (official) source files for ~1.06x (for the server AND client -- as well as their development tools) from way back in 2002~2003. This was before its first released version, and before anything was actually implemented properly, but it's still a tremendously invaluable resource as a lot of things still are handled similarly -- if not the same -- even now in 2.1xx.
So way back during server development (~2013) I explored updating the client source. I updated it to support the various new file formats, and had it connecting to our server -- compiled for 1.298 -- since UI behaviour is a lot closer (less of a jump, means easier to get in and mess with things without having to update literally everything to get to that point). I implemented capes, symbols (rendering and importing them via the UI), premium stuff, PM windows (because again: this was back before PM windows even existed!), loot boxes, and a bunch more.
Eventually I moved on to play with 2.0xx, but quickly lost interest for a few reasons: there was a ton more to do, we were very busy with server development still (so this felt like wasted time), and well, at the time I was doing it solo, so I felt like it was too much of a monumental undertaking to attempt at this point in time.
Aaaaaand now skip to this year (2017)
The server's in a very good place, to the point where major server development is few and far between now (usually just bug fixes at this stage), and the OpenKO project happened.
If you're not familiar with the project, they set about messing with the client source as well in an attempt to update it while learning how things work. This piqued my interest, and I became involved with it for a bit. Many hands make light work, after all.
However, my experiences with open-source KO development have taught me that it's... well, a terrible idea (blah blah working alone blah blah spoonfeeding people blah blah people complaining about things not being implemented while at the same time selling it for their own personal gain blah blah... you get the idea), so I took the opportunity to ask those who were actively contributing about doing so in a private repository.
Surprisingly (or maybe not?) that went over quite well. I should add that the project isn't specifically for ApexKO; most are just doing it for their own learning purposes, but ultimately it's my goal to use this project here, in place of the official client.
I should probably also mention that I still help out with the public project; it is still a great place to learn how things work, so I'm happy to help people out over there. My main development focus though, is with the private repo. With the private repo it's a lot more comforting knowing that people aren't going around selling it while harassing you to implement/fix things for them (I'm not even kidding; this happened.).
Since, we've made leaps and bounds with the project.
At the time of writing, we've:
Implemented symbols (clan, PVP, party leader, chicken, etc) Implemented capes Added premium behaviour (texts and whatnot) Updated overhead info (e.g. line under clan leader's name), fixed ranges on names, etc. Reimplement TBL handling logic to support newer TBLs and handle them in a more intuitive way (without having to save to .tmp files after decrypting >_>). Implemented merchant stalls, UIs and all relevant logic for it (UIs are more intuitive to interact with, as well) Implemented loot boxes Implemented the upgrade system, so you can now compound accessories and upgrade items. The anvil will show the effect when you burn an item or upgrade it, etc. Implemented the new "presents" screen Implemented the new login screen Implemented the new nation selection screen (and fixed the old one) Updated the character creation screen. Implemented backwards compatibility for old UIs Updated and fixed rendering of item tooltips Fixed wrapping issues with tooltips in general Implemented drag/drop behaviour from skill tree -> skill bar. Implemented updated hostility behaviour and unified it all. Implemented event tile support (for triggering things like zone notices) Implemented zone notices (for entry and area triggers) Implemented commands UI Implemented exit menu Started migrating logic to use a 3D engine (so we aren't tied to DirectX and Windows, and we can also optimise our rendering pipeline). Updated the party list UIs. Implemented debuff behaviour for HP bars (and for party lists). Implemented mousewheel event support Reimplemented networking logic (for stability, performance, easier to work with, etc). Reimplemented input logic to no longer rely on Windows edit controls (meaning we needed to implement all of the editbox behaviour ourselves, like handling moving the caret and keys/hotkeys like CTRL+C/CTRL+V, home/end, etc) Implemented most of the King system UIs (will probably be done by the end of the week, even) Implemented the skill cooldown effect overlay ... and much, much more. I actually probably shouldn't have been as specific, because I was really just listing changes (at random, really) I considered reasonably noteworthy -- but they're far from all.
Long story short, the work we've put into this project so far has been monumental. So much so that it's looking likely that we'll have sufficient 1.298 support to push into future versions reasonably soon.
The project is extremely exciting. Time consuming, for sure, but very exciting and offers us endless new options.
Perhaps I might make status reports regarding this project here, if anyone's interested in seeing how things are coming along.
Sierra got a reaction from krat0s in Your Payment method is painfull for non english names
Did you try using 'O' instead of 'Ö'? Normally that should work. o.o
Sierra reacted to twostars 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).
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.
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.
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.
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.
Sierra reacted to Aesteris in The Castellan Expansion
Following up on twostars' great blog post from last Friday, here is the official announcement of our next "expansion", and yes the new Bifrost gems will also contain part of the materials needed to craft the new armors displayed on the first picture!
Sierra reacted to Vivaldi in Mellanox - Guy (now Shroud)
this case has been dragging for way too long even though we have already given our final answer. We have no grounds here to remove items from the user that acquired them in a legal trade or to reimburse them to you. I'll try to explain it again the best I can so you and everyone else understands it. It shouldn't be hard since it's a very simple case.
You gave your items to user "X", using the ingame "trade" feature -> items are now legally in possession of user X. He owns them. You gave it to him on your own will. The server holds no responsability of what a person does with their items. No hacker invaded the account and took the items due to a breach in the server, in this case we would promptly recover you EVERYTHING as soon as we would be able to.
User X claiming to return you the items after w/e period is not nearly enough for the server to act upon it. This is a deal between both of you, we have no means to intervene. And if we did intervene in cases like this, can you see how much room for more and more scam cases it opens? We'd have to deal with every player after random trades just saying "he was supposed to give me "this" but he didn't" or "I just lent that user these items and he was supposed to return it to me by now!" or whatever else they'd come up with. It would create an extreme mess on the market and reflect on players that are not even related to it. It's just not feasible.
And this is not something that WE, Apex, specifically don't follow. No other game would take action in any matter similar to this one.
Now, as for what you consider to be "new evidence", again, it really isn't. Him acquiring an item on a boss and not sharing with the party is obviously immoral but not ilegal, it just means that he is generally a bad person from our point of view. Claiming that he bought something from someone, again, he can claim whatever he wants and same goes for his nationality.
To picture this case even better and maybe make you finally understand WHY we can't do it just take a look at this:
We didn't do anything on that case as well and it involved you this time. For the same exact reason as the above. It is just not feasible.
The players are in charge of who they send their items to, the players are in charge of who they decide to share their account with.
Please try to understand this, we don't do this because we're "lazy", "have no intention of helping", "we don't care" or whatever else you might think. These are just guidelines we have to follow because they're logical and quite obvious in order to keep a safe and fair gaming environment.
To summarize everything I just said: The server holds no responsability between personal, legally performed, ingame trades.
PS.: I will leave this topic open for longer incase people still have any doubts regarding this matter, or if they think this is unfair I'll try to explain it and debate it further but, honestly, this should be crystal clear by now.
Sierra got a reaction from BulletClub in Event Schedule [UPDATED: June 1st 2017]
Below you can find the ApexKO event schedules for the CET timezones.
Be mindful that the Hourglass in-game is now correctly tuned to accurately showcase which events are coming up, regardless of your timezone.
Click HERE to see where to find it.
Central European Time (CET)
Turkey: Add 1 hour