Jump to content

Recommended Posts

Posted

This is my very first bigger share, so be patient please, I’m not so skilled like others are :)

This is complete tutorial how to install PetitionD server and how to configure it. The server is from NCSoft, I haven’t changed anything. The database is my own work, because standard database schema is for old petition server, which doesn’t work with C4 retail. So I had to make totally different database schema, compatible with this client.

So let’s start with database:

 

PART I – DATABASE

Everything is tested on MS SQL server 2005, I was too lazy to looking for 2000 and installing it.

1. Create empty database for petition (in my examples it is call called ‘petition’)

http://aralyon.ratafak.net/peti/1a.jpg

http://aralyon.ratafak.net/peti/1b.jpg

2. Think out connection string – it’s string containing all information about connecting to database (Petition server DOESN’T use DSN like other parts of L2 server)

There are 2 ways how to connect

a) Windows authentication

You authenticate to mssql with your windows username and password - the connection string is

SERVER=[i](Server name)[/i];DATABASE=[i](Database name)[/i];Integrated security=true

EXAMPLE: SERVER=.;DATABASE=petition;Integrated security=true

b) Classic authetification using SQL login (recommended) and password

SERVER=[i](Server name)[/i];DATABASE=[i](Database name)[/i];UID=[i]User name[/i];PWD=[i]Password[/i]

EXAMPLE: SERVER=hades;DATABASE=petidb;UID=sysdev;PWD=tltmxparoqkftlf1234!

3. Open db_schema\petition_schema.sql in MSSQL Management studio (or Query Analyzer in MSSQL2000)

4. Write connection string to INSERT INTO statement, as shown below:

http://aralyon.ratafak.net/peti/1c.jpg

5. Set current database to your petition database in toolbar

http://aralyon.ratafak.net/peti/1d.jpg

6. Execute it, it should return no error

 

PART II – SERVER

1) Choose mode - you can use it like service (originally) or (with my loader) like console program.

2) Installing service - skip if you want to use it like console program

Use InstallUtil from .NET installation directory (I think that it is explained somewhere in other topic.

Syntax is: InstallUtil.exe c:\yourL2server\PetitionD\PetitionD.exe

Some informations about it -

3) Make encrypted connection string:

1) Write your connection string from step 1.2 to a text file (e.g. connstr.txt)

2) Encrypt it with DES.exe
many thanks to Digital
- write name of the text file with connection string to field "File to encrypt" and then click on "Encrypt" button. It should show you a "Done" message and create .enc file (e.g. connstr.txt.enc)

3) it contains encrypted connection string.

4) Edit PetitionD.exe.config (for service version) or PetitionConsole.exe.config (for console version). Configuration options are in format <add key="Name" value="Value"></add>

Description of configuration file:

GmServicePort - port for connecting from GM client

WorldServicePort - port for connection from gameserver, it must be the same as [PetitionD] - port in l2server.ini

NoticeServicePort - I don't know yet, I'll have a look later

AuthIp - Ip address of AuthD (It needs auth to authenticate GM client)

AuthPort - admin port of AuthD

AuthConnCount - size of connection pool

LogDirectory - directory to store log files

EnableQuota, MaxQuota - Quote about number of petitions from one player, leave it off, because it isn't done yet

RunMode - can be "test" or "normal", it is highly recommended to set it on "normal"

DumpPacket - enables dumping packets to log file (I recommend to disable, it is for debugging purposes only)

ServerStatusRefreshInterval - ???

DatabaseConnString - encrypted connection string - you MUST change it to corrent values, otherwise it doesnt work!

DatabaseConnName - leave it, it is name of the connection string in NCDBA7

DatabaseConnCount,DatabaseConnTimeout - leave it

MaxActivePetition - maximum number of petitions

MinimumGmClientBuildNumber - minimum version of GM client

EnableGmStatusDump - ???

EnableAssignment - ???

MaxAssignmentPerGm - ???

EnableOnlineCheck - ???

 

So it is everyting, now petition server is configured. you can start console version with PetitionConsole.exe and service version in service manager in control panel.

It is not still fully tested, but I hope there is no more bugs. If you find anything, please write it to this topic or send me icq or msn message

 

There is one big problem related to it - It looks like external gm client is needed, because the only method which can get petition into state 3 (petition after submitting is in state 2) is called from gm client listener handler (=invoked by gm client).

But gm client supplied with server doesnt work, probably it is intended to use with old petitionD.

I wrote one, it is here - http://www.postpacific.com/forums/showthread.php?p=66313. GMs can't do nearly anything with submitted petition with L2 client, you have to use GM client. The only builder command related to petition (which I know what it si doing is //force_peti <charname> <petition content> which forces player to submit a petition.

