Jump to content

Recommended Posts

Posted
10 minutes ago, .Elfocrash said:

What's the password hashing setting you are using?

I'm not at home now, but I think i left it as default.  Where can I confirm it ?

Im getting error 501 Invalid Password.

Posted (edited)
22 hours ago, .Elfocrash said:

What's the password hashing setting you are using?

I'ts base64, the default.

 

"PasswordHashType": "Default",


I've tried to debug the code, on login, the password verification, runs this method:
 

        public static string ToL2Password(this string str)
        {
            if (Startup.Configuration.GetValue<string>("TargetServerType") == "L2OFF")
            {
                if (Startup.Configuration.GetValue<string>("PasswordHashType") == "Default")
                {
                    return L2OffCrypto.EncryptLegacyL2Password(str);
                }
                else
                {
                    return L2OffCrypto.EncryptMD5(str);
                }
            }
              /* and it always ends in choosing else, since the server is L2j, login works, change password doesnt*/
            else
            {
                SHA1 shA1 = SHA1.Create();
                byte[] bytes = new ASCIIEncoding().GetBytes(str);
                str = Convert.ToBase64String(shA1.ComputeHash(bytes));
                return str;
            }
        }

and it works for the login, but when it comes to changing the password, it always ends up in error 501 :
 

[HttpPost]
        [Route("changepass")]
        public async Task<IActionResult> ChangePassword([FromBody] ChangePassViewmodel model)
        {
            if (User.Identity.IsAuthenticated)
            {
                var accountName = HttpContext.GetUsername();

                var response = await _requestService.ChangePassword(accountName, model.CurrentPassword.ToLegacyL2Password(), model.NewPassword.ToL2Password());
                switch (response.ResponseCode)
                {
                    case 200:
                        return Content("ok");
                    case 500:
                        return Content(_localizer["Something went wrong!"]);
                    case 501:
                        return Content(_localizer["Invalid password!"]);
                }
            }
            return Unauthorized();
        }

And I don't get any error messages on the console either from the API or from the website.

Edited by abumini
extra content ^^
  • 2 months later...
Posted

help me please when I try to log on the site of an error in the game server I'll post it here:

 

Exception in thread "Thread-9" java.lang.NoClassDefFoundError: com/google/gson/JsonParser
        at com.elfocrash.l2acp.L2ACPServer$RequestHandler.handle(L2ACPServer.java:71)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
        at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
        at sun.net.httpserver.ServerImpl$DefaultExecutor.execute(Unknown Source)
        at sun.net.httpserver.ServerImpl$Dispatcher.handle(Unknown Source)
        at sun.net.httpserver.ServerImpl$Dispatcher.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParser
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 11 more

Posted
16 hours ago, kslobaosp said:

help me please when I try to log on the site of an error in the game server I'll post it here:

You didn't reference the gson library.

  • 3 weeks later...
Posted (edited)
On 1/8/2019 at 10:23 PM, kslobaosp said:

