Jump to content

Recommended Posts

Posted

Hi everyone, I decided to develop an engine for Lineage 2, because I have already developed several websites for projects like L2Mad, and I wanted to make the best paid solution for projects of any size, at least from those available in my field of vision: Sphere, SW and WizardCP (I have also worked with it and more than once). I am also a moderator on another mmo related forum

 

Let's talk about the features of the CMS and why you should choose it. 

 

1- Security

 

Protection from SQL injection
All database queries are automatically escaped, which prevents malicious code execution. This ensures that the data passed to the queries is handled securely.

 

XSS (cross-site scripting) protection
Data rendered on pages undergoes automatic HTML entity escaping. This prevents the execution of malicious JavaScript code injected by attackers.

 

Protection against CSRF (cross-site request forgery)
Each form includes a unique token that is verified when a request is submitted. This ensures that requests come from an authorized user and prevents request forgery.

 

Session Hijacking protection (Session Hijacking)
Session protection measures such as secure cookies and strict authentication checks are used to prevent attackers from stealing sessions.

 

Data Encryption
Sensitive data such as passwords and personal information is encrypted using advanced algorithms. This ensures that data will not be compromised in the event of a database leak

 

Data validation
All incoming data undergoes strict validation, which prevents the input of incorrect or potentially dangerous data that can cause vulnerabilities or unpredictable outcomes. I would like to point out that absolutely everything is validated. For example, when making a donation, you won't be able to send a currency that the engine doesn't support.

 

Rate Limiting

 

  • Rate limiting is a mechanism for controlling the frequency of requests to L2CMS to prevent abuse, such as DDoS attacks and spam.
  • Pros of Rate Limiting
  • Protection from DDoS attacks: Rate limiting helps protect the server from overloading by limiting the number of requests that can be made by one client in a certain period of time.
  • Spam Prevention: By limiting the frequency of requests, you can reduce the risk of automated bots that try to send spam via forms on the site.
  • Performance optimization: Rate limiting helps to evenly distribute the load on the server and avoid overloads, resulting in improved application performance.
  • Improved User Experience: By preventing over-utilization, L2CMS ensures stable web application performance for all users.
  • Reduced operational costs: Protection against unauthorized use and abuse helps reduce server maintenance and bandwidth costs.

 

Logs and Monitoring
The system maintains detailed logs of user and administrator activity, allowing you to track suspicious activity.

 

2. Performance

 

Data caching


An advanced caching system is used to speed up site performance. Dynamically generated pages and frequently requested data are stored in the cache, which significantly reduces the load on the server and reduces page load time. This is especially important for highly loaded projects.

 

Caching HTTP responses
L2CMS can cache HTTP responses in their entirety. This significantly reduces the number of server and database requests, making pages load faster for repeat visits. Caching responses helps to avoid repeated processing of the same request, which is especially effective when dealing with frequently requested pages or static content. This improves overall performance and reduces server load.

 

Database Optimization
All database queries are optimized for maximum performance. I use indexing, data normalization, and other optimization techniques to ensure fast access to information and minimize latency. Thanks to the ORM's “rigor” mode, I have eliminated the problem of N+1 queries. This means that related models are loaded with a single query rather than multiple queries, greatly improving performance and reducing database load.

 

Using Dependency Injection (DI)
Modern practices such as dependency injection (DI) play an important role in ensuring high speed application performance. DI allows for flexible dependency management and reduced component cohesion, which makes it easier to


RoadRunner Support
L2CMS supports the use of RoadRunner, a high-performance Go-based PHP application. RoadRunner dramatically speeds up the execution of PHP code by ensuring that the application is always running without having to reload for each request. This allows for incredible query processing speeds and reduces latency, which is especially important for highly loaded projects. RoadRunner support means that your application can process hundreds of thousands of requests per second with minimal resource consumption. This is achieved, in particular, thanks to the ability to disable the application bootstrap (it will load 1 time), unlike the same php-fpm. I'll tell you right away that this is optional and usually redundant even for large Lineage 2 projects, but I can implement it for a fee.

 

The above-mentioned measures ensure high speed of L2CMS, which allows your project to work quickly and efficiently, providing users with an excellent quality of interaction with the site. By choosing my engine, you get not only a reliable, but also the highest performance solution that supports any Lineage 2 chronicle. I strive to ensure that your experience with L2CMS is top notch, providing excellent performance and reliability.

 

3. Modernity and quality

 

Up-to-date technologies and standards
We utilize the latest technologies and development standards. Our application is built on the latest versions of programming languages and components, ensuring support for the latest features and security patches.

Architecture and flexibility


L2CMS has a high-quality architecture that makes it easy to add and update functionality without having to make changes to the core system. This provides high flexibility and scalability. The architecture allows you to quickly adapt to changes in requirements and introduce new features.

 

