Jump to content

Recommended Posts

Posted (edited)

Hello, recently I managed to make this Account Manager for L2Off Servers. Few functions and basic structures has been taken from existing account panels. This one is completely  recoded with captcha and it is more secured. Also it is functional and can be embedded to any website easily.

 

Some Information

  • It's partially tested under IIS
  • Tests have been done ONLY with Gracia Final Server Files but I am 99.99% sure that it will work under Interlude too. If not, contact me

 

Features:

  1. Account Registration with Activation ( You will get an e-mail with full account information + activation link)
  2. Reset Password (with security questions. You will get an e-mail too with the new password)
  3. Login to home page ( You can display some news,info there)
  4. Change Password (You will receive an e-mail too for informational purposes)
  5. Basic Account Information (account name, character's name, character's level)
  6. Login history of your account In Game (Requires hAuthd login server)
  7. IP protection for game account (Requires hAuthd login server)

 

What you need to do in order to get it working

  1. Account login history & IP Protection works only if you use hAuthd login server correctly configured!(Read hAuthd's readme file for more info).
  2. Upload ACM files to your webserver.
  3. Your webserver needs port 1433(Default SQL server port) opened.(If it's not opened, contact your webhosting company to open it for you)
  4. You need also port 1433 opened to your DB Server.
  5. Edit load/config.php to match your needs.
  6. Edit load/function.php line 176 with your url of account manager so Account activation will work.
  7. You need to recreate the table dbo.user_account in lin2db with the sql file included.

 

KNOWN ISSUES

There aren't any known problems till now. If you got one, inform me!

 

If you found any bugs / exploits or you can suggest better mechanincs / features feel free to inform me.

Need Support / help?

 

Don't remove the Credits if you want free support.

  • Skype: k4ramela
  • E-mail: shortysftw@gmail.com

Preview Pics: Link will be posted soon.

Download V1.3: Download

Edited by PARADISE
  • Like 1
  • Upvote 7
Posted

looks good,i uploade it to my xampp but only shows a white page when i try to enter to the index.php :S(i configured all in my test server pc) also i add you to skype :)

Posted

Thank you guys!

 

looks good,i uploade it to my xampp but only shows a white page when i try to enter to the index.php :S(i configured all in my test server pc) also i add you to skype :)

I will contact you tommorow

Posted

Account Manager Updated!

 

V1.1:
-Better display of account info page.
    -Now you have to select the character that you wanna see information.

-Improved SQL Injection protection
    -Reworked the function for better security
    -When someone trys to SQL inject you, function detects it and redirects the user to login.php page.
     also new function keeps a log of SQL Injection attemps to logs/sqllog.txt with date, time, ip of the user,
     the code entered and the corrected code.

-captcha.php moved to captcha/captcha.php.

-Changed the position of captcha code in register page.

-Added copyrights to index and home pages. :-)

-Changed the date/time format of login history page to something more user friendly.

Posted

-Brief Update for Account login history.

 If you got issues to date/time format in Account login history page you can use this file. Place it inside page folder of you account manager.

Then find inside your php.ini

; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
mssql.datetimeconvert = Off

And change mssql.datetimeconvert to Off.

 

After this you will be able to see date/time to this format,  2013-12-24 14:50:45

Posted (edited)

Hello!

I finished the donation part of the Account Manager. I would like to explain you the donation procedure, so you can comment or suggest a better way to implement it.

 

When the user donates, he adds money to his account. He can enter the amount of euros he want. After that, he is being redirected to the paypal payment page. If everything goes fine the script adds the amount of euros to his account. If not (problem with his paypal acc or smth) he is informed properly.

When the user wants to buy an item, he has to enter the paypal email that he donated for the account , select the character he wants the items, and he chooses the item.

Then his request is being processed by a donation handler.

The handler does the necessary checks (if he has money in his account, checks the email he donated, if his money is enough to buy the item).

If user provides 3 times wrong data, he gets a 5 min ban for that.

If the request pass these checks, script updates his money, inserts a record to a log table and a file, kicks the character from IG and finally adds the item he bought to the character he choose.

Thats a quick explanation of the donation procedure.

Donation Items are editable also.

 

Waiting for comments, suggestions!

