Witaj
Gość

Wątek: [Poradnik] Stawianie serwera Lineage 2 Prelude  (Przeczytany 6649 razy)

  • Wiadomości: 10

  • Pochwał: 0

[Poradnik] Stawianie serwera Lineage 2 Prelude
« dnia: Listopad 24, 2013, 03:33:52 pm »
Z okazji 10-lecia gry postanowiłem napisać ten poradnik. Na początek kilka słów ode mnie.

O Prelude Open Beta:
- dostępna tylko 1 zmiana klasy,
- brak raid bossów (poza Ant Queen i Core),
- top grade C (w Prestigious Items Hall, w Giran), są itemy B, A, S ale niedostępne dla graczy),
- brak spiritshotów (tylko soulshoty),
- inne UI, inne tekstury,
- świat podzielony na Elmore (Orc, Dwarften Village) i Aden (Talking Island, Elven, Dark Elven Village, Gludin, Gludio, Dion, Giran),
- brak Oren, Aden, i paru innych miast, jednak są tekstury Oren (tylko gm może się tam teleportować),
- można jeździć na striderze, wywernie (tylko gm),
- siege tylko w Gludio, jest też agit – Partisan Hideaway, brak clan halli,
- tax rate max 30%,
- niektóre buffy trwają tylko 10 minut.

Wstępne informacje:
- Serwer potrzebuje klienta Lineage 2 C0 open beta protocol 336. Niestety link z fileplanet padł. Można używać nowszego klienta (można go znaleźć w internecie, jeśli linki nie padły, protocol ~370) z systemem p336 jednak powoduje to drobne bugi,
- Serwer działa na wszystkich Windowsach do Windowsa 7 włącznie (Win8 i wyższe nie sprawdzałem),
- Wymaga MSSQL serwer 2000 (powinno działać na wyższym, ale poradnik jest na 2000),
- Na internecie można znaleźć różne datapacki:
   - koreański (bez geodaty, zapewne wyciekł),
   - przetłumaczone przez rebelstrika na angielski, z geodatą z C1 (zawiera tereny aden, oren, których nie było w C0).