Clean and readable code
L2CMS uses PascalCase for class naming, camelCase for variables and methods, and snake_case for helpers, which makes the code more readable and standardized. I follow the rules of writing clean code, which makes the project easier to understand and maintain. This is another area where my application outperforms the aforementioned competitors.

 

Modern patterns
I apply modern design patterns such as Dependency Injection (DI), Singleton, Repository, Factory and others. These patterns help in organizing the code in such a way that it is easily maintainable and extensible. Unlike the aforementioned competitors, my web application is more structured and ready to scale due to the use of these patterns.

 

Typing and annotations
I use typhindings and annotations for all methods and functions, which avoids bugs and makes the code more understandable and predictable. Unlike the aforementioned competitors, where you can't always predict the logic of operation, our application provides a high level of code predictability and reliability.

 

4. basic functionality of L2CMS (will be replenished as new features are implemented)

 

Registration via social networks and messengers
L2CMS provides users with a modern and convenient way to register and authorize through popular platforms such as Discord, Telegram, Facebook and Google. This greatly simplifies the process of account creation and login, increasing usability and user satisfaction.

 

mmo-dev.info_social_auth.png.3f120c4f95b4649dbaaa83a4ec2d1bf0.png

 

2FA support from Google in L2CMS
L2CMS supports two-factor authentication (2FA) using Google Authenticator to provide an additional layer of security for master accounts. The 2FA integration is similar to the system in Discord and includes secret key generation, QR code scanning and one-time password validation.

 

Main features of 2FA in L2CMS

 

  • Secret key generation
  • When setting up two-factor authentication, a unique secret key is generated for the user. This key is used to create one-time passwords that the user will enter when logging in.
  • Creating and displaying a QR code
  • The secret key is used to create a QR code that can be scanned with Google Authenticator or another app like your phone's camera for 2FA. The QR code simplifies the setup process by allowing you to quickly add your account to the app.
  • Enabling and confirming 2FA
  • After scanning the QR code and setting up the app for 2FA, the user can confirm activation of two-factor authentication. This includes saving a secret key and generating recovery codes that can be used if access to the primary codes is lost.
  • One-time password (OTP) validation
  • Each time a user logs in, they must enter a one-time password generated by the 2FA application. This provides an additional layer of security requiring both knowledge of the password and access to the application.
  • Disabling 2FA

 

mmo-dev.info_2fa_enable.thumb.png.896624518d49b747abbcc17be953415e.png

mmo-dev.info_2fa_enable_modal.thumb.png.9c047c2bfb83d36e61928b35faf71cde.png

mmo-dev.info_2fa_disable.thumb.png.8037f3f77685dc9785ff4d44e7d6e41a.png

 

Support for all Lineage 2 chronologies, emulators and databases
L2CMS is a versatile and powerful solution for interacting with your Lineage 2 game server that supports all types of chronologies of this popular game. No matter what version of Lineage 2 your server is running, L2CMS offers the flexibility and functionality to ensure a seamless experience and meet the needs of your audience. If your DB or chronicle is not supported by L2CMS, then email or call me and it will be added as soon as possible, and it's free of charge.

 

Setting up L2CMS to work with the various Lineage 2 chronicles is simple and intuitive. I provide support so you can quickly and seamlessly customize your server for the chronicle you need. Our interface allows you to easily switch between different versions of the game and manage them with minimal effort.

 

Java and PTS supported!

 

Also supports all password encryptions (including custom for VanganthC4 PTS). 

 

mmo-dev.info_add_server.thumb.png.c3d709308585311c5534184620643d2a.png

 

Theme System
The theme system in L2CMS provides you with a powerful tool to utilize your website design, improving user experience and increasing the uniqueness of your project. By choosing L2CMS, you get not only a functional and reliable engine, but also the ability to easily and quickly customize the look of your project according to your preferences and needs. When you purchase L2CMS, the stretching of your layout is included in the price.

 

Structure:

 

L2CMS/
├── resources/
│ ├── views/
│ │ │ ├── theme_name/
│ │ │ │ ├── auth/
│ │ │ │ ├── components/
│ │ │ │ ├── layouts/
│ │ │ │ ├── partials/
│ │ │ │ ├── theme.json

 

components contain dynamic components that will allow you to easily customize the layout for: news list, streams, list of servers and so on.

 

mmo-dev.info_themes_components.png.de03d56769d7155bae7ba75e632b51b2.png

 

Over time, I will provide you with a wide selection of ready-made themes that can be easily activated in the admin panel. The cost of stretching your layout, if you have already taken advantage of the free stretching after purchasing the version, will depend on the complexity, but the price tag is clearly from $20.

 