post-6233-0-47930300-1392124767_thumb.jpg

post-6233-0-41042800-1392124778_thumb.jpg

Edited by PARADISE
Posted

Hello!

I finished the donation part of the Account Manager. I would like to explain you the donation procedure, so you can comment or suggest a better way to implement it.

 

When the user donates, he adds money to his account. He can enter the amount of euros he want. After that, he is being redirected to the paypal payment page. If everything goes fine the script adds the amount of euros to his account. If not (problem with his paypal acc or smth) he is informed properly.

When the user wants to buy an item, he has to enter the paypal email that he donated for the account , select the character he wants the items, and he chooses the item.

Then his request is being processed by a donation handler.

The handler does the necessary checks (if he has money in his account, checks the email he donated, if his money is enough to buy the item).

If user provides 3 times wrong data, he gets a 5 min ban for that.

If the request pass these checks, script updates his money, inserts a record to a log table and a file, kicks the character from IG and finally adds the item he bought to the character he choose.

Thats a quick explanation of the donation procedure.

Donation Items are editable also.

 

Waiting for comments, suggestions!

 

Nice one my friend you are making some good thing for l2off :D ,when will be avalible for download this new update?

Posted

I would like to inform you that I won't update this Account Manager any more. The main reason is that i changed the coding style to Object Oriented. Also I started using PDO prepared statements which are more secured against any kind of threats. More over I coded some other modules to completely protect the forms. Also the new account manager will give you the opportunity to create a Master Account. Under this account you will be able to register game accounts, make donations, claim items,... etc. Also there will be an Admin Panel of the Account manager to make admin's work easier.

Till now its still under development. When I finish the master account management, I will post a link here so you can see a working demo.

 

Thank you.

 

PS. If you need support for the old one, feel free to contact me.

Posted

I would like to inform you that I won't update this Account Manager any more. The main reason is that i changed the coding style to Object Oriented. Also I started using PDO prepared statements which are more secured against any kind of threats. More over I coded some other modules to completely protect the forms. Also the new account manager will give you the opportunity to create a Master Account. Under this account you will be able to register game accounts, make donations, claim items,... etc. Also there will be an Admin Panel of the Account manager to make admin's work easier.

Till now its still under development. When I finish the master account management, I will post a link here so you can see a working demo.

 

Thank you.

 

PS. If you need support for the old one, feel free to contact me.

