Хроники 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 Kamael9 ^1 G% V3 h0 e* s" e& `
Сборка L2 Java
3 q* |1 ]- V7 \7 a4 `
0 ^# }9 W, _; ]4 Y/ Z: O5 ]
& Q9 z' g: P$ Y0 sДоброго времени суток.
, z* |6 j% ^# c# z8 x% j a' d- e/ p+ h2 ~
$ V9 w. \+ c. [! W; H' O, W1 p
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:. `0 i* b4 o5 v7 B3 [# E
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.' B5 x! q& I/ C7 q
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.: y, _! @+ R) X9 U \7 K; E
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
6 F4 y; M1 K1 v8 I: m1 n" X1 N5 |- M4 N% G
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:! h( M, ]( Y6 _+ {/ L' v5 h
- ~, N/ X' h' H8 [* W. n( F' S, \" \+ l0 O
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.5 X6 Q; k. T' {9 p) S7 v6 R) W
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
1 }0 ]; a# m3 _% [Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
: t; M1 | n" r/ ~2 W1 v( _/ H$ rУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.# a0 W2 b; q; K6 C
, H% F3 m/ b. g. U; B
0 N' [% F* C+ ?( @* b& RЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
% t/ R% y% ^+ A. M! r. k9 O$ R) W8 b; cКоличество файлов пачнода должно быть равно количеству файлов геодаты.
* B I" f# }' @ D/ k) aЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.' b1 H, Y: c; [4 R1 X
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.0 X5 p5 m6 h1 i Y; Z; M4 @
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.# y5 {! Z5 S6 u4 D
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
5 r# Y( Z' J3 M8 q C( z ^Установка геодаты на сборки без пачнода (Rebelion):0 W4 N7 J" I/ w% s9 s
Покажу на примере L2Dream.3 k+ ?* [5 f& _; p7 l( j/ d
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
! L# ^9 W5 @$ o0 h! H! B# a; K* X7 D3 I
o$ Z5 }( \/ y4 b2 l/ e
C:\L2Dream\game\data\geodata
' l' G& G: S" m3 I3 @ q# f5 G! u6 Z) v! `4 `- e" Q$ I d, A& p
8 Y/ e, i0 m$ u' r" |. W8 o
7 u* s( I& ] l$ W/ E
' m4 e' c& |' V5 z/ }Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.# X9 b( @, R: K0 U$ `. |
Настройка.
( Y- b3 N+ K* k/ K d1 k$ `; PИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
* ?, H9 d# Y! |4 x+ ^# F3 S# \#================================================= ================================================== ====
0 R- g6 _3 w8 S0 h# Даный файл является конфигуратором геодаты. g+ T! m3 a2 g/ Q/ S
#
, |9 I' h* W" P/ D& b/ X2 g# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.) a4 u. j( d) D9 q( \/ S
#! P# x) E6 P' |; T3 K5 c
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).3 q- _; ?5 Y# Z
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.0 x6 G/ W/ l* r8 @# o0 U* G- T% |
# Ну или просите прикрутить SSL.
2 E7 M: b" d" t8 c& j#================================================= ================================================== ====% R) i; y) v# k0 v
' A* w' o( L, y1 p
* w# h# U7 G! D) K! j8 W# Включает/отключает геодату и поиск пути.8 p$ g: U1 G2 v) Q! t4 u3 H7 h
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.# H8 Q/ \6 ?: g% d8 O9 {
# 0 = Геодата отключена.
( Y, x7 w0 z# u2 [/ ^$ g# X7 D' k# 1 = Геодата будет загружена в геймсервер.
' V& S, i9 L0 K6 v; S' e# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как4 f% u; M q# _% C( ?
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами! @6 L. j7 w3 u8 {, |
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,9 j+ ~- m. b7 A, x; I- z
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.) ?. G' }; y$ ?" m6 ]" e P' G
GeoData = 0
+ }8 ~1 M& Y4 z7 U7 a
1 L6 l- g* Y, k% V1 b \* X$ _8 Z7 G. l5 Z1 u1 i6 W7 k
# Хост для сервера геодаты.( [' L" m5 I4 K4 {- Y8 \
# * Забиндит все интефейсы.
$ p+ B: S4 V/ \9 B# Игнорируется при GeoData = 0 или GeoData = 12 F" A7 x1 }1 ^6 C" d
GeoServerHost = 127.0.0.1
, ]. d2 q% F8 i* R$ L7 G4 |3 e3 @: ]& p0 @: g) B" j" W
7 E) {0 k1 b w0 ?6 B2 j
# Куда будет пытатся коннектится клиент.6 ?4 R$ T6 v+ a# \0 @$ M. y
# Игнорируется при GeoData = 0 или GeoData = 1( w* C( I+ U" t0 Z, \
GeoClientTargetHost = 127.0.0.1# I1 G1 g( Z' g+ ]0 K/ b
0 Y7 }- o6 Y2 _ H
7 `# p" a: `0 R/ p5 ]# Порт для геодаты.
c, l0 V: G$ C, y; ~1 H# Сервер откроет на нем сокет.
, ^: A/ S$ n% v' Q4 e A1 k7 q+ t# Клиент будет пытатся подключится к нему.
8 V: H! H" e6 \# Игнорируется при GeoData = 0 или GeoData = 1+ j4 }6 D) X7 ?6 B: {3 U. @
GeoPort = 9050
& U+ ^& N- A' q) f& M3 b& K! `3 `. ?! e7 f% _) c) R
, N8 `6 i+ D x7 R7 L* m$ {
# Сглаживает путь.6 o9 X) X U6 ?
# Стоит отключать только для дебага.
# u* H# V4 I# e# S" b) pPathClean = True
! [7 f0 |- _ `9 i* ?% M* e
: D. H; q) S: j2 X
3 i+ `% p3 U+ D5 J/ V: L: a8 S# Обрабатывать ли двери в геодате
( V# ^/ p+ }7 D4 g- X+ U# Настройка влияет на ГеймСервер
, Y" f% }. z! Q# rAllowDoors = False8 @9 K5 H8 n2 d, ~) @
' K6 I+ L# {% a' z% K# P+ k% a1 q; o
PathFindingBoost = True; q C1 w4 U4 k" o4 N' Q
PathFindArea = 250
. o* p8 }( I7 j% u7 k1 YВнимательно читаем,нам нужно это:6 t, q. R% {4 N/ R L" ?
/ u8 ?. j$ E- L' ]6 H9 `2 y
. p8 r& l4 U5 D) @8 L
8 \& I8 R9 Q+ O+ P. S7 O M3 K+ A" W1 j5 u+ [: ^
# Включает/отключает геодату и поиск пути.5 L$ p2 Y" J* F ?; [- @" h& O
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.2 m( R4 a. J! G( k. ] p, ]& x
# 0 = Геодата отключена.8 n, U$ l- ~% H {
# 1 = Геодата будет загружена в геймсервер.$ Z! K6 J! ? x, w. w
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
5 ?2 {2 h/ z# r# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
% { U0 X3 n6 P# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,1 Y. }: n# ]& U+ {3 r9 K# e6 M
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
7 u8 }! y% _; X8 W9 d! zGeoData = 0! j$ I/ u# D3 S/ X
/ |$ K" ~" S1 f/ }2 ~
, y4 c1 S- f- b/ W
4 Y4 p' J& P) b3 r
0 i7 V3 O/ y0 ~% g1 K8 \В этом параметре меняем 0 на 1.* ]+ s! ^ c2 F, y# S
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
: y* G! |( e& U6 F5 |# Хост для сервера геодаты.
- }( P2 R5 F a" W8 @+ `2 t# * Забиндит все интефейсы./ a+ P; A# n: j% D6 O5 y6 u
# Игнорируется при GeoData = 0 или GeoData = 1
& ~% @& o( u! t8 W Z( O8 PGeoServerHost = 127.0.0.1
2 \; }" X) p: c1 l5 a" V& I* ?9 j* A' P% ?! L' I* ]/ M9 a
0 C0 B$ m0 O C+ O
# Куда будет пытатся коннектится клиент.0 b4 U; A" w0 ?. S, }: ^
# Игнорируется при GeoData = 0 или GeoData = 1& _! q( J. L; f
GeoClientTargetHost = 127.0.0.1
) Z/ K& O2 ~7 _5 P6 Y, E" @* @2 M1 w* B, C+ D7 y
! c+ D9 j8 D6 D2 i' W# ` q( ^( ]+ \
# Порт для геодаты.
% Z* d$ u9 Y3 U' p6 p7 L2 V/ G% @# Сервер откроет на нем сокет.
2 t+ a% y, g" X" h$ C& n# Клиент будет пытатся подключится к нему.6 o% X9 O8 G2 J! j$ ^
# Игнорируется при GeoData = 0 или GeoData = 16 O# A9 {# w" o+ T: j5 T$ D, w0 K' l
GeoPort = 90500 W2 G9 |# f7 I; r& _( R; V
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:! z; [# [5 H7 r
+ a" H* `* w X! [) }5 q( U3 t
Q) @! Z& R- Z ^
% H8 n' I6 _) ^ M( J. v
l5 N# i g3 E$ g0 bjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
( w+ J+ H+ q' }6 L( c/ X" _. z7 r3 H; Q) Q
, b8 l0 I* M/ h! W
1 t, O3 u! L( J: `, a+ k
% ^4 u3 R9 o* {Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
2 j( ~0 N& {0 ^8 m& ^/ ^; f5 l' n# W! s4 K6 r
! Z2 y: b9 B/ h
9 y7 U$ A8 @+ ~; _' }
* h: s* `, _5 t" r# Обрабатывать ли двери в геодате
/ j; z: Y( v4 t! d# Настройка влияет на ГеймСервер
3 v8 z1 M( h6 B; }AllowDoors = True
0 G5 @ K! R* q$ U' `; k% m& ^Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.5 ^/ p! `3 b7 @: F! ^2 N" w/ |
Пути размещения файлов геодаты:
+ a$ W) Z6 A& P! B. I; f5 O9 l! C* A7 e* m
( y) F6 c$ k# z' y8 HC:\L2jServer\gameserver\data\geodata
3 a$ d d2 b: A! \4 o, x2 Q: }! |( z0 {4 c/ [
- _( d% a: H) ^4 j1 e
2 Y" @2 g2 u* U$ f# w8 A
2 g3 w- S0 a0 c/ R3 ]И патчнода:
9 v0 }' o8 [# L" x
9 Z9 T* V$ e" U9 W- z4 k9 S2 H3 X# O' S. {
C:\L2jServer\gameserver\data\pathnode ?- b1 l% v. b
& Q5 J4 L% @# z" `/ e1 d/ N* h' a2 N) g
# j" g/ @, ?% u% j8 Y- L$ E: n
2 c. U) o) {5 n' l% t5 X; S7 sВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
: v7 U4 X$ c) ^9 K _/ `
( t8 X+ M) _' _( ~) a {$ r1 J& r+ R# \+ V
( W; e3 @+ Q8 `$ Z" y( j* v
/ {! N/ S7 O* _" q* y16_102 Y6 B1 y+ z' A& U, k
16_12
0 [2 Z" v) w' R& M, R- d- c) o: S16_18
0 \' u! l9 ^6 i: w( t, m% C$ z16_19: R7 a1 E' c' w/ L& g, N% i
16_206 C# j1 L. a1 |; r/ A
16_215 c- b R3 S; x" b9 W1 h. I) ^
16_24
) _( Q+ ?; `( g) C! v2 P16_25, U% _1 K! [. w1 v4 j+ ~
17_10
0 s! l3 W3 c% ~+ Q6 X, p% y) T17_11
' L5 T9 u+ Z# F! X/ e6 c17_15' O5 N J" R& a5 L7 p
17_163 M; |/ J& z" [: ?- U; n# F
17_17/ m/ p0 t& r: ^; N
17_198 S, [! O. {3 [9 C! y
17_203 C0 z0 e8 I( ~! b. N! H/ e
17_21 ?8 q. E& s6 i0 S6 |! M# Z
17_221 J0 p& Y( c* `9 B# q, [4 O
17_237 k$ e4 y! p) V) V9 P
17_24
) [. `, g7 _8 L4 V+ _17_25
# z, f J" ]1 g, f6 B9 [9 n7 T18_10
. h6 S- F+ b- L/ K! C- s+ p18_114 a# G: U# M/ v, |( q
18_14. [! I6 w# X8 l* z
18_15
3 M- p/ T0 h' J7 j& `9 Q18_162 b' ]- @9 [* W) K4 R0 i$ s2 Y
18_19
0 p2 ?/ ^- W. r( q+ N0 J' E& ]18_20
+ {/ B% l/ r0 ?* u18_215 n e& k% K/ n' D
18_220 z* q* ]! T0 L5 }
18_23
, L' n4 A$ I! D5 r. F) ^/ n- _18_24
6 D. `8 [( c0 _' c2 |, G! M6 f. z18_25
% Q' j; ]* D" l n8 ?( `* d ]19_107 N4 Q; d* [4 {. t( [% h3 X2 E* s
19_11
. z1 Y$ H9 }0 Q: t2 D. M0 `, C/ x9 @19_13
/ u& P4 o1 B. f5 b* ~19_14
; a6 @6 c8 R z8 H7 M' w19_15
: h0 E+ P! N) z H19_16
7 z6 G! m! I+ h, J$ y6 \ N19_17
4 C3 @% S4 {1 X- H! i. T- @19_18
' e3 b' O, W7 t3 K* ~# F* C, u# d19_19, f% g" w. `; d' I) R
19_20
7 o, |1 l& z2 ^& b0 U19_211 _2 @2 N( H3 h! K8 v- z
19_22+ y3 @3 ~7 f* T e! V/ }$ w
19_23
9 O3 Y# b9 x2 E- N: }& N- z# {5 X19_24; {3 b0 b" t q- x* }6 q
19_25, [; @9 ]& _! r& e7 w
19_26; o6 ?. |# k* a" z, H" A) O. |
20_10
! \. q& k$ D. p) i5 a# ~# s. W20_11
& o# Z2 ]; N2 S1 n$ c1 t20 _13# W% \4 x& l2 S% d; Q1 i( ^
20_140 K, W% D% F* ^
20_15% l5 a& q9 |1 @1 @ Y. i% I) } G
20_16
5 m" K4 J2 s* \2 H1 j( x20_17
# }1 Y/ P1 k9 F& Z7 f20_18
' F7 t+ n. M: t K) ~20_19
8 i. |2 k/ C8 U1 h+ s20_20, [$ |& b1 F* v. o! V
20_21
" j# S) [' M2 ^+ o9 I6 v0 A20_22
" C% v% l4 o+ A$ }) N) W+ e* c1 A20_ 231 w3 N0 a7 A4 r
20_24/ g7 B2 H+ w( z7 B9 T0 q8 n" x& m
20_25
3 [) C k$ |' ~+ o$ P/ o p4 n% o/ z20_26
# d8 n" E# I m2 m& J8 `6 u21_117 C* `' C% e: B% x) X/ \$ [, G* D
21_143 P0 C( f' v) [9 C' C: d! c, R1 v. v
21_15
5 c4 @1 l3 _8 Q o( J21_16
1 _ D0 U5 }$ f4 q- b8 q! R6 }21_17& r* q( R* Q5 W" E1 m3 c7 H
21_18
; I7 _6 |1 Y2 b4 T21_19
$ h1 J1 [0 Z8 {4 Q6 X3 J% \1 E21_20' N9 j3 D4 ?& k' D* |; e) Z
21_21
: @9 n: R/ n! H21_220 i$ a9 e5 ~) o# r& f# i: E2 f, n- J
21_231 d6 W) K; G0 H' L/ c m9 O
21_24! ^) ]6 Y Z ]
21_25( p1 ]* i) H/ V1 }
22_13$ V O5 D1 S: u" y8 h
22_14& y: o4 [' b! e* R7 h6 F5 p
22_15
$ \" G* v! V. E. Z9 d# Y$ q( x8 S2 G) }22_16; P* W; \8 `+ R# `
22_17
( l0 ]/ |3 L+ \* k& U( m( n22_18
3 K- ~. a- x2 n2 w22_19
2 G+ Q4 E; ^' U22_20( @; E3 h0 }: Z; e5 z
22_21
8 _% A/ ?: D! V& w. D0 G& Y22_222 `. q4 X1 E6 Y8 [7 B% A' `) _
22_23
" [/ |* w* ]$ T9 W/ v22_24# e* e; s4 {$ m( c- n' ?. Z
22_25
3 g0 w9 v4 o$ S8 s3 v5 R4 J23_11" C' N+ h0 \+ v0 G) S! x+ h' e
23_12
* g* ~' V7 n7 v% W) E" L! W! d23_13: S- l3 ~# J; l$ W/ {) _1 Y" I4 P
23_14; ]) s( `! {, j; Z0 j, `6 `
23_152 ?3 O; ^2 N6 w/ B
23_164 w7 b% Z# ~2 z2 T8 Y
23_17
+ T+ }, s: l- h0 Z; P5 R4 ^23_18
0 ~1 q+ N0 k: H2 z3 p3 R23_19, B6 L4 _: q, g- m7 A
23_20
+ c! ? e1 B. I- R23_21
) K" Y7 b( t( ]& i6 E* U23_22
' y) J. [2 F7 n8 S) C6 U23_23
0 v- ], k9 M D23_24+ ]9 ?( ^/ k! O6 M' B1 `9 W
23_25
& [1 I3 A, y5 G1 p% r24_11
& V+ w) W0 S& g# ]6 n24_12
% T6 c; g$ }7 w24_13: b/ W+ ^4 U. i. M* e
24_140 _3 p2 l% Y3 c+ u6 d0 @/ {
24_15, D9 z. F1 [) f% ?
24_16
8 ~4 s' n4 q" h. s7 K1 |2 A2 V24_17
2 B- N, q N7 S, P+ h! o. P% ]24_18
$ g5 Q& r3 v9 @# R24_19
! k4 d& R6 T. `7 G U24_209 Z! a r0 p- j6 g3 o, ?
24_21( b: Q, H8 I* I K, J4 r
24_226 Q/ ?, a6 J1 X. |8 b
24_23
; r3 r: s+ i J D, D Q24_24
: `6 k9 U2 B; O% j+ o$ h: [% M24_25; m& y3 |7 I) M; Q3 p; a4 I
25_11- }1 A" c- B9 c, i7 \; n
25 _12
3 O7 X+ @2 }! r0 ~25_14* }) X! o) A- _7 m% k
25_15
8 l7 Z; k# }8 x( f+ E1 ^8 i0 j25_16
& E4 U C$ Z# l+ X25_17+ p7 f; T7 ^, ~; Z( H
25_188 d- h3 ]; {) p& h; Z; w+ a& w
25_190 u: C' a9 }7 x, z# q; f
25_204 z: w& g' U' p) v
25_210 {! |3 N, U! Y; q+ C2 x& X4 m
25_23; Y9 d/ w8 k( H" G8 _1 w( {
26_ 11
; L: I/ d! `$ {- ]' P26_12' B3 s- h$ B4 h5 T! D' ^( x5 A- w. L
26_14. O2 D0 j& D. m# D$ j# L9 ^5 H/ K' ]
# I/ b" v. T. T
" w& W' m2 T' [& o0 R/ x9 {2 R. }: O
% L% k" X8 C/ s$ P& G3 y# j
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.3 T3 z0 S) h9 z3 ]
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
+ Y# l. M/ N8 [& N# n6 ^& i#------------------------------------------------------------- --------------
5 `6 |) E: U/ S6 C, O# Geodata0 }1 k8 E; c' n& m
# ----------------------------------------------------------------------- ----
( P4 h. y1 \+ X6 }1 S# ]6 Z# GeoData options:
- z7 R, Z" X: h4 N# 0 = GeoData and PathFinding OFF (default)
w2 a2 y8 Z2 o% _# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
% V. ~0 R4 Y# h+ ?# L2Playable movement. You need to download files for data/geodata folder.
1 X4 V( z8 K5 c4 x1 x* A, @# Monsters can pass walls but not aggro (no line of sight) through them.1 Z5 L; y& n$ t! k
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode; d) M# Y, c/ D) L
# files if CellPathFinding not enabled) and all character moves go through+ f: C0 O5 Q1 e& q5 k
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
3 @+ ~/ ^. B# h( H) l* ^# but we allow attack and returning home).8 G( ?: ]6 I( ~$ b0 X e4 q
# Recommended server memory minimum 2 GB, rather 3 GB.
: g# A: a! m$ Q/ h! \1 ?# Default: 0
( G4 Y8 ^1 q1 S2 L! D( dGeoData = 0: I, X* H7 z3 W5 l2 m2 |; Z
e" O$ C2 P5 Z. P
1 m% h3 n; }- v% K: J
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
+ a, K. u6 i" D6 { Z; L0 @# 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.
6 g1 e! H0 D8 u' m% b# Default: False! b" M6 D2 g, m& G+ J4 {
CellPathFinding = False
7 p/ q+ r( j, n z+ H# ~4 [* j4 W' S) V5 W
7 | c/ Z% H4 P, H2 R0 v) B: _, q# True = Loads GeoData buffer's content into physical memory.) u/ [5 r7 _# `- R) `$ h
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
" r ?+ D) E: }. q# Default: True; ]4 i# e! b; k9 X1 x
ForceGeodata = True
6 ~7 U. ]7 p3 O/ z( F8 M* X1 N' D/ H& h6 K/ e R2 G# u
% I3 n: x7 Z( _
# This setting controls Client <--> Server Player coordinates synchronization:
3 _1 t' n1 [4 {- C9 ]# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
3 S7 L1 ]+ B2 K; J/ `0 F0 m# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
% v- m. z4 _7 `; j# V# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).# X2 i$ M$ N. u" q3 m; J
# Server sends validation packet if client goes too far from server calculated coordinates.
# ?2 }2 [0 o O3 W& W# Default: -1
$ r& N1 j: Q$ S" `4 ACoordSynchronize = -10 }* I: @ [/ G" J5 i/ g
" S K+ I- k: |9 r3 [' [
8 F& b) Z* I+ g; v6 f# Z2 `8 C& U) ^: Z# l7 p8 \
* D) o9 ^. k" R9 W" }- X2 |5 K
GeoData = 01 s( j9 L1 m( c$ O4 S( F8 o0 d) f
/ a' d0 e1 f6 d& c U- [( j, F* b8 j' Z# D- Q
, v: K t% F" ]1 K4 R) K0 T8 E- p) Y. R' F' C6 ]! q& o
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
% s9 ~" h" u0 C; @+ a$ U- CСтавим 2 если пачнод присутствует, так же включаем эту настройку:* T$ }# k3 u6 Q8 o: Y# {
4 y, y! [9 t9 X! V3 v; i$ m3 Q2 U3 h4 P, B
# R, s) T; i& `: N l
3 o; S2 V& W' `" l5 ^1 b/ D
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.3 d" k5 r+ I8 |! ~6 s) J6 {$ o- _
# 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. b6 R/ C! b3 Z% d
# Default: False+ @/ w' t3 j* I: g# M5 [
CellPathFinding = False
4 c4 e( S8 g" g4 t1 @/ _
4 ?1 P- ^5 B2 O$ S, r
# @, M% _* Z0 o+ F* k, c
( T3 [; q5 k; x# e0 D" D q, Q8 b" p
/ [+ f1 B( q/ Z: }; ^: r3 iСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
5 x$ ?+ Y; ^7 e. c& lПожалуй всё подробно написал, спецы дополняем если что то не учел.0 R7 X0 J( _8 V& K* A
% f$ j; r& I6 s* o
4 _9 z: _3 h: J+ y/ @1 B# s. I" F
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
6 j. P9 v ?" N4 w; b7 I2 e- H r
1 Y/ l3 b3 j9 T. yИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
8 u6 I- A* b6 u, n+ k
6 k+ \1 z% V/ b. U |
|