Хроники PreludeHarbingers of WarAge of SplendorRise of DarknessScions of DestinyOath of BloodInterludeThe 1st Throne: The KamaelThe 1st Throne: HellboundThe 2nd Throne: GraciaThe 2nd Throne: FreyaChaotic Throne: High FiveGoddess of Destruction AwakeningGoddess of Destruction HarmonyGoddess of Destruction TautiGoddess of Destruction Glory DaysGoddess of Destruction LindviorValliance / Epeisodion / RaidersErtheia / Dimensional StrangersInfinite OdysseyHeliosGrand CursadeSalvationFafurionShadow of the Kamael
/ H/ X% ?" t; }1 Q7 S6 r4 i# MСборка L2 Java( G) }# v$ A' P1 E
$ s+ T# \0 M% v$ W. p
; R" |1 R7 s/ o$ |0 X' r3 aДоброго времени суток.
3 m( r. g2 _3 Y. c' l+ W
& n# \- M2 m5 P0 R' e+ w/ t! S! u" J( ~5 U$ {
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
% J1 R s! ]) ?) y* x4 aВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
/ }! y, w$ z5 P0 T# xДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.( Q9 _, t, ], _8 X" Q0 h
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
+ U6 ^6 O1 p) @% d L0 ^+ s- w
) q# C" `+ n0 S& `: V9 IВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:$ a |% Y! D8 F1 Y, o8 v
: I1 C7 X5 x, F& c5 H# m. J' j5 J) i. O0 ~
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
% L+ B; F8 ^2 Y1 c: P- vГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема..., q" t' e% N6 Z1 y) M% ?
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.9 q+ G4 l$ \8 G2 C. Q( T3 O& ]! q' P
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
3 G) u7 c& G2 \, F3 L
" Z, E$ m: K/ z7 X' I+ y4 |) X( i0 W j) r C2 K0 m% g
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.. c8 }& E) x/ R( m4 n( E9 a
Количество файлов пачнода должно быть равно количеству файлов геодаты.4 O- s, _+ R6 M7 H# A O# J
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
7 o7 [# h) G: {) _8 [4 ]+ QТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.5 s1 p% y( T3 k) Y
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
' `1 X! y9 V7 J: M4 y6 i8 {Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.% g, R- N3 l' v5 R
Установка геодаты на сборки без пачнода (Rebelion):, e4 _; @7 Y( z
Покажу на примере L2Dream.
" z/ @8 Z+ v' L- k5 [Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
' e" D; V5 a/ m V$ y
# @4 n& u6 n) {! C3 a
. c6 i/ U7 V5 H- {: bC:\L2Dream\game\data\geodata
. Q6 }7 n$ s! r# {7 g
% m- X: f6 `% j) M5 {8 i2 h L; p
! g# Q) y0 B! g' F! R. T, f
! q& R) F( O- C7 F4 a
B4 B/ n- s+ J2 m8 w* DНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
& P: R5 t: t3 }! |Настройка.
1 h/ E0 ^4 O& lИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:" |$ D. W9 s t/ C9 r
#================================================= ================================================== ====
7 @: x7 J* k% _" {2 D! N# Даный файл является конфигуратором геодаты.
& U) t$ o1 {; i. c& O, c, Q' d B& F#) o1 h( e' u7 ~/ g) I& {
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.0 d6 A- H- \* s6 G7 s+ A! r# O6 F% s
#
# x: x4 v9 F; S9 U0 I# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).8 @2 {" [& Y r# i/ I
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.( K" w; G6 b% B9 d# D8 L
# Ну или просите прикрутить SSL.
/ t6 d+ ?: L2 t! R: C! v2 }# q#================================================= ================================================== ====/ s* E i' q7 ^5 h* Z/ G
0 F3 K Z0 j/ d$ }5 }" T! I$ R
4 M3 j$ a; l4 w. h X& ^: v0 C, p1 y# Включает/отключает геодату и поиск пути.
5 c0 U9 n# q# u! R2 e+ O# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
* S- ]* V6 k, }. c9 q2 Q- X# 0 = Геодата отключена.
7 K$ a& C, Z: k( D. X$ |9 Z# 1 = Геодата будет загружена в геймсервер.
/ L- O, v: Z6 A+ G/ h. G6 D# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как+ ?' D: B" n9 W+ _
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
; D" h( b9 Y( C3 |. Z9 Q; W# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,5 I& E {$ a. A' H7 q
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.1 g& U, {4 R2 Y: }) M
GeoData = 0
2 R k# ?( a, Q/ h6 Y1 s3 F
2 O" j) M" v/ R" G& W7 r0 P2 [! @, |- h* i
# Хост для сервера геодаты.: L5 A% ?5 I- D- }$ Z( { T* r, j' v
# * Забиндит все интефейсы.
! E' X* q$ Z. L2 B( m4 n9 F# Игнорируется при GeoData = 0 или GeoData = 1+ B( n2 b3 k% S) _, u, b6 {1 c
GeoServerHost = 127.0.0.1
( t2 L; _1 U5 l0 B$ z6 H" ?
5 A. \5 a) V }. v+ w
. N, J$ ?$ ~) c' S3 O* K# Куда будет пытатся коннектится клиент.
; T5 d( \4 R7 a, r& w$ X/ ?7 _# Игнорируется при GeoData = 0 или GeoData = 1
8 X- O: H* {2 q4 IGeoClientTargetHost = 127.0.0.1+ V( W. E! H: H0 P9 r
5 k/ i C# G) |, s4 a, ^
+ L. V( E; A; @; N
# Порт для геодаты.2 _; v2 M( B4 ]/ ~1 m
# Сервер откроет на нем сокет.8 S9 \2 b6 B" t8 c/ k7 C
# Клиент будет пытатся подключится к нему.
# j: V& A' P0 S" b( e% X) A# Игнорируется при GeoData = 0 или GeoData = 1" {7 R2 n% u# E. } `0 u
GeoPort = 9050
0 w) X# m/ o- o/ {5 J9 t+ Y5 N5 {7 J9 K/ d9 V
+ n7 T, {9 O2 H# Сглаживает путь.
4 c# g9 v4 h$ S/ d6 A6 Q3 a8 G1 C# Стоит отключать только для дебага.
: @% s( s+ o9 M. |% Y3 I5 e JPathClean = True' K4 n8 [5 h3 r4 }9 k
0 ~: |$ i% w4 l) V- N
" l. b! e% w: k4 W4 r9 r6 I
# Обрабатывать ли двери в геодате
+ {' j/ Z. z1 m8 _1 W# Настройка влияет на ГеймСервер& s; ]5 Q* `% C
AllowDoors = False8 ?( x# N" s' u+ X4 P* G& o1 U
$ @& o) c/ O7 s9 \
8 C% A9 g& E' a) t7 Y- fPathFindingBoost = True
. V* u* x! x. p7 m# H, ]! K: s" i+ G' \PathFindArea = 250& a" ^; W( Q4 O1 j
Внимательно читаем,нам нужно это:
7 Q$ k$ i# Y+ J
' N- [4 I, {* L% K' {) L3 @. [; k! E Q; K
0 b c) k/ w( d
: _0 n6 X3 B3 K5 o( t# L4 h
# Включает/отключает геодату и поиск пути.; D0 Z5 ^, N& }& Z* j& l& V" A
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
1 Z# q9 e/ \( J# 0 = Геодата отключена.
) c. J7 D( A- P# G1 d; x; K! H# 1 = Геодата будет загружена в геймсервер.
5 l4 e+ S/ k+ L. h, r# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как% y0 ?/ @" r# S3 \, J
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами1 F$ ?7 R a0 U/ b3 _: R
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
8 [ M$ f. y' @7 \# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока. V1 C9 N. o6 G7 s' v! K
GeoData = 01 o7 k1 A7 u {' `
) `% d2 e% o0 Q: L) M% e9 H6 e5 z! W
4 z7 C* V4 w# s4 F; v. V" V* i
4 r* \1 T* y* D( z6 U! H* e: {5 Q$ T! f- s1 i8 }: `
В этом параметре меняем 0 на 1.- Y. r- f* P& P: ~
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
) T" K& j1 J* z6 n# Хост для сервера геодаты.( M; M5 f9 g# a5 K/ P& i a2 Y* ]
# * Забиндит все интефейсы.
7 C" X, Y& y O7 {0 K# Игнорируется при GeoData = 0 или GeoData = 15 L4 B& z% ~/ h7 x0 ?
GeoServerHost = 127.0.0.1# u; d n+ X! J
. T7 }9 y. g5 c/ n- O
: z v3 [' x" C; W
# Куда будет пытатся коннектится клиент./ H8 p9 j+ b: A H" t
# Игнорируется при GeoData = 0 или GeoData = 1# r* L) p% z# t: \
GeoClientTargetHost = 127.0.0.1
$ P* Q, r4 R% E! o i9 a& n/ T4 v5 c0 a' Y6 u$ Z; w
% R% e; U) n2 X! {% f0 D/ N2 i
# Порт для геодаты.
8 w @$ Q; s4 \! \: N& H6 N# Сервер откроет на нем сокет.
- H, [8 J$ N" k6 ~: V; }# Клиент будет пытатся подключится к нему.
6 n, M' P3 b9 A; O% Y# r# Игнорируется при GeoData = 0 или GeoData = 1
6 B4 g# P% J" C/ PGeoPort = 9050
?; ]; c/ g: M- @. w7 h$ g5 t0 ?7 ]Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
: T5 d- Z0 w# Y7 j9 }2 A5 ^( b, ~! M( P& e9 {. M6 \6 U4 j5 x. Q
! c+ |$ z: ?7 i, o5 c
& w+ i. T& f; D" b1 g$ Z5 o1 U5 n* S4 d9 F+ D0 F' [
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer4 u8 a1 x0 q2 m4 n( m
0 |+ a6 u, x; N, r2 j7 s
) a9 B( m3 B0 A0 U; N6 i( p. @
& b$ m& C* U4 s3 f6 w+ @: M
4 d2 e2 K/ P1 }# K; ]
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
; P$ ~0 k+ c, D% U8 T5 ?. I) d6 { O8 r0 p
/ {$ H; f( a0 F( c8 A
; H7 f' G7 b( \# d6 _% y3 u& L7 ~- ]
# Обрабатывать ли двери в геодате
, H j9 A- }/ c. N$ p! U1 w, w# Настройка влияет на ГеймСервер1 C6 A- s$ D. ?2 T3 I0 v: g
AllowDoors = True: I0 A7 x- l: n: |4 O" n( V
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.% L% H, D' @+ u2 a5 J( v
Пути размещения файлов геодаты:
! N' Y0 N3 p$ E! \! u
8 _! p/ h% k- d& T. L7 p; F: j4 ^, Y, `
C:\L2jServer\gameserver\data\geodata( {, [$ w: [( Z% c. s w- G
. q- G' m7 j. {* A- I0 ]; e
6 I. R' R3 B9 |
* a- K/ l" z) c7 C" q" ^3 k/ t# ]) D/ T, k9 h4 G4 C) l' s# M
И патчнода:: K6 q5 W9 e' A
* |* E/ _6 N* E( E) O6 Z9 \' _
3 g' d( ]7 [* U7 G
C:\L2jServer\gameserver\data\pathnode& D+ g8 J/ h% L0 ^+ M* K* P
' u8 A7 V- m% E# @1 v0 Q
3 n. \! q" G J! \8 v- _ @
* ]: B7 y, P3 h
" b0 R8 E3 Q0 L' F( t. V4 q+ GВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:% V. j1 C' Q+ r- A, v% S( o
: i) I5 V* h6 c* A2 R8 e! D# k) [% _
' {2 a6 Q. K1 _" v7 |" W. ^% ?# a4 y! |
6 J: G" d" C; k
16_10
' V* v0 o1 b j. \; p9 W; \16_12 z6 @ ?. M) v& \, c) o) y
16_18
+ V) K l! ~: G5 M16_19" H r! ~" Y% j5 W
16_20
5 U- H& v& B/ j" Z16_21; }5 H$ R* p) l8 E; a
16_24 h& D5 Q0 _" f0 @6 a
16_25
' Y2 a- s3 f! }. T3 f17_10+ S2 e3 f0 q2 D
17_11
5 w4 K9 M* W$ S" `3 j7 Z- \* K' z17_15
$ N# }( \- v" d2 }- \) i/ F17_16
" W6 y0 M9 Z3 z/ E# ]" x17_17' C6 _& W/ k/ M& W0 C
17_197 j1 `$ K# ]4 o7 W# j- D( c
17_20
& ]% ] `: P2 |4 @8 o& ]7 R) M17_21
" K. [5 q; \' X" \! \17_22
7 W: K0 R: s/ T5 O4 p. G) m17_23
( K; K- f4 Q$ G/ C; q17_24
! [. u$ h4 K+ o/ _17_256 a0 a% i7 d T9 b8 p
18_10
' g2 @. p% y, M4 J2 ]18_112 L2 w6 |0 b' \
18_14" Y3 P& t* n4 Q* I4 r1 Z: o# Y
18_15' c0 {4 B# \# W4 p2 Q/ ?
18_16
) z2 ?/ M) o+ h5 }- _; ]18_198 v1 i# s. \ R
18_208 \$ h: R! _/ D2 m0 s9 O
18_21# t! T& A) A! I) }5 b7 O" p
18_22
9 N$ c8 R+ ^; ^9 ?$ D6 d! Z0 K+ C/ m7 j18_238 D [& K9 ?* z
18_24
8 p+ Z: u$ I, M( Q! h7 [, Y( E* _18_25
' c3 T4 ^3 G5 m' T4 T19_107 k3 [$ y8 _0 }) K
19_11- y- T# y: J" L! E5 {1 X! E; K- _% C
19_13
3 ^! f! o; S: S P19_147 ?2 { Y# p1 z- `1 `0 y
19_15
( u6 X$ a7 h0 |19_16
& X0 J, f h# X4 M19_17' ]4 U) M& [, e- r& v
19_18
/ B# J* W2 u: j, a$ S19_19. n' c( A M3 F* @0 |) s% a
19_20$ x5 o& `# h' o8 `; i I
19_21/ V- }% X) U& ] J" d6 P& t
19_22
4 V4 O" P$ r' F# u19_23
$ l* d! G( F; A2 b19_24- N2 `$ l4 w. Y* ~4 l! |- ~
19_25# K; \* B. N2 [8 o( [+ R8 ?
19_26
% d/ [; }. r3 |- l7 @) b! }20_10
5 p, W* y- l! T2 E% T20_11/ I" X& F- ]0 ~( t/ O
20 _13) a* _; H( u) l2 G6 x% s5 z2 u2 d
20_14: X3 S1 @. {% S; Y
20_15) q: B3 |6 m" |
20_16; N" m# f& M" H2 p: T6 I
20_172 o& ~9 n% V8 q7 m5 F( L
20_18
0 K+ x ^5 Q$ ~" j( A8 P5 s/ ^& Q20_19
7 I1 J; c& J' B! i20_20
- Q G- n2 G/ S3 {20_219 j2 A' c9 W3 i) M* ~
20_22
- u9 M( \( V; q+ v* c20_ 23
3 X' p9 r) P/ `20_24; f3 D8 D4 h- A8 `" b9 I/ a# T
20_25
2 z0 [5 A5 @) e& ?4 `4 U20_26
9 b) B- i, Z p# N! G) ]21_11
9 j9 V( b; m0 w- C0 N21_14
* o9 ^& W! z. i: `: d21_15
" j, ^: Q3 L+ U6 n21_16! i8 v5 ?$ ~0 H( t5 z
21_17
1 U; S1 W. N. l1 x% O" N21_187 v- {+ ~9 r* Y$ W
21_19
4 `3 F& p V6 ]3 X21_20
2 J' s+ o! B% x! I+ ^ b y21_21
! k a0 a9 Q) C- b21_22
/ r$ B5 F; v1 Y: Z+ m, l a$ Z% ?21_23
+ A6 |3 p4 B8 M; f21_24& ^$ @+ f8 I# d
21_25
: ]2 K; a% o; e# G+ w22_13$ t: I, i2 k& `
22_141 i8 Q" D9 |0 i5 N3 i
22_15
+ D1 e- v; |2 ~- ?' h22_16$ N6 b4 a1 M, I
22_179 z: `0 H+ x: P# @
22_18
: k( w* ]4 e5 m0 c* s4 e& ?8 L22_19
+ j' b- w- ~' [- D22_204 g% K, V% w9 E7 H' q( i
22_21# G* K# [" _; `2 }! c; D
22_22. u" }: h% {& f
22_23
+ b. ^* [8 W$ P9 q5 p: l8 G' d22_24) r4 O/ Q3 R& a+ G! e
22_25
% ^4 v8 H- d. m9 V23_116 V& }& L' x- p5 t+ u
23_12# h# o d. z5 m" b& M
23_135 a$ _' f2 m2 J" @7 E, B
23_14
& g1 W7 N R. P! B) Q+ q0 J! S23_15
+ t1 Q$ \3 B3 q- V7 n23_16
) u) P! T+ z- ^) Y0 Z! j$ x" L2 f23_17
' l; N+ g6 D) P23_18
* C) J& W& X& N& Y) }23_19
, }$ q. o! F" I' G% j+ l3 c23_20
9 ?: d5 y/ B' X) q: `23_21' ?" Y+ Z( N' w
23_22
+ Q' b; Z! y; {0 u6 c" {23_234 H- y- X, Q5 c6 _
23_24
, H: i' G. E7 a: _23_25+ p( O. O: j4 e1 y9 E# D
24_110 [" i% j1 B+ N: N
24_12
, F% ?0 `4 i' m! p7 V% \ G& `24_138 I d" F$ ?, n' N3 J5 V
24_14
# k- T: ~$ `/ k8 c: V$ w24_15
! z% C3 m3 S; O( @, u, F24_16
" F: e C0 G! X; m4 `$ R2 Q24_17
5 c4 y( d& r6 a2 O+ I: o- y% G# Q) C24_18, A; Z3 X+ p& y
24_19 E! m6 ~3 L0 K! m8 m) g/ |
24_20
( Y" m, X0 P6 o7 \24_21' f7 C B2 F6 S( }: d3 t
24_22& F. {+ U; E: j, z0 o
24_23
* b" W/ P4 T- t9 g1 ]( f2 ^; [, o0 J24_24: }0 Y; E# Q6 A2 h$ h2 a4 M% q
24_25
7 C, U3 A9 q& N: |1 l1 O! t# D25_11( Y5 u- x1 V+ y( A
25 _122 f0 D r" B6 ~
25_14
}# |" r% L# B5 o! h. w25_15
9 D9 Q: N; u( ^, E$ X- n, {5 R25_166 W7 c, p$ G% N! E" G
25_17
; _2 c9 }& M* [2 G25_18$ g! {) ]' }* t' ^0 d$ L% w- A
25_194 m' u& L1 L! w) |/ ]- x+ b
25_205 U) q7 N+ @1 `5 [3 r
25_21
6 A: y/ E- ]. f; ^. I+ w25_235 k- j4 R# W0 j5 u) q
26_ 11
3 X, [( w, q# ] T' M26_127 e x' i# x! R3 n% X
26_149 ^0 I5 `- o9 N0 o2 x8 V
. T5 |2 |" u Z [9 ]% X3 p" a6 v0 ]
1 ]9 s& `. U0 B) A- Y/ k' p+ J
k/ |7 c# u: R' NВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает." B# c+ }! B. k& K+ Q
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:$ e* X) R: y! A6 |
#------------------------------------------------------------- --------------! s. ?$ k }: V! l. G! x
# Geodata
" O" V5 [) j! T9 k& q& Z# ----------------------------------------------------------------------- ----3 S3 K, P! c e: p; r2 |
# GeoData options:
5 S! v# X' d- ]* f( l# 0 = GeoData and PathFinding OFF (default)
" F! P6 U7 m7 j# y# 1 = GeoData is used to check Line Of Sight (LOS) targeting and+ g: m2 C8 B2 a$ W$ S1 o
# L2Playable movement. You need to download files for data/geodata folder.
, D1 n- g3 Q+ {! E* E% n3 b* d# Monsters can pass walls but not aggro (no line of sight) through them.
: X! |5 R+ f5 p- t# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
9 c' q: O" q+ A" [# files if CellPathFinding not enabled) and all character moves go through( T- B8 `8 r. K9 p; H8 Z" T* s8 |9 Z
# geodata checks (if a mob passes a wall, pathfinding didn't find a route, m! {. v. `) \/ ]7 N! G) U
# but we allow attack and returning home)., k4 S# q, m0 T. `5 |; J% E
# Recommended server memory minimum 2 GB, rather 3 GB.
' U+ Y& n3 t* {5 ~0 H/ y1 H# Default: 0
8 _& p5 S$ T4 k. {/ IGeoData = 08 E3 k# }% F0 b# R: U6 Q
& O# A5 k# E& F* S) y
9 {/ S8 t& K- ?4 v2 E# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.6 D8 g/ }8 l1 q8 q7 N( A
# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.
/ Y& l4 L9 M% V- | Y; m8 a2 U# Default: False8 z9 `3 i5 ~7 q$ O8 S
CellPathFinding = False
6 t* j. |' u' w6 h% z, S
& Y) }' T4 R4 L7 c3 R8 M* v% j& ?2 _- u o
# True = Loads GeoData buffer's content into physical memory.# [6 Y2 J+ l5 c8 x8 A! s/ ]$ X
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.0 s# I4 g+ X a
# Default: True
o# q- [0 t; Y1 [3 vForceGeodata = True6 W+ n4 r: _" g
0 I( a+ J* |/ p) g' s- M" O
: S* ]! v; f" k# X3 x
# This setting controls Client <--> Server Player coordinates synchronization:/ H7 L$ N/ C4 m# V& B
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata., |6 S; \" o+ J
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
8 z3 u# l, E ^, b8 Q& r# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).
7 F" \! V: G' w5 e i' J# Server sends validation packet if client goes too far from server calculated coordinates.
8 n6 r, q8 T. e: S: O# Default: -1
' I2 d# ~( Z6 s YCoordSynchronize = -1
1 o: R" \- z6 `8 Y+ G+ [6 d2 } S7 J1 V. k
" K9 }1 E) ^" z; o P
2 P9 ]9 ?8 I( S$ O- Z# R1 Y
: U I/ }/ s; k* P8 g1 @7 d! uGeoData = 0
# u2 E4 G7 M) Q. P* g
, a }' k* W$ f* ?
- |7 |0 [; A" Y# F) K* I, T& `. w6 f3 J- M- v
/ C1 b. G9 B6 @" c% c5 s% EСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.( E8 K- y9 o: y& l/ k, x
Ставим 2 если пачнод присутствует, так же включаем эту настройку:, O1 _$ W. Y4 c: i2 n3 t; V/ [
) @' d# n* z1 M
+ F/ R5 ]8 D, H& V
& q/ g+ b; Y+ @' Y7 ]1 r9 D
?/ ]# G' ^1 |3 P' g/ m- K. n
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
3 t3 P( X1 D3 d6 v# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.& w! j/ b- u* Y) K, k n+ H& R% @
# Default: False( e( G$ z/ u3 n Z5 k
CellPathFinding = False
* ^0 r# o6 I& W8 y! S
% @1 G5 p8 `$ v+ Z. p1 K; R' j- ]; z j9 E4 j8 y$ _
6 K* }* Z" x& X# c
0 ]; y" ~' T& ~* y
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
" D6 L$ {" W7 _' [3 B% fПожалуй всё подробно написал, спецы дополняем если что то не учел.% \( x& F4 E( j. W: R! I% ~
* J7 t4 f& |: B/ \" o
7 k: I$ m% X/ b- t) ^
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.* y1 K$ o# |4 ~9 D1 r0 d9 M
: E* r9 R1 ]5 v/ A2 mИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
" E: U+ Q! R! K( L, s, u
/ \9 D2 g! p4 W. ` c$ p |
|