Nices things,so send me a pm for see a the demo im interesed on it ^^

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

    • I can see that the admins arent taking any action, yet they still seem willing to share information about various other people names and IP addresses. But when it comes to scams, no one reacts.      
    • Server Info Chronicle:  Interlude                                                                                                                                    XP: 100x | SP: 100x | Drop: 50x | Adena: 75x Enchant: Safe +3 |  Max +21 Website: Website Link Discord: Discord Link   WHY? When I was a teenager I had this idea. Build my own Lineage 2 server. My own rules. My own world. I wasn't a programmer. I had no idea how any of it worked. I tried, hit a wall, and quit. But the idea never left. I came back years later. Got further. Quit again. Watched friends try similar things. The idea stayed stuck in my head for fifteen years. I'm a developer now. I finally finished it. Not because I suddenly had more time - I have a full-time job and real responsibilities. An hour before bed if I'm lucky. That's actually exactly why I finished it.   The problem I kept running into I still love this game. But every server I tried as an adult made that one hour feel worthless. Log in, kill a few mobs, make no real progress, log out frustrated. The game was designed for someone with unlimited time. That person doesn't exist in my life anymore. I looked around. Everyone I used to play with has the same problem. Same love for the game. Same lack of time. Jobs, families, maybe an hour late at night. So I stopped waiting for someone else to build it.           WHAT? Custom starting zone in Gludin (up until 2nd profession start) Talent system - rebirth at level 80 and choose your talents Bounty hunter system - daily tasks to kill random monsters to receive great reward! Potion crafting system - custom HP/MP potions and recipes Custom 1st & 2nd class quests (shorter) Scheme buffer Shop until C grade   Visit our website to get more info: Website Link   The philosophy 95% of the game is completely soloable. No clan required. No raid schedules. No guilt when you have to log off. You are the solo director of your own session. Log in, pursue your goal for an hour, log out on your own terms. When you've conquered what you wanted - you stop naturally. A new season drops with fresh Talent Tree changes and you come back to build something completely different. No endless stretched grind. No pay-to-win. No shady admin decisions. No surprise wipes. I'm one developer who built this because I love it.                                          This is the server I needed fifteen years ago. Glad I finally had the skills to build it. Come see what I made. [Forever Lineage]
    • Hello MaxCheaters community! We’ve all been there: you spend months customizing your NPCs, balancing classes, and setting up the perfect farm zones. You launch your server, the hype is real, and suddenly you hit 200 players—and the "delay" starts. The mobs stop reacting, the Olympiad matches stutter, and your players start complaining on Discord. Many "newbie" admins think the solution is just throwing more RAM at the VPS. While hardware matters, Java is a finicky beast. If you don't tune your JVM (Java Virtual Machine) and your core code, you’ll lag even on a NASA supercomputer. Today, I’m sharing a deep dive into optimizing your L2 server for maximum performance. 1. The Myth of "More RAM" The biggest mistake people make is assigning 32GB of RAM to a server that only needs 8GB. In Java, if your Heap size is too large, the "Garbage Collector" (GC) has to work much harder. When the GC runs a "Full GC" cycle on a massive heap, it performs a "Stop-the-World" event. This literally freezes your server threads for 1–3 seconds to clear memory. Recommendation: For a mid-rate server with 500 players, 6GB to 8GB of Xmx (Max Heap) is usually the sweet spot. Use G1GC (Garbage First Garbage Collector) instead of the old ParallelGC. It handles large heaps much more gracefully by breaking memory into regions. 2. JVM Startup Flags (The Secret Sauce) Don't just run java -jar l2jserver.jar. You need specific flags to ensure the CPU prioritizes the right tasks. Try adding these to your start.sh or start.bat: Bash   -Xms6G -Xmx6G -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:+OptimizeStringConcat -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+TieredCompilation MaxGCPauseMillis=50: This tells Java, "Try not to freeze the server for more than 50ms at a time." It makes the gameplay feel much smoother for the end-user. 3. Geodata and Pathfinding Optimization Geodata is the biggest CPU killer in Lineage 2. Every time a mob moves or a player clicks, the server calculates "Can I see this target?" and "Is there a wall in the way?". The Fix: Use a "Pathfinding Cache." If 100 players are running from the Giran Gate to the Luxury Shop, the server shouldn't calculate that path 100 times. Check your Geodata format: Ensure you are using the .l2j or .dat formats optimized for your specific core. If your console is flooded with "Pathfind node limit reached," increase your node limit in the geo.properties file, but be prepared for higher RAM usage. 4. Database Pooling (HikariCP vs. C3P0) If your server freezes for a split second every time someone saves their character or buys an item, your Database Connection Pool is the bottleneck. Most old L2J cores use C3P0, which is outdated and slow. Switch to HikariCP: It is significantly faster and handles "dead" connections much better. Also, ensure your characters and items tables are indexed correctly in MySQL. Running a VACUUM or OPTIMIZE TABLE once a week can prevent those annoying "saving player data" spikes. 5. Network Threading In your server settings, look for "Network" or "Thread" configurations. Usually, you’ll see SelectorThreads and WorkerThreads. Selector Threads: Should be equal to the number of physical CPU cores. Worker Threads: This is where the logic happens (skills, movement). If this is too low, actions will "queue up," creating a delay even if your ping is low. 6. Community Board (BBS) Optimization On MaxCheaters, we love fancy Community Boards. However, if your Buffer or Shop script is poorly coded, it might be reloading the entire HTML from the hard drive every time a player clicks a button. The Fix: Ensure your scripts cache the HTML in the RAM. Reading from an SSD is fast, but reading from RAM is thousands of times faster. Conclusion Optimization isn't a "one-click" fix; it’s about finding the balance between your hardware and your software. Start with your JVM flags, clean up your Geodata settings, and make sure your Database isn't choking on old logs. If you found this helpful, leave a comment or a "Thank You" below! If you have specific lag issues with a certain core (aCis, L2Emu, etc.), post your server.properties and I’ll try to help you tune it.
  • 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..