Elfocrash Я поместил gson в lib игрового сервера и решил ее больше, теперь у меня проблема в сети :(

 

image.thumb.png.d403a5b69a41895969c41481980b821d.png

 

У меня похожая проблема.

 

P.S. I solved the problem using commit 5527abef518d665a4c3be89ca91a3ff57e423609.

The problem appeared after the transition to NetCore2.1

Edited by webdes27
  • 2 weeks later...
Posted (edited)
On 5/2/2017 at 7:39 AM, Elfocrash said:


Security
L2ACP uses symmetric encryption for the payloads and an api key validation.
As long as they are changed you will have no problem with security. 
If you want to be 100% secure, make the server accept requests only from the ip that the site is hosted.
If you want to be 101% secure, then host them together and don't expose the api port.
 

 

@Elfocrash Thanks you for the beatiful code. But i have a question to you, and i hope not to offend you. Is the code still secure? i ask because the code was writed a few years ago and i must know if is secure. My apoligies if i offended you. Thanks

Edited by matiasf
Posted
5 hours ago, matiasf said:

 

@Elfocrash Thanks you for the beatiful code. But i have a question to you, and i hope not to offend you. Is the code still secure? i ask because the code was writed a few years ago and i must know if is secure. My apoligies if i offended you. Thanks

It is, however I would advice you to change the api key to one of your own. On top of that, I would advice you use SSL on the l2 webserver but this is optional.

Posted (edited)

Hello, amazing feature, is it possible to use with l2jsunrise or does the coding vary too much from acis?

Would I only need to adjust imports or need decent java skills to adapt?

Edited by lixxit
  • 1 month later...
  • 2 months later...
Posted
On 16/2/2019 at 11:26, rutake said:

Hola chicos. He instalado L2ACP en mi servidor también. Pero ahora tengo un problema. 

Capture.PNG

 

Same problem, any solution for this?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Thanks! Will make this happen first before going forward with 20-40 leveling!    No I didn't, I'm just focused on improving this with the time I have 😄
    • L2 Runestone Interlude C6 · 5x · Open since 10 August 2026 · No wipe, ever l2runestone.com · Discord Most servers die the same way. They sell power, the market dries up, and the people who actually play leave. This one is built not to do that, and everything below is the actual configuration rather than a wishlist.   Rates Experience 5x · Skill points 5x Party experience and SP 6x Drop 5x · Spoil 5x · Quest reward 5x Adena 7x Raid boss, Grand boss and epic jewels: 1x, untouched Special herbs 1x Adena sits above item drop on purpose, so shots stay affordable without flooding the economy. Epics are deliberately not multiplied: the strongest gear in the game should be the hardest to hold.   Enchant Safe to +3 (+4 full body). +1 per scroll, and a failed scroll destroys the item. Scrolls are not sold by any NPC.   Normal Blessed Crystal +4 96% 97% 98% +6 88% 91% 94% +8 80% 85% 90% +10 72% 79% 86% +12 64% 73% 82% +15 52% 64% 76%     Not retail 66% flat. It is gentler than retail early and harsher late, which is a choice, not an accident. Max +15 weapons and armor, +12 jewellery.   What is not here No autofarm. No command, no macro engine, nothing plays for you. Adena auto-loots; items do not. No gear above D grade from NPCs. Starter equipment is sold as it is at retail. Everything from C grade up drops, is crafted, or is traded between players. The dwarf is the heart of the economy, not a side character. Nothing that matters for sale. Power is never purchasable. Convenience and cosmetics are the only things that will ever be. No wipe. Ever. If a bug is found we fix the bug and remove what it produced, instead of resetting the world because that is easier.   Retail where it counts Pure retail class balance. Casts keep a real interrupt window, crowd control never exceeds 90% Olympiad weekly, starting 18:00, six hour competition period Sieges and epic bosses on retail mechanics Buff slots 24 · Subclass to 81 · First and second class change at NPC, third class is earned Offline trade and craft, including in peace zones, restored across restarts   Technical The client is patched by one byte to protocol 748, so a client that has not been through our launcher is refused at the door Full geodata, 163 regions, with pathfinding enabled. No walking through walls, no mobs pulled through geometry Anti-bot with an in-game check, and anti-advertising covering chat, whispers, private store titles and character names InnoDB with binary logging, verified daily backups kept in two places, and a weekly restore test that actually restores   Honest part It opened on 10 August 2026 and it is small. There is no countdown, no launch event, no fake population counter, and nobody is going to hand you gear. If you log in tonight you will find a quiet world. That is the trade: you are early, and everything you build from here stays yours.   Getting in You need a Lineage II Interlude (Chronicle 6) client already on your PC. The launcher downloads and repairs the system folder on its own and verifies every file before the game starts; it touches nothing else and will not patch Gracia or later. Launcher and account: l2runestone.com Discord: discord.gg/NJDeffApmc  
    • Although I don't know how to use it, thank you for sharing
    • Did you try run as extender to any version where Source no needed? Coz not everyone use Mobius 😃
    • Very nice progress. At some point you will need the bots to travel long distances. Geodata and A* path finding on it won't be suitable. They will exhaust budget and memory/cpu. I think the human bot was hitting this ceiling that's why it couldn't find the bridge. aCis has recently made a low granularity geo Pathfinder that can help.  One approach I did successfully and you can do is to replace geodata with 3D nav mesh for bots and use the Detour algorithm for pathfinding. This will give you very cheap long distance path finding. 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..