Security notice - for security reasons restrict database access for petition server, there might be security issues, it is unlikely,but it is possible.

 

Enjoy it :)

 

Download: http://aralyon.ratafak.net/peti/PetitionD.rar

- password: postpacifik

- it includes all files and tools described in this topic

 

GM Petition client:

forum thread - http://www.postpacific.com/forums/showthread.php?p=66313

direct download - http://aralyon.ratafak.net/peti/gmclient.rar

 

Do you have problems with submitting petitions with UnexpectedCategory error?

 

 

  • 4 months later...
  • 1 year later...
Guest
This topic is now closed to further replies.


  • Posts

    • TG Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
    • 🚀 IronLock Shield - Closed Beta Update Hello everyone, Since our first announcement, IronLock Shield has received several major protection upgrades. IronLock Shield is a security platform developed specifically for Lineage II Interlude servers, focused on launcher integrity, runtime protection, session security, and anti-bot hardening. Current protection features: ✓ Secure Launcher Architecture ✓ HWID-Based Licensing ✓ Signed Launcher Session System ✓ Gateway Session Verification ✓ Automatic Session Revoke on Critical Detection ✓ Replay Protection with Nonce Validation ✓ Runtime Integrity Verification ✓ Secure Update System Client-side protections: ✓ Anti-Debug Protection ✓ Anti-Dump Protection ✓ DLL Injection Detection ✓ Manual Map Detection ✓ Remote Thread Detection ✓ Runtime Patch Detection ✓ Suspicious Handle Detection ✓ Memory Read / Write Guard ✓ Strict DLL Hash / Allowlist Control ✓ Launcher Self-Protection ✓ Watchdog Protection Bot and automation hardening: ✓ Adrenaline / Memory Reader Hardening ✓ Runtime Decoy Memory Regions ✓ Fake Pointer-Chain / Offset Noise ✓ Per-Build Mutation System ✓ Pointer Scan Disruption ✓ Virtual Keyboard Input Detection ✓ Hookless Virtual Mouse Click Detection ✓ Raw Input Based Mouse Verification Server and gateway security: ✓ Signed Launcher-to-Server Requests ✓ Build ID Binding ✓ HWID Binding ✓ IP / Session Binding ✓ Expired Session Blocking ✓ Revoked Session Blocking ✓ Gateway Runtime Session Checks ✓ Critical Detection Reporting Panel Recent improvements: ✓ Improved protection against memory-reading bots ✓ Added decoy pointer-chain memory traps ✓ Added per-build mutation data ✓ Added stricter process handle policy ✓ Added hookless virtual mouse click detection ✓ Improved watchdog stability to reduce false positives ✓ Improved session revoke logic for critical detections ✓ Updated website and protection feature list IronLock Shield is currently in closed beta. Selected Lineage II Interlude server owners can receive 1 month of free access in exchange for testing and feedback. Website: https://ilshield.com If you are interested, feel free to send me a private message or contact me through Discord. Thank you.
    • Contacts for communication. Telegram https://t.me/a_dvertising_man Telegram short link @a_dvertising_man   Delta Chat https://i.delta.chat/#11D46642C67CF6BDD4BD6430EB8AE99106CC54D7&v=3&i=u1npSLMZpUfcnWi5FGHNBn-1&s=GjBgI7oXKcuCXGl1acvt0tcp&a=p2norrc0e%40nine.testrun.org&n=advertisingman Hello. I participate in "forum deal" in role middleman. Paid services in graphic design,garant service(https link to profile) is provided only from buyer. Please write me in messenger for contact who are you by nationality and in which country you live.   I will not conduct deals with buyers and sellers from Ukraine. I do not cooperate with country Ukraine. If you Ukrainian by nationality or live in Ukraine,ignore this topic. If you other nationality: paid service from garant service buyer pays using own money.   Garant service(https link to profile) provided only from buyer. Buyer provides address guarantor service(https link to profile) or multiple addresses guarantors services. If seller don't like this garant service address(seller may doubt whether he will receive money from this garant service),then buyer offers another address garant service or multiple addresses guarantors services. If neither address seller doesn't like,then buyer is leaving from me.   Buyer deposits full amount to payment details guarantor service, plus my commission(my percent above amount for service in graphic design). In "forum questionnaire" buyer writes: payment details from seller,payment details seller i will send to buyer in advance via messenger.   Paid creation avatar and banner(price depends from complexity work). Paid creation visuals for music releases,for promo art(price depends from complexity work). Original posters using stock images(price depends from complexity work). Design for social media:covers,previews(price depends from complexity work). Other paid services in graphic design(price depends from complexity work).  
  • 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..