Roles and permissions system
L2CMS implements a powerful and flexible role and access rights management system. This system allows you to fine-tune which actions and resources are available to different categories of users, providing a high level of security and control over the functionality of your site.

The L2CMS roles and permissions system is designed to be extensible. In the future, you can add new roles and customize their access rights depending on the needs of your project. This may include creating specialized roles for moderators, managers, editors, and other categories of users.

 

Warehouse
However, as everywhere else, there is a warehouse that will allow you to send items to certain characters directly from your personal cabinet!

 

Mass E-mail distribution
L2CMS provides powerful tools for implementing Email newsletters that will help you keep in touch with your players, remind them about your server and stimulate their activity. Using Email newsletters in your project allows you to effectively manage communication with your users, improving user engagement and retention.

 

Ticket system
L2CMS provides a convenient and functional ticketing system that simplifies the interaction between users and technical support. The ticketing system is a powerful tool for managing user requests, processing their questions and providing timely assistance.

 

Main features of the ticketing system

 

  • Ticket creation
  • Users can create tickets to contact technical support or site administration. When creating a ticket, users can specify the subject of the request, a description of the problem and attach files if necessary.
  • Ticket management
  • Technical support has access to the ticket management dashboard where they can view all open requests, filter them by various criteria (e.g. status, creation date, priority) and assign tickets to specific employees.
  • Responses and interaction
  • Support can respond to tickets by providing solutions or requests for additional information. Responses are displayed in the form of a chat, which makes communication convenient and visual, similar to what is implemented in popular messengers such as VKontakte or Telegram.
  • Ticket Closing
  • After the problem is solved or the request is answered, technical support can close the ticket. The system automatically notifies the user that the ticket has been closed and provides an opportunity to evaluate the quality of assistance provided.
  • Correspondence history
  • All correspondence on the ticket is saved in the system, which allows you to track the entire history of interaction with the user. This is useful for further analysis and improvement of service quality.
  • Notifications and reminders
  • Users and technical support receive notifications about new comments, ticket status changes and other important events. This allows for quick responses and keeps information up-to-date.
  • Chat interface
    The interface of the ticketing system is styled after popular messengers such as VKontakte or Telegram. This provides an intuitive and convenient interaction experience for users and support staff.

 

mmo-dev.info_ticket_support_chat.thumb.png.3524caaebc4d8dda6ce2eb3b874f116b.png

 

SEO Editing Capabilities

 

 

  • SEO metadata management
  • Headings (Title): You can customize SEO headings for each page, allowing you to optimize search engine display and attract more traffic.
  • Description: The ability to set unique descriptions for pages, which improves clickability in search results and provides a more accurate representation of page content.
  • Images (Images): Set images to be displayed in previews and social media, improving the visual appeal of your content.
  • Edit Interface
  • User-friendly administrative interface: Easily edit SEO metadata through the admin panel, allowing you to make changes quickly without having to work with code.
  • Multilingualism
    Multilingual support allows you to set SEO metadata for different language versions of pages, which is especially important for sites with an international audience.

 

Syntactic sugar and customizations
L2CMS features a global customization system that provides centralized customization management and its automatic implementation in themes. This allows you to easily customize and change various settings of your site without having to edit each template manually.

 

This is especially handy when pulling in a layout:

mmo-dev.info_settings_example.jpg.be98c7914630487d12664d3c7a0ad8cf.jpg

 

Monetization

I am well aware that for many people Lineage 2 is a business, and L2CMS should help you, dear customers, to monetize your project and provide you with as many payment systems out of the box as possible. Currently the following payment systems are integrated into L2CMS: FreeKassa, Palych, PrimePayments, Morune, Stripe, PayPal, Cryptocloud and Binance.

 

Statistics, logs and infographics

L2CMS offers a convenient and intuitive way to track user registration statistics using infographics. Thanks to the built-in service, you will be able to get detailed data about user registration for different periods. Below are the main features and advantages of our service:

 

Main features.

 

 

  • Filtering data by period:
  • Today
  • Yesterday
  • Last 7 days
  • Last 3 months
  • Last 6 months
  • Last year
  • Last 30 days (default)
  • Data selection by date range:
  • Ability to specify an arbitrary period to analyze registrations.
  • Data analysis and visualization:
  • Obtaining the number of registered users for the selected period.
  • Grouping data by date and displaying the number of registrations for each date.

 

Advantages.

 

  • Intuitive interface: Our service provides a user-friendly interface for selecting and filtering data. You can easily select the desired period or set a specific date range for analysis.
  • Detailed infographics: Data on registrations is presented in the form of visual graphs and charts, which allows you to quickly and conveniently analyze the dynamics of user registration.
  • Flexible customization: You can adapt the appearance of graphs to the light or dark style of your interface. Depending on the style, the system will automatically select the appropriate colors and settings.

 

