Jump to content


VIP Member
  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


Tryskell last won the day on July 4

Tryskell had the most liked content!

Community Reputation

75 Excellent

About Tryskell

Contact Methods

  • Website URL

Profile Information

  • Current Mood
  • Gender
  • Country
  • Location
    In your kitchen eating cookies.
  • Interests
    Bitchslapping IL since 2010.

Recent Profile Visitors

6,126 profile views
  1. Not sure why you involve myself in the discussion, moreover when you speak about something you actually never experienced by yourself. Keep your side, ty.
  2. Could be : https://github.com/brettwooldridge/HikariCP/issues/1132 You probably got a connection leak somewhere.
  3. I edited my answer :), and the idea is to only have one point of entry, which would be PlayerInfo linked to a Player, like they are actually linked to an AccessLevel, a Appearance, etc. SO drop inner variables of Player, and use only PlayerInfo to refresh those values. Np.
  4. PlayerInfoTable retains some informations (cause player names are needed for stuff like friendlist), you probably can add missing ones, but it means you have to update it in same time otherwise you will refer to wrong values. That whole class probably can be enhanced or used differently (PlayerInfo being maybe part of Player, once player is loaded ? Like loading an id card, which avoid duplicates variables or even caring about refreshing 2 places). If such stuff is edited, that would simplify the developement of a lot of customs.
  5. Not sure why you keep speaking spanish everywhere Reynaldo (even on your tutorials, there is no subtitles in english), you cut yourself from a lot of people. I personally don't care, since I can read / hear it decently, but for other communities like RU or GR (and probably BR ?), I think you shoot yourself an arrow in the knee. Not sure also you got the "right" to use L2JFrozen name, or than Shyla/Nefer allowed it. I know it's marketing, but it's generally bad seen (even for live server name). Good luck nonetheless, I hope you're motivated ! :)
  6. The packet is either not recognized because client simply can't handle it, or because it is considered an unknown packet and dropped by GamePacketHandler core protection - which assures you the sanity of packet send for a given client state, to avoid unexpected L2PHX craft. So add that packet into the given client state, and if it's not that, you are basically screwed if you don't know how to client edit.
  7. Don't use a GM character, but a regular character to test such thing. GM got no restriction. If you already tested with a default player, what can I say... Your pack probably didn't implement them properly. You can check on which zone you are currently set using //zone_check and //zone_visual admincommands.
  8. Edit the zone type for BossZone, don't forget to use allowPlayerEntry. Check GrandBossTeleporters for example. If BossZone properties don't fit you or you already got a custom zone type, you have to copy-paste BossZone content into your whatever custom zone and remove both setInsideZone(ZoneId.BOSS calls, and ofc to edit the zone type for your custom zone type.
  9. Nope, can be done passively using onEnter zone, since when you connect, you are registered to zone. You only have to check if the dude is supposed to be there or not, like grand boss zones, which is basically a map where players are registered with their timestamp.
  10. I don't think it's "anymore". The biggest amount never share anything, anytime (only bugs reports when it deserves their server and don't want to care about it). I don't think there was a "period". That's the main reason I moved to a freemium concept extremely fast. The point wasn't to make money, but to say to people "I'm not the only noob working on it, you MUST contribute". Sharers exist since everytime, but in really low quantity. They come and go, which is perfectly normal, but limit their addition to little shares (since for big addition, you need time and dedication). There's a constant flow of shares, even nowadays. Until your "anymore" refer to the lack of interest of people towards L2J, in general. Which is true, but is actually experienced by any real company MMO. Games like PUBG, Fortnite, LoL... Simply sinked out the MMO playerbase. Less players, less money, less admins, less servers, less interest. Without counting the "tries" of Innova / NCSoft themselves (Free GoD, then classic to sink out private servers playerbase). The worst is I can't trust a second person to make what I'm currently doing. I know for sure such person would introduce issues - which would be hard to detect because I won't know exactly what was edited, or if tests were ok. Hasha commits, for exemple, were commited blindly (fast test to see if server was running). That was an error and it introduced a big number of issues (movement being still, one of them - under fix). Some of them took months to be named (dat non monotonic clock System.currentTimeInMillis() uses on bow attack), years to be fixed (mostly because I thought Hasha would fix them - but as I said before, people come and go). And well, if it's to debug/fix another people code... Sometimes it's faster to code it yourself, from zero. I'm in fact the bottleneck (like any "one-head" project leader), but also the security valve.
  11. L2J moved to Git, and that didn't help them at all to get more contributions. Of course, teamwork becomes easier, organization is also clearer (you don't have to dig in forums to find back a 2012 diff patch which maybe dissapeared), but if you are alone, there is no synergy. It helps the distribution of your project and the forking of it. Does it suddenly enlighten people to share ? I believe than no. It only helps existing sharers. I still have a lot of contributions to commit, but let's be honest, I have to review everything because most of the time, things are bugged. I only commited ONE shared script without fixing something wrong, for exemple. It's right for every single share. People often don't test all cases. Speaking of the devil... I will probably also move aCis free revision on GitHub. We will see if people shares things or not.
  12. I was using CMS GC until now, because default GC introduces pause time (STW effect) on high RAM usage (geoengine on), a concept which can't exist on real time server (on every GC call, the server is pausing for few ms). I decided to revert to default GC when moving to OpenJDK 11, since G1GC is now improved AND default. L2OvC is currently using latest aCis and default GC, so Sahar got an overview of RAM consumption and seems happy with the results (1 month online with no variation of RAM usage). So yes, it's a good addition and a burden which dissapears. JDK12 adds a new experimental GC, but it won't fit for real time applications like L2J, so...
  13. What shows the dude is probably coming from aCis. Both package and even lines correspond to it. I moved latest aCis to OpenJDK 11, with no specific error. As I said, the only issue (one line) was regarding my implementation of script loader, ScriptData. We jumped from OracleJDK8 to OpenJDK 11, mostly because of licence issues. So why should I think of something which actually works ? Moreover, I never translated or tested JDK9. I moved directly to 11 - and i'll probably jump to 13 when it will go, if there is. Btw, I invite you to move to JDK11, the default GC is heavily reworked and is way more performant (G1GC). JDK12 doesn't seem to have anything useful for L2J.
  14. Open JDK 11 works with ByteBuffer clear(), the only needed edit was around ScriptData. Moreover, Oracle JDK 11 is supposed to still have this method, heritated from Buffer : https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html
  15. remove(Integer.valueOf( is the regular writing style, over L2J and aCis. End of story.