- Serwer czasem lubi nie wystartować, z różnych powodów:
   - brak swap-u,
   - błąd w geodacie (wtedy trzeba znaleźć inną, uruchomienie serwera bez geo powiedzie się ale nie będzie można wejść do gry),
   - w niektórych poradnikach można przeczytać, że aby załadowały się wszystkie NPC, należy na końcu boot.ini do wpisu bootowania Windowsa(dotyczy starszych wesji) dopisać /3GB (info o tym przełączniku: http://support.microsoft.com/kb/833721/pl). Ten serwer NIE wymaga tego.
- Serwer może też wystartować zminimalizowany i nie chcieć się przywrócić – w takiej sytuacji należy go zmaksymalizować,
- Wszystko co można zmienić z serwerze znajduje się w folderach spript i html,
- Trzeba mieć l2decrypt.exe aby edytować l2.ini, nowsze file editory mogą nie zadziałać,
- Porty, na których działa serwer:
   2106 – login
   7777 – game
Pozostałe porty służą do komunikacji wewnętrznej programów serwera – powinny być zablokowane.
- Ostatnia uwaga: zanim przystąpisz do stawiania serwera powinieneś mieć co najmniej podstawową wiedzę o MSSQL – w części wymagającej jego użycia najczęściej pojawiają się błędy.

A teraz o stawianiu serwera…
« Ostatnia zmiana: Listopad 24, 2013, 10:35:36 pm wysłana przez a23v52 »


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #1 dnia: Listopad 24, 2013, 03:34:28 pm »
CZĘŚĆ 1 – Konfiguracja plików INI i config.txt

l2cache.ini w folderze CacheD
[LogD]
address="127.0.0.1"
port=3999

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
Country=3

[World]
WorldId=1  //id świata – musi być wszędzie taki sam
Pair=0

[ItemAudit]
DefaultPriceLimit=1000000000
DefaultPriceCheck=500000000
ChgRatioLimit=30

AdenaLimit=1000000000
AdenaCheck=500000000
AdenaChgRatioLimit=30

[SQL]
SQLExecLimit=5000
;clear unowned item data[0:false, 1:true]
ItemClearOnStart=1
DiffBBSConn=0
SaveQsData=0
l2logd.ini w folderze L2LogD
[LogD]
address=127.0.0.1
port=3999
sendable=false

[LogTable]
Daily=0
BCPFolder=0

[Start]
BCPInt=3600000
ServerInt=600000
AutoBCP=0

[World]
WorldId=1 //id świata, wszędzie musi być taki sam

[SQL]
SQLExecLimit=5000
PollingInterval=6000
BCPThreadCount=2
L2NPC.ini w folderze L2NPC
[server]
address="127.0.0.1"
port=2002

[CacheD]
address="127.0.0.1"
port=2008

[map]
directory="map"

[LogD]
address="127.0.0.1"
port=3999

[World]
WorldId=1 // id świata, wszędzie musi być taki sam
l2server.ini w folderze L2Server
[CacheD]
address="127.0.0.1"
port=2006

[AuthD]
address="127.0.0.1"
port=2104

[LogD]
address="127.0.0.1"
port=3999

[World]
WorldId=1  //id świata, wszędzie musi być taki sam

[Setting]
UserPathFind=false
WorldCollision=false
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
Country=3

[petitionD]
address="127.0.0.1"
port=2107
worldname="Lineage02" //nazwa świata, taka sama jak w bazie danych (o tym będzie niżej)

config.txt w folderze NewAuth\etc
serverPort = 2104
serverExPort = 2106
serverIntPort = 2108
worldport = 7777
DBConnectionNum=10
encrypt = false
numServerThread = 2
numServerExThread = 2
numServerIntThread = 2
logDirectory="log"
;30206 : l2, 30310 : Sl
ProtocolVersion = 30810
;8:lineage2, 4 halo
GameID=8
DesApply=false
PacketSizeType = 3
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
DevServerIP="211.189.163.171" //twój WAN IP
SocketTimeOut =10
SocketLimit=5000
AcceptCallNum=1
UseOneIOCom=false
AcceptThread=1
WaitingUserLimit=10
dumppacket=false
UserData=false
UseLogD=false
logdip="127.0.0.1"
logdport=3999
logdconnectinterval=120
serverlist w folderze NewAuth\etc
1,Lineage02, 211.189.163.171,127.0.0.1,1
; 1 – id świata
; Lineage02 – nazwa świata
; 127.0.0.1 – WAN IP
; 127.0.0.1 – LAN IP
config.txt w folderze PetitionD\etc
; Number of threads working for transaction and service socket.
numberOfServiceThreads = 10

; Port number for world server
worldPort = 2107

; Port number for petition client
servicePort = 2109

; Run as test mode
runMode = 1

; WebAuthD address
webAuthServer = "127.0.0.1"

; WebAuthD port
webAuthPort = 2108

; Number of WebAuthD connections
numberOfWebAuthConnections = 0

; Log directory
logDirectory = "log"

; status refresh interval(seconds)
statusRefresh = 1

; Number of connections to petition database
numberOfPetitionDBConnections = 12

; petition database connection string

; number of games to support, should be consistent with game_title table
numberGames = 2

petitionDatabase =

"0xF6DBBAA8A7C57B6F418E95A7CFCBB4DAF09B9A5E39B2FCA717A7EA9C44E98FCDA34297C97542494D9977

C5E9ED58FBE5814852F7D8DAF11478AFEB5861F5572B4A2A7FE96453BBF6A3E4445310F58A15FB3FA2D8D26

BA61F2B50BE143F481EE33FF2BBDE07E242E5E29593F12D148CD1B73692179C15FDBAE96034D3B4C21363"

CZĘŚĆ 1 - KONIEC


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #2 dnia: Listopad 24, 2013, 03:34:59 pm »
CZĘŚĆ 2 – KONFIGURACJA BAZ DANYCH

Zmień w lin2world.sql
(Uwaga: w zależności od posiadanego datapacka znalezienie poniższej linijki może być utrudnione, może być tam inny ip, login, hasło.)

'SQLOLEDB', '127.0.0.1';'sa';'l2online'

127.0.0.1 twój ip (do MSSQL)
sa twój login MSSQL
l2online twoje hasło MSSQL

Będzie 14 linijek, które musisz zmienić. Gdy skończysz zapisz plik.

sprawdź l2logjob.sql
jeśli zamiast N'lin2log' masz N'l2online' >> zamień N'l2online' na N'lin2log'

sprawdź l2reportjob.sql
jeśli zamiast N'lin2report' masz N'l2online' >> zamień N'l2online' na N'lin2report'

1. Stwórz bazy danych

- lin2world
- lin2comm
- lin2log
- lin2report
- lin2db
- petition

2. W właściwościach bazy danych możesz zmienić ustawienia połączenia (NIE trzeba).
Wystartuj SQL server agent, jeśli tego nie zrobić skrypty się nie wykonają.
Skrypty wykonają się i tak z błędami, lecz te trzeba zignorować.

3. lin2world Database - lin2world.Sql
Parsuj >> Wykonaj, w kolejnych przypadkach tak samo

4. lin2comm Database - lin2comm.Sql
5. lin2log Database - lin2log.Sql
6. lin2log Database - l2logjob.Sql
7. lin2report Database - l2report.Sql
8. lin2report Database - l2reportjob.Sql
9. lin2db Database - lin2db.Sql
10. petition Database - petition_db_objects_20030324.Sql

WAŻNE
Enterprise manager >> otwórz swój serwer >>
lin2db Database -> Table -> Server (otwórz tabele)
dodaj

id = 1
name = nazwa worldname taka jak w l2server.ini, koniecznie równo 9 liter!
ip = twój wan ip
inner_ip = twój LAN ip
ageLimit = 0
pk_flag = 0 PK nie dozwolone; 1 dozwolone

CZĘŚĆ 2 - KONIEC
« Ostatnia zmiana: Listopad 24, 2013, 10:36:36 pm wysłana przez a23v52 »


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #3 dnia: Listopad 24, 2013, 03:35:19 pm »
CZĘŚĆ 3 – KONFIGURACJA DNS

Panel sterowania >> Narzędzia administracyjne >> ODBC >> Plikowe źródła danych
Zrób 6 projektów
lin2world
lin2comm
lin2log
lin2report
lin2db
petition

Konfiguracja
Dodaj – zaznacz SQL server – dalej – wpisz nazwę – dalej – zakończ.
W następnym oknie wpisz w okno serwer (local), chyba że MSSQL jest na innym komputerze.
Wybierz uwierzytelnienie Windows NT lub serwera SQL, w zależności od tego co podałeś podczas instalacji MSSQL. - dalej
Zmień domyślną bazę danych i wybierz bazę dla której robisz projekt. – dalej – zakończ.
Testuj źródło połączenie – ok – ok – teraz powtórz to dla innych projektów.

CZĘŚĆ 3 – KONIEC


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #4 dnia: Listopad 24, 2013, 03:35:40 pm »
CZĘŚĆ 4 – URUCHOM SERWER!!!

L2LogD.exe

File DB = lin2log
login name = twój login
password = twoje hasło


CacheD.exe

File DB = lin2world
login name = twój login
password = twoje hasło


L2AuthD.exe

File DSN = lin2db
login name = twój login
password = twoje hasło


PetitionD.exe

Server = (local)
login name = twój login
password = twoje hasło
Database = petition


L2Server.exe
L2NPC.exe

Powodzenia!
Ode mnie: Jeśli się tutaj pomylisz musisz w rejestrze windowsa usunąć klucz:
HKML >> SOFTWARE >> PROJECT_L2
Dla 64 systemu
HKML >> SOFTWARE >> WOW6432NODE >> PROJECT_L2

CZĘŚĆ 4 – KONIEC


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #5 dnia: Listopad 24, 2013, 03:36:07 pm »
CZĘŚĆ 5 – ZAREJESTRUJ SWOJE KONTO // Używam innego account managera, więc tutaj będzie tylko czyste tłumaczenie. Zanim zaczniesz zainstaluj IIS.

Użyj ASP aby zarejestrować swoje konto. Są dwa różne rejestratory w ASPreg.zip

ASP_1 w ASPreg.zip
Sprawdź datę L2AuthD.exe, jeśli jest to 05/11/2003(encrypt) uruchom 注册组件.bat i INSTALL.EXE z folderu ActiveX.
Jeśli 30/08/2004(decrypt) pomiń to.

edytuj conn.asp

Dane do mssql:
ms_sql_server_host_addr = "127.0.0.1" //jeśli jest na tym samym komputerze
sql_server_username = "twój login"
sql_server_password = "twoje hasło"
tego poniżej nie zmieniamy
lin2db = "lin2db"
lin2world = "lin2world"
Jeśli L2AuthD.exe było encrypt zmień sys_type na „encrypt”, jeśli nie przejdź dalej
sys_type = "none"

edytuj config.asp

nazwa twojej strony
const WEB_SIT_NAME = "狂歌浪舞 - 天堂II会员系统"
const SERVER_MAX_CLIENT = 100
const COOKIE_HEAD = "kglw"

UROCHOM IIS

--------------------------------------------------------------------

ASP_2 w ASPreg.zip

edytuj CH_regedit.asp


Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName
SqlDatabaseName = "lin2World"
SqlUsername = "twój login MSSQL"
SqlPassword = "twoje hasło MSSQL"
SqlLocalName = "(local)"

URUCHOM IIS

--------------------------------------------------------------------


Jeśli nie chcesz używać ASP, uruchom Lin2Reg.exe (Made in China).

uruchom db.udl
uruchom Lin2Reg.exe
Lin2Reg.exe prawdopodobnie nie działa na angielskich 32 bitowych Windowsach.

----------------------------------------------------------------------

Jest jeszcze inny sposób - ręczna zmiana w MSSQL.
Nie będę się tutaj dużo rozpisywał. Koniecznie potrzebujesz l2pass.exe który szyfruje hasła.
W wierszu poleceń wpisz: l2pass.exe twoje hasło. Nie zapomnij zmienić pay_stat na 1 w jednej w tabel w bazie danych.

CZĘŚĆ 5 – KONIEC
« Ostatnia zmiana: Listopad 24, 2013, 10:38:34 pm wysłana przez a23v52 »


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #6 dnia: Listopad 24, 2013, 03:36:32 pm »
CZĘŚĆ 6 – URUCHOM GRĘ

Możesz użyć tylko klientów l2 prelude.
Zainstaluj grę.
Zmień serveraddr w l2.ini w folderze system
(potrzebujesz l2decrypt.exe, wspomniałem o tym wcześniej)
edytuj L2.clear.ini

ServerAddr=127.0.0.1

zaszyfruj L2.clear.ini używając wersji 111

zmień nazwę l2.crypt.ini na l2.ini w skopiuj do folderu system.

CZĘŚĆ 6 - KONIEC

I jeszcze na koniec kilka słów ode mnie:
Poradnik został napisany przez użytkownika hicks z ragezone.
Zmiany, tłumaczenie i inne dodatkowe informacje wykonane przeze mnie.

PS Na koniec dodam poza tematem, że C1 java istnieje, choć nie kompletne
http://sourceforge.net/projects/l2j/files/l2j/
http://sourceforge.net/projects/l2j/files/l2j/version-0.1/
http://sourceforge.net/projects/l2j/files/l2j/version-0.4.1/
Na naszym forum wyczytałem, że l2j jest prowadzone od C3.

Jakby były jakieś problemy/niedomówienia to piszcie.
« Ostatnia zmiana: Listopad 24, 2013, 10:39:09 pm wysłana przez a23v52 »


  • Wiadomości: 10

  • Pochwał: 0

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #7 dnia: Listopad 24, 2013, 03:37:08 pm »
PS2 Są problemy z uruchomieniem gry na Windowsie 7. Najprostszą metodą uruchomienia gry jest zrobienie małego patha. W folderze Lineage II/system tworzymy plik l2.bat i za pomocą notatnika wklejamy do niego:
REM Check Windows Version
ver | findstr /i "5\.0\." > nul
if %ERRORLEVEL% EQU 0 goto ver_2000
ver | findstr /i "5\.1\." > nul
if %ERRORLEVEL% EQU 0 goto ver_XP
ver | findstr /i "5\.2\." > nul
if %ERRORLEVEL% EQU 0 goto ver_2003
ver | findstr /i "6\.0\." > nul
if %ERRORLEVEL% EQU 0 goto ver_Vista
ver | findstr /i "6\.1\." > nul
if %ERRORLEVEL% EQU 0 goto ver_Win7
ver | findstr /i "6\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_Win7


:ver_2000
echo 2000
goto runL2
:ver_XP
echo xp
goto runL2
:ver_2003
echo 2003
goto runL2

:runL2
SET L2DIR=%~dp0
ECHO Current directory: %L2DIR%
if not exist "%L2DIR%\l2.exe" goto ERR2
START /MIN l2.exe
goto END


:ver_Vista
echo Vista
goto BatchGotAdmin
:ver_Win7
echo Windows7
goto BatchGotAdmin
:BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges, please wait...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
if exist "%SystemRoot%\SysWOW64\cmd.exe" SET SYSDIR="%SystemRoot%\SysWOW64"
goto STEP0
SET SYSDIR="%SystemRoot%\System32"

:STEP0
SET L2DIR=%~dp0
ECHO Current directory: %L2DIR%
if not exist "%L2DIR%\l2.exe" goto ERR2
CD SYSTEM
if not exist "%SYSDIR%\rsaenh.dll" goto ERR3
if exist ".\rsaenh.dll.bak" goto STEP1
takeown /f "%SYSDIR%\rsaenh.dll"
icacls "%SYSDIR%\rsaenh.dll" /grant %USERNAME%:F
move /Y "%SYSDIR%\rsaenh.dll" "%SYSDIR%\rsaenh.dll.bak"
if not exist "%SYSDIR%\rsaenh.dll.bak" goto ERR4
:--------------------------------------


:STEP1
if exist "%SYSDIR%\rsaenh.dll" del "%SYSDIR%\rsaenh.dll"

:CRTWAIT
if exist waitl2run.bat del waitl2run.bat
:: Waiting 10 seconds and moving rsaenh.dll back to SYSTEM folder.
echo @echo off>waitl2run.bat
echo cls>>waitl2run.bat
echo TIMEOUT /T 10>>waitl2run.bat
echo move /Y "%SYSDIR%\rsaenh.dll.bak" "%SYSDIR%\rsaenh.dll">>waitl2run.bat
echo EXIT>>waitl2run.bat

START /MIN %L2DIR%\l2.exe
START /MIN waitl2run.bat
goto END
:--------------------------------------


:ERR2
COLOR 0C
echo.
echo. L2.exe not found.
echo. Place this file into your system folder.
pause
goto END
:--------------------------------------

:ERR3
COLOR 0C
echo.
echo. "%SYSDIR%\rsaenh.dll" could not be found.
pause SET /P ANSWER=Should i try to execute L2.exe (y/n)?

if /i {%ANSWER}={y}{goto YES}
if /i {%ANSWER}={Y}{goto YES}
if /i {%ANSWER}={yes}{goto YES}
if /i {%ANSWER}={YES}{goto YES}
if /i {%ANSWER}={Yes}{goto YES}
goto NO
:YES
START /MIN %L2DIR%\l2.exe
:NO
goto END
:--------------------------------------


goto END

:ERR4
COLOR 0C
echo.
echo. Could not move "%SYSDIR%\rsaenh.dll"
echo. You need to run this script as administrator.
pause
goto END
:--------------------------------------



:END
Path ten odłącza na chwile od Windowsa plik rsaenh.dll który powoduje problemy a po 10 sekundach przywraca go spowrotem. Przed użyciem patha zalecane jest zrobienie kopii zapasowej tego pliku, tak na wszelki wypadek.
« Ostatnia zmiana: Listopad 24, 2013, 10:39:28 pm wysłana przez a23v52 »


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Poradnik] Stawianie serwera Lineage 2 Prelude
« Odpowiedź #8 dnia: Grudzień 14, 2015, 04:30:58 am »
Dzięki za share, przyda się dla osób, które nie używały jeszcze plików oficjalnych.

Jak dla mnie powinien polecieć plusik.