Jump to content

Recommended Posts

Posted

Since a lot of people got problems with account panels and hosting company that doesn't support mssql connection i've made a AP Gateway and Account Panel that should work everywhere.

How it works:

Account Panel got 3 basic functions:

- DBCreateAccount - creates account

- DBChangePassword - changes password for specified account

- DBResetPassword - resets password for specified account and sends it to player's email box

Above functions uses tcp/ip protocol to connect to AP Gateway - that's why no additional library is required at hosting side. The AP Gateway (made in C# uses .Net Framework 4.0) have be run in windows box - can be run in same machine as MS SQL Server, it connects to sql server and handles Account Panel's requests.

 

How to configure:

1. Download and unpack AccountPanel.7z then open and edit config.php:

<?php
$serverName="L2Service";  //Change it to your server name
$serverUrl="http://www.l2service.com"; //Change it to your server's website url
$dbHost = "127.0.0.1";  //APGateway IP - ip of the machine where AP Gateway will be hosted
$dbPort = 1224; //APGateway Port
$captchaType=1; //Captcha Type 1 - Slide , 0 - Text - anti bot system

?>

2. Upload Account Panel to your web host.

3. Create new login in MSSQL for APGateway (it needs read/writie/connect access to lin2db database).

4. Download and unpack APGateway.7z then open and configure APGateway.exe.config in some text editor (ex Notepad2):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="APGateway.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <APGateway.Properties.Settings>
            <setting name="DbUser" serializeAs="String">
                <value>sa</value>
            </setting>
            <setting name="DbPassword" serializeAs="String">
                <value>123456</value>
            </setting>
            <setting name="DbServer" serializeAs="String">
                <value>(local)\SQLEXPRESS</value>
            </setting>
            <setting name="BannedIpList" serializeAs="String">
                <value>192.168.15.44;120.33.234.11</value>
            </setting>
            <setting name="BanDuration" serializeAs="String">
                <value>300</value>
            </setting>
            <setting name="SafeIpList" serializeAs="String">
                <value>127.0.0.1</value>
            </setting>
            <setting name="ConnectionPerSecond" serializeAs="String">
                <value>10</value>
            </setting>
            <setting name="AcceptSocketDelay" serializeAs="String">
                <value>10</value>
            </setting>
            <setting name="DBTrustedConnection" serializeAs="String">
                <value>False</value>
            </setting>
            <setting name="DBTimeout" serializeAs="String">
                <value>30</value>
            </setting>
            <setting name="SMTPServer" serializeAs="String">
                <value>smtp.gmail.com</value>
            </setting>
            <setting name="SMTPPort" serializeAs="String">
                <value>587</value>
            </setting>
            <setting name="SMTPUseSSL" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="SMTPLogin" serializeAs="String">
                <value>yourSmtpLogin</value>
            </setting>
            <setting name="SMTPPassword" serializeAs="String">
                <value>yourSmtpPassword</value>
            </setting>
            <setting name="EmailAddress" serializeAs="String">
                <value>support@l2service.com</value>
            </setting>
            <setting name="ServerName" serializeAs="String">
                <value>L2Service</value>
            </setting>
        </APGateway.Properties.Settings>
    </applicationSettings>
</configuration>

 

- DbUser - replace sa with your new login

- DbPassword - repalce 123456 with password for your new login

- DbServer - replace (local)\SQLEXPRESS with your sql server instance

- SafeIpList - add your web host's ip there (separated with ';' )

SMTP server is used to send new passwords to player's email box (Reset Password option)

- SMTPServer - replace smtp.gmail.com with your smtp server

- SMTPPort - replace 587 with your smtp server port

- SMTPLogin - replace yourSmtpLogin with login to your email account

- SMTPPassword - replace yourSmtpPassword with password for your email account

- EmailAddress - replace support@l2service.com with your email address

- ServerName - replace L2Service with your server name

5. Upload APGateway to your server machine and open port 1224 TCP in Firewall (dont forget to add rule that only your web server ip can connect)

6. Open update.sql from AccountPanel.7z and run this query in MSSQL Management Studio - it will add email field to user_account table.

7. Run APGateway and have fun with working account panel.

 

Required files:

AccountPanel.7z

APGateway.7z

.NET Framework 4.0 (Web Installer)

 

Feel free to edit above files as you like to, just don't sell them.

 

Regards

  • 3 weeks later...
  • 9 months later...
  • 2 weeks later...
Posted

If you shared this tool because many have problems with hosters that don't support mssql .

Why you dont release the source code of ApGateway so the users can compile - look on the code and trust this server executable?

Posted

Think that most of the people here, don't have any codding knowledge, so even if they will have the source, they won't have any idea how to use it or work with it.

 

Use it and then cry for being hacked.

I think Vanganth knows what he is doing.

Posted

Think that most of the people here, don't have any codding knowledge, so even if they will have the source, they won't have any idea how to use it or work with it.

I think Vanganth knows what he is doing.

Correct, but this panel is vulnerable if its used by default settings.

A minor tweak can be a of great use tho.

Posted

Correct, but this panel is vulnerable if its used by default settings.

A minor tweak can be a of great use tho.

By default settings you mean port ? lol

Posted

By default settings you mean port ? lol

Using it on default port is simply vulnerable and it was proven already.

Its simple to change it tho :)

  • 1 month later...
  • 3 years later...
  • 4 months later...
Guest
This topic is now closed to further replies.


×
×
  • Create New...