L2CMS Also has a few additional features that will not be included in the main lineup and I believe will be at an additional cost. But I'm not sure yet

Here is an example of an integrated Passkey system

 

 

 

 

Answers to frequently asked questions

 

  • Q: Where is the backend stored?
  • Answer: you.
  • Q: I am using mmoweb and want to move to L2CMS. Is it possible?
  • Answer: Yes, it is possible.
  • Question: Can I change the UCP design or even replace it completely?
  • Answer: Yes, you can.
  • Question: Does it support multiple servers?
  • Answer: Yes.
  • Question: Are themes in the catalog included by default?
  • Answer: Yes. But now there is no themes
  • Question: Will I be able to quickly migrate to L2CMS with an existing project?
  • Answer: Yes, L2CMS supports account import.
  • Question: If I buy a basic plan, will I get support?
  • Answer: Yes, you can always call me on Discord and Telegram.

 

Cost: from 300$ (for basic plan) and more, depending on the configuration (more on that later). The start of sales is tentatively a little bit later.

Prepayment 100%. If you doubt my honesty, there is a forum guarantor. The cost of services guarantor pays the client.

 

A sales agreement (in simple words) for our cooperation/cooperation:

 

My Commitments:

  • I am committed to provide technical support. In case of a bug, I am obliged to fix it free of charge and provide the update to other customers.
  • I undertake not to disclose confidential information about the project (accesses, builds, donations, statistics, etc.).
  • I commit to implement your layout once for free. Implementation of other layout in the future will be a paid service.

 

Your obligations:

  • You agree not to provide access to L2CMS files to anyone other than yourself and me. You may not provide L2CMS to other developers for fixes or implementation of new features. This code is my property, and if you need to change anything, please contact me.
  • You agree to place the copyright of L2CMS. In case of its removal, you will lose technical support.
  • You are forbidden to use L2CMS on other domains without prior notification to me.


In some cases, I will accompany you in starting your server.

 

I'm working hard on the project and the number of commits has already reached 341.

 

photo_2024-08-31_22-23-33.jpg.e667914a807ac3c0ce7daea19731810f.jpg

 

I have already tested CacheD, custom password hashing algorithms, for example, I posted 1 of them on GitHub as I couldn't find a ready working solution

 

Unfortunately the information is a bit outdated and the amount of functionality has increased a lot. Now L2CMS is being deployed and tested on 2 projects.

After that I will start selling!

 

My contact info is: Telegram

  • Upvote 1
  • 2 weeks later...
Posted (edited)

New Changelog:

 

  • Fixed a bug related to loading images into CKEditor using drag & drop. Investigated use-cases where there were issues due to a parameter in the request, and they are resolved by changing the CKEditor configuration. 
  • Removed the “Balance”, “Warehouse” and character count blocks.
  • Decided to completely change the appearance of the user page in the admin panel. It is being finalized, but I think this is pretty much the final version.
  • Thinking about adding additional Middleware to protect against SQL injections in case they are found in third-party packages. L2CMS itself has no problems with SQL injection, but I suppose as an additional security measure it wouldn't hurt. I'll still explore this point in more detail, but here goes sort of.
  • Started working on new components that will allow me to provide you with technical support and implement new features even faster than before.
  • Added new translation phrases
  • Updated dependencies


Work on two projects that already have L2CMS on them is coming to an end. When these works are completed, I will publish the list of features and the cost of the base tariff. I believe that it will remain unchanged.

Edited by NikDev
Posted

You are a highly skilled developer, but unfortunately, you're targeting the wrong market or client base. If I were you, I'd consider freelancing on various websites where prices for your level of work start at €1,000 or more. Your skills are worth that much. Right now, you're wasting your time in a market that can't afford your expertise, and many of the players here may not fully grasp advanced systems like passkeys.

Either way good luck.

----

PS: for potential customers, whatever he asks of money pay it, he knows what he is doing and already taking less than he should.

  • Thanks 1
Posted
On 9/11/2024 at 10:01 PM, Nightw0lf said:

You are a highly skilled developer, but unfortunately, you're targeting the wrong market or client base. If I were you, I'd consider freelancing on various websites where prices for your level of work start at €1,000 or more. Your skills are worth that much. Right now, you're wasting your time in a market that can't afford your expertise, and many of the players here may not fully grasp advanced systems like passkeys.

Either way good luck.

----

PS: for potential customers, whatever he asks of money pay it, he knows what he is doing and already taking less than he should.

Thank you for such kind words. 

Yes, Passkey is redundant and many will not understand. That's why I didn't add it by default

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...