Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Elfocrash last won the day on May 25

Elfocrash had the most liked content!

Community Reputation

257 Bom

About Elfocrash

  • Rank

Profile Information

  • Gênero:

Recent Profile Visitors

3,686 profile views
  1. server link is the same as system link
  2. What Java version and what MySQL version are you using? I am on holiday so I don't have the mapping profile to see what's failing. No it's not.
  3. For people PMing me. I won't be sharing the source no matter what. Thanks.
  4. I am not proud of the source so I don't wanna share it. It take a lot of shortcuts because this was never meant to be shared. It's just for personal entertainment purposes and to provide inspiration. Nothing else.
  5. Hello everyone I launched L2BattleRoyale a year ago. I never had any hopes for it, it just was a server that I wanted to play. It ended up peaking at 200 people but after a 2 week period it died because there was no progression. Many people had fun playing it and since some of you might not have a chance to try it I am posting the full compiled project without any limitations. I will NOT be updating this project. This is only to set up and have fun with your friends. It doesn't have any bugs. You can find some features here: Imgur album of features: https://imgur.com/a/tA29TDP Duo games: 30-man game Download here: https://mega.nz/#!7s0Q3axS!CPM25cJJrHsqEaRD8swlE-OLvd42OL-qfpD6xXpPj-Y You will also need acis geodata: L2D Geodata Package Password: Y7m5Ts1uFd0l9f3 Admin commands: //games How to run Run the backup.sql to create the database Download the geodata and paste it in gameserver/data/geodata Register new gameserver Run the login and the gameserver Have fun
  6. Just saw this. The server peaked at 200 players but I never set up and progression so obviously after 2 weeks I closed it. I can share the pack if people wanna play it locally.
  7. Yeah I switched it to private. I might opensource it again but hide the original java source.
  8. It's very good. It's like a way better java (combines C#, Scala and Java) and it has proper async support with coroutines. This API is insanely fast. I've seen the l2jphp. It is quite different since L2jRest runs from within the server to provide real time metrics. L2jphp goes straight to the database right? Update Added api key based authentication as requested. Requests will only be served when the x-api-key header is set with the configured value.
  9. Thanks guys. Changed the way handlers are registered. Now they will be scanned automatically during server startup and they will be registered based on their annotation. This means that all you have to do to add a new endpoint is to create a request handler and add the Get, Post etc annotation.
  10. I don't know whats nWatch. Can you give me an example?
  11. L2jRest is a RESTful API for L2j It is created for latest aCis but you should be able to adapt it is you wanna use it for other projects. L2jRest is an open source project licensed under MIT. You can find the source here: https://github.com/Elfocrash/L2jRest Why use it? You can use the data of your server in your website You can create an account control panel with it You can expose data to your community to allow them to make third party apps Technical stuff It is written in Kotlin. It is using the Ktor framework. Ktor is using coroutines to achieve asynchronous request handling. It is very efficient and very fast. It is using Netty as the underlying server. It is written in a CQRS manner with query handlers for get endpoints and command handlers for post, put, patch, delete etc. It is using Koin as the IoC framework. How to setup Download and install Intellij IDEA Git clone the project and open it with Intellij Run the build Gradle task. It is configured to create a fat jar with all the dependencies included Paste the jar in your project, add it in your classpath and add the following line at the bottom of your Gameserver.java: L2jRestApi.INSTANCE.start(); Running the gameserver will also run the api. It is running under port 6969 How to extend it All you need to do if you wanna add more endpoints is to add a new handler and then add the Get, Post etc annotation depending on what endpoint you want this to be. Current endpoints: http://localhost:6969/api/players http://localhost:6969/api/players/{id} A couple of endpoint examples Endpoints: http://localhost:6969/api/players Response: { players: [ { "id": 268480927, "name": "Test", "level": 1, "isOnline": false, "pvpKills": 0, "pkKills": 0, "isNobless": false }, { "id": 268480924, "name": "Test2", "level": 1, "isOnline": true, "pvpKills": 0, "pkKills": 0, "isNobless": false } ] } Endpoint: http://localhost:6969/api/players/268480927 Response: { "id": 268480927, "name": "Test", "level": 1, "isOnline": false, "pvpKills": 0, "pkKills": 0, "isNobless": false } Currently it just supports two endpoints and no authentication. I am planning to add more endpoints and ApiKey based auth tomorrow. If you can't be arsed to build the project yourself but you wanna take a look anyway you can download the jar here
  12. First step will be to test the project and see if there are any bugs created from the migration. In parallel with that, a lot of ThreadPool executions will be replaces with coroutines. That's where the performance improvements will come into place and differentiate use from acis.
  13. Project is getting closer and closer to 100% Kotlin. Currently it's 80% Koltin, 20% Java. It should be 100% Kotlin by the end of the week. Stay tuned for updates.
  • Create New...