rss_logo fb_logo
L2 Portal O Lineage 2 Herni knihovna Nastroje Rady pro spravce Statistiky serveru
L2 Art
Forum
Odkazy
 


Valid XHTML 1.0 Strict Seo servis

L2 server jako celek není svou základní strukturou nějak složitý, přesto ale obsahuje několik věcí, které správci nemusí být jasné. Základní struktura L2 serveru je: CacheD, geodata, html, L2auth, L2comm, L2NPC, L2server, script. Bez těchto složek (nacházejících se v adresáři na serveru) server nepoběží. Složky geodata, html a script sme si již popsali v dalších článcích, proto se teď budeme zaobírat těma ostatníma.

CacheD je aplikace, která komunikuje s L2 serverem a dostává od něj pokyny pro práci s databází. L2 server nikdy přímo nekomunikuje s DB ale vždy na tyto úkony využívá právě cached. Proto se také CacheD pri spouštění serveru spouští jako jedna z prvních aplikací (spolu s l2auth). Nastavení cached.ini není složitý, a každý by měl pochopit ty nejhlavnější položky, které jsou určeny pro modifikace. L2 server nemůže běžet bez této aplikace, proto pokud spadne, spadne i L2 server.

L2Auth je další aplikace, která zabezpěčuje logování hráčů na server. Bez ní by hráči mohli hrát, ale nemohli se logovat. Je to jednoduší aplikace, která nevyžaduje osobitní nastavování. Jednou z výhod zde, je možnost vytvoření tzv. black listu IP, co znamená, že dané IP budou zabanovány a nebude jim umožněno se lognout. Tato možnost se nachází v složke L2auth – etc – blockips.txt.

L2Comm je aplikace community serveru, který však neběží na všech serverech úplně bez chyb. Kromě pár parametrů, které je třeba nastavit v l2comm.ini zde není nic dalšího zajímavého. Většinou se při startu serveru spouští jako poslední.

L2NPC je aplikace NPC, které se pomocí ní načítají do hry. Načítání NPC je nejdlhším processem při startování serveru, protože celkový počet NPC ve hře není zrovna malý. Co se konfigurace týče, také zde je l2npc.ini, ale tak jak při předchozích, i zde je třeba nastavit pouze několik parametrů a nic více. L2 server může běžet bez NPC modulu, ale ne naopak. Tudíž když spadne L2 server, spadnou také NPC. NPC se spouští při startu serveru po náběhu l2serveru.

L2server je nejdůležitější aplikace ze všech, která zabezpěčuje kompletní herní svět a jeho možnosti. Spouší se po náběhnutí Cached a L2Auth a proces nabíhání spočívá v načítaní scriptů se zložky script. Jeho nastavení je již složitější, tak se koukněme na l2server.ini.

; File created with love by mcrabben7 on January 9th, 2007 (for C4 servers).

