| KaroDievas 2018-01-08 20:42:24 |
|---|
| Hi,
Founded in my old files guide how to create lineage2 official server. Unfortunatelly there are no any images of files, but maybe it will help you or maybe someone have files and can share. So here is guide: Requirements: 64-Bit Processor and 64-Bit OS MSSQL (NOT MYSQL) ========================================================== #1 Extract all the folders from the C4 Official Pack to the folder or place you want them.... Also extract all other files into there respected folders in CacheDScript Folder, Geodata Folder, html Folder, L2Server Folder, and Script Folder. (Note those few txt files in there you can delete.) ========================================================== #2 Edit your configs CacheD -> l2cache.ini [Change (address="TO LAN IP")] L2NPC -> l2npc.ini [Change all (address="TO LAN IP")] L2Server -> L2Server.ini [Change all (address="TO LAN IP")] [Change (reconnectauth=0)] AuthD/etc -> config.txt [Change (DevServerIP="TO WAN IP")] [Change (logdip="TO LAN IP")] L2Comm -> l2comm.ini [Change all (address="TO LAN IP")] L2LogD -> L2logD.ini [Change all (address="TO LAN IP")] Note: Change the Address to your LAN IP if it's on a LAN or to WAN if it's on server box. Example: Routers are normally LAN (YOUR HOUSE) so IP starts with 192.*.*.* Boxes uses Switches WAN (DATACENTER) so IP WONT'T start with 192.*.*.* Note 2: Change all world ids to 1 ========================================================== #3 Create the Databases by Executing 0_create-db.sql -> EXECUTE 1_lin2clancomm -> EXECUTE 2_lin2comm -> EXECUTE 3_lin2db -> EXECUTE 4_lin2log -> EXECUTE 5_lin2report -> EXECUTE 6_lin2user -> EXECUTE 7_lin2world -> EXECUTE 8_petition To their corresponding databases. #4 Edit x_self.sql -------------------------------------------------------------------------- -- Create the world id INSERT INTO lin2db.dbo.server (id, name, ip, inner_ip, ageLimit, pk_flag, kind, port) VALUES (1, 'xxxxxxxx', '1.2.3.4', '127.0.0.1', 0, 1, 0, 7777); -- name ip (of your server) GO -- Create root user and make in build master aka game master aka GM -- WARNING: the default password is also 'root'. First thing you need to do -- after install is change it. INSERT INTO lin2db.dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num) VALUES ('777','God of Lineage','god@heaven.li',0,'telphone','123456','','',1); INSERT INTO lin2db.dbo.user_account(account, pay_stat) VALUES ('root', 1); INSERT INTO lin2db.dbo.user_info(account,ssn,kind) VALUES ('root','777', 99); INSERT INTO lin2db.dbo.user_auth(account,password,quiz1,quiz2,answer1,answer2) VALUES ('root', CONVERT(binary, 0xb1be70e9a83f19192cb593935ec4e2e2), '', '', CONVERT(binary, ''), CONVERT(binary, '')); INSERT INTO lin2world.dbo.builder_account(account_name, account_id, default_builder) VALUES ('root', 1, 1); GO -- insert into petition.dbo.NCDBA7 values (1,'connection string',10000,30,'petition'); -- read notes about PetitionD!!! -- GO -------------------------------------------------------------------------- That's quite self explanatory except for the PetitionD part. (Don't touch "lin2db.dbo.user_auth(account,password,quiz1,quiz2,answer1,answer2) VALUES ('root', CONVERT(binary, 0xb1be70e9a83f19192cb593935ec4e2e2), '', '', CONVERT(binary, ''), CONVERT(binary, ''));") Check Part #3 Extra at the bottom ========================================================= #4 Set up your DSN Control Pannel -> Administrative Tools -> ODBC <TAB> FILE DSN Add - SQL server - lin2world - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2world Add - SQL server - lin2clancomm - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2clancomm Add - SQL server - lin2comm - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2comm Add - SQL server - lin2log - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2log Add - SQL server - lin2report - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2report Add - SQL server - lin2db - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2db Add - SQL server - lin2user - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): lin2user Add - SQL server - petition - Server(s): (127.0.0.1) - Windows NT identification(W) - Change the Basic Database to following(D): petition ========================================================= #5 Create a user that has access to all the databases. Make MSSQL server use mixed Authentication. ========================================================= #6 EDIT boot.ini under C:\ You might see different things, depends on which OS you have... [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windo ws Server 2003, Enterprise" /noexecute=optout /fastdetect /3GB add /3GB to the end of boot.ini ========================================================= #7 RESTART THE COMPUTER ========================================================= #8 Generate your Serial Number for your Server Computer Open Command Prompt and type ipconfig /all Enter the information in the keygen provided and use that key for all the key prompts on server load up ========================================================= #9 Load up the servers [L2LogD.exe] File DB = lin2log login name = MSSQL User password = MSSQL USER PASS [CacheD.exe] File DB = lin2world login name = MSSQL User password = MSSQL USER PASS [L2Comm] File DB = lin2clancomm or lin2comm (Based on which one it asks you for) [Two prompts will pop up on for lin2clancomm and lin2comm] login name = MSSQL User password = MSSQL USER PASS [PetitionDConsole] [L2AuthD.exe] File DSN = lin2db login name = MSSQL User password = MSSQL USER PASS [L2Server.exe] [L2NPC.exe] ========================================================= #3 Extra 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 Code: SERVER=(Server name);DATABASE=(Database name);Integrated security=true EXAMPLE: SERVER=.;DATABASE=petition;Integrated security=true b) Classic authetification using SQL login (recommended) and password Code: SERVER=(Server name);DATABASE=(Database name);UID=User name;PWD=Password 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 - Installer Tool (Installutil.exe) 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) http://aralyon.ratafak.net/peti/2a.jpg 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. 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. |