[Setting]
MailServer=""
; Pick a mail server, though i have no idea if this actually 'works'
UserPathFind=true
; Default is true
WorldCollision=false
; Default is true
; mcrabben: WorldCollision=true will CRASH l2server when it's loading door data, but if it's false then this will all load
UserPort=7777
; Default is port 7777. This port is the port user clients connect to.
Country=1
; Default is country 0. Korea=0, USA=1, Japan=2, Taiwan=3, China=4, Thailand=5
Snoop=0
; Default is 0. Maybe turns snoop command //snoop on or off??
ExceptionMailing=false
; Default is true. Decides if L2Server will email you on an exception (does it work?)
ExceptionMinidump=false
; Default is false. If true, it will dump a .dmp file of the latest crash/exception.
IOBufferCount=13000
; Default is 40000. Decides the maximum number of I/O sockets you will allocate memory for.
autologoutsec=600
; Default is 600. Most likely number of seconds before the server kicks idle/disconnected players.
GotDamageLog=false
; Default is false. Not really sure what it does, but it might enable logging for *all* damage also with numbers.
BOTMessage=false
; Default is false. Probably sends a message to botters if they are caught or checked with //check_bot
BOTLog=false
; Default is false. Enables bot logging (kinda obvious...)
BOTCheckTime=120000
; Default is 120000. Probably the amount of time //check_bot waits before returning an answer.
BOTCheckWaitTimeLimit=110000
; Default is 110000. Probably the amount of time the player is checked for botting.
AcceptEscapeCommnad=true
; Default is false. HellFire: option enable/disable /unstuck player command on server.
AcceptLowerProtocol=false
; Default is false. If enabled, this will allow ANY (lower or greater) client protocols to connect.
playtimelimit=0
; Default is 0. Probably the maximum time a player can play per day, though it might be total. See SQL play_time column.
reconnectAuth=1
; Default is 0. If enabled, the L2Server will automatically try to reconnect to the AuthD server if disconnected.
AgeCheckType=0
; Default is 0. A value of 0 means don't check age, and a value of 1 means do check the age, using some korean method.
taitime=false
; Default is false. No idea what this does...
EscapeMode=1
; Default is 1. HellFire: it work with AcceptEscapeCommnad option, but i dont know how work 0,1,2
canrolldice=1
; Default is 1. Enabling this allows players to purchase "dice" items at grocery shops.
gameguard=false
; Default is false. Enables or disables GameGuard.
gameguard_checkonly=false
; Default is false. Probably enables or disables GameGuard for bot checking only.
MultiLang=false
; Default is false. Enables or disables multiple language support??
isnonpk=false
; Default is false. rodier: no PK allowed, anywhere. Simply is not possible to attack player (incorrect target).
cannotmonrace=false
; Default is false. Probably enables or disables the usage of Monster Derby for all players, but maybe *just* for PKers with karma.
LogMsn=false
; Default is true. Enables or disables MSN chat logging.

18age=on
; This belongs in the [Event] section, but because it relies on settings up here, I will leave it here.
; For some reason, this "18age" event has no settings you can set yourself (except by npcpos edit or eventdata.ini)
; If isnonpk=false it appears to disable 18age event BUT if cannotmonrce=true it will enable it again.
; If isnonpk=true, it appears to enable the 18age event BUT if cannotmonrace=false then it will disable it.
; It appears that if BOTH isnonpk=true AND cannotmonrace=true then it will automatically enable the 18age event.
; It also appears that as long as cannotmonrace=true this event will always be enabled automatically.
; HellFire: it option enable event [18age] = Monster Derby Track and Lotto

[BOT]
block=0
; Default is 0. If enabled, this would in theory block bots. However, I think this requires working GameGuard.
TestCount=3
; Default is 3. Not sure what this means, but could be related to //check_bot taking values 1-3.

[World]
WorldId=1
; Default id is 1. The server id in your SQL has to match this to work properly.
UserLimit=2000
; Default is 3000. This is the maximum number of players allowed on the server.
LetBuilder=1
; Default is 1. If enabled, and the login_flag is set in SQL to 16, GMs can login even when the limit is reached.

[CacheD]
address=127.0.0.1
; IP address or hostname the CacheD server is located on.
port=2006
; Default is port 2006. This port is the port L2Server connects to.

[AuthD]
address=127.0.0.1
; IP address or hostname the AuthD server is located on.
port=2044
; Default is port 2044. This port is the port L2Server connects to.
UseAuthTimeManageSystem=false
ChinaFatigueSystem=false
ChinaHalfFatigueTime=3
ChinaFullFatigueTime=5
; I thought these settings implement Fatigue system applied in China.
; According to regulations, gamer got 50% of exp/sp/drop rate/drop amount...
; after 3hr of continuous playing.
; After 5hr of playing, gamer got nothing.
; Anyway, they do not applied these rule nowadays.

[LogD]
address=127.0.0.1
; IP address or hostname the LogD server is located on.
port=3999
; Default is port 3999. This port is the port L2Server connects to.

[PetitionD]
address=127.0.0.1
; IP address or hostname the PetitionD server is located on.
port=2107
; Default is port 2107. This port is the port L2Server connects to.
WorldName="Lineage2"
; Default is "L2server" According to the original l2server.ini it must be 9 characters.
DisableStart=0
; Default is 0. Value given to us by the original l2server.ini is 5.
DisableEnd=0
; Default is 0. Value given to us by the original l2server.ini is 13.

[BBS]
WriteLevel=50
; Default is 10. Not sure exactly what this does, but probably controls how much/often the SQL writes.
; It appears that these commented settings don't exist, so no need to use them. Ignore and move on.
WorldNames="Lineage2 "
; I added this in my own personal l2server.ini to be the same name as my "world name" for my server. This is probably unneeded.

[L2COMM]
address=127.0.0.1
; IP address or hostname the L2COMM server is located on.
port=2010
; Default is port 2010. This port is the port L2Server connects to.
autoconnect=1
; Default is 1. If enabled, the L2Server will automatically try to reconnct to L2COMM if disconnected.
usesvr=1
; Default id 1. If enabled, allows one to use the Community server. If disabled, no Community server.

[FONTCHECK]
fontcheck=0
; Default is 0. If enabled, it probably forces the client to use a certain font.
filename=smallfont.gly
; Default is "smallfont.gly" Probably a font filename in the client.

; [Report]
; Interval=600
; This is not ANYWHERE inside L2Server.exe as far as I can tell.
; My suspicion is that this is meant for perfmon.ini.
; However, I also doubt that perfmon.ini even works, but
; maybe it does and I am wrong... Never know.

[NPCPOS]
extra_mob=on
; Can be off or on. Search for "extra_mob" event in npcpos.txt
medal=off
; Can be off or on. Search for "medal" event in npcpos.txt
event_gate=off
; Can be off or on. Search for "event_gate" event in npcpos.txt
fire_event=off
; Can be off or on. Search for "fire_event" event in npcpos.txt

[EVENT]
; name=""
; If you put an event into name, it appears L2Server will *disable* it. Limited to one name it looks like.

; For all the rate changers below, 100 = 1x (Default), 500 = 5x, and so on.
adenaamount=2500
; Adena AND Seal Stone drop rate.
itemrate=1500
; Item drop rate.
spoilrate=2500
; Spoil rate
exprate=2500
; Experience AND SP rate (I think).
partyexprate=100
; Party bonus experience rate. Probably just multiplies party experience bonuses.
dontdecexp=0
; Default is 0. Won't lose Experience upon death.
dontdropitem=0
; Default is 0. Won't drop items upon death. Not sure if this affects red players.
aiadenarate=2500
; AI.obj Adena rate. WARNING: This can break many adena-based quests. Use with caution!
aiexprate=2500
; AI.obj Experience AND SP rate. WARNING: This can break many quests. Use with caution!
Olympic=0
; Default is 0. 1 will probably enable some special/nifty event/feature.
xmasevent=false
; Default is false. True will enable it, obviously...
xmaseventbegin="2004/12/22 10:0:0"
; Default is "2004/12/22 10:0:0" Choose a date and time for xmas event to begin.
xmaseventend="2004/12/29 10:0:0"
; Default is "2004/12/29 10:0:0" Choose a date and time for xmas event to finish.

A teď si rozebereme pár nejzajímavějších možností. IOBufferCount je parametr, který může hodně udělat s výkonem serveru a jeho stabilitou. Proto jej volte s rozvahou a klidně otestujte chování serveru při jeho různých hodnotách. Když nastavíte ostatní možnosti a raty, nastavení bude připraveno pro spustění serveru.

Také je možný, že zde naleznete ještě L2logD, nebo PetitionD, co jsou další doplňkové aplikace, bohužel na C4 nefunkční.

Dále můžeme ve složce L2server najít (pokud je máme instalovány), moduly pro l2 server, a to AmpeD a DepmaX. Projdeme si i tyto moduly a jejich hlavní významy.

AmpeD je ochranní modul proti několika exploitům. Je již starší a jeho následovníkem je novější DepmaX. Všechny exploity které zachtí amped loguje do log souboru a je možné si tyto chyby dohledat. Struktura amped.ini vypadá asi takhle (uvedu pouze modifikovatelné řádky):

[Settings]
C3ExpMap=false
SqlFilter=true
CallStack=false
ORTReport=false
MaxSocialAction=13
BlockRide=true
CheckValidatePosition=false
SkillStackMonitor=false
HPBroadcast=false

[HtmlGuard]
ShowWarning=true
WarningText=xxx

[MultisellGuard]
ListSize=50
Stackable=5000
; --------------
; ListSize - max buylist size at which a char is kicked
; Stackable - max stackable item count at which a char is kicked
; --------------

[Gameplay]
SafeEnchantMagicWeapon=3
SafeEnchantWeapon=3
SafeEnchantArmor=3

[Builder]
UseIPFilter=false
IP=
; list of allowed IPs or host names for builder characters, delimited by ";"
; i.e.: 127.0.0.1;11.22.33.*;11.44.*.*;foo.no-ip.com

DepmaX je další ochranní modul zabraňující dalším exploitům. Je novější a obsahuje lepší ochranu. Také všechny zachycené exploity blokuje a loguje je do speciálního log souboru. Pro správnou funkci je dobré znát také co obsahuje jeho konfigurační soubor depmax.ini. Teď se na něj podíváme:

[SERVER GENERAL]
REMOTE WHO=0
; Here you can set any amount of players if you want lol!
LOGIN FIX=0
; Enable the login fix. If you are not using AMPED, thats to fix the old account stealing bug.
SERVER NAME=Your Server Name
; To change the depmax message when your users login
DEADLOCK TIMEOUT=60000
; If your server do something that will take more than 60 seconds in a thread, you can raise the time it will wait for that thread be considered
; As Dead, Change it as your own risk !

[GLOBAL POSITIONING SYSTEM]
APPEARING TIMEOUT=30

[ITEM DATABASE]
ITEMDB=1

[MULTISELL SYSTEM]
MULTISELL CONTROLER=1

[OLYMPIAD SYSTEM]
ARENA TELEPORT TIME=30

[HERO SYSTEM]
ENABLE HERO VOICE=1
HERO CHAT DELAY=60

[PENALTIES]
PLEDGE WAR TIMEOUT=86400
PLEDGE OUST PENALTY TIMEOUT=432000
PLEDGE WITHDRAW PENALTY TIMEOUT=432000
PLEDGE OUSTED PENALTY TIMEOUT=432000
PLEDGE RECHALLENGE PENALTY TIMEOUT=432000
PLEDGE RECHALLENGE DESPITE REJECTION PENALTY TIMEOUT=432000
PLEDGE DISMISS TIMEOUT=604800
PLEDGE DISMISS PENALTY TIMEOUT=864000
CASTLE ANNOUNCE TIMEOUT=86400
CASTLE STANDBY TIMEOUT=86400
ALLIANCE OUST PENALTY TIMEOUT=86400
ALLIANCE WITHDRAW PENALTY TIMEOUT=86400
ALLIANCE OUSTED PENALTY TIMEOUT=86400
ALLIANCE DISMISS PENALTY TIMEOUT=864000
ALLIANCE RECHALLENGE PENALTY TIMEOUT=432000
ALLIANCE RECHALLENGE DESPITE REJECTION PENALTY TIMEOUT=432000

DepmaX.ini a AmpeD.ini musí být umístěny přímo ve složce s l2 serverem pokud mají být funkční.

Návod vytvořil poker10
Copyright © L2portal.cz