Хроники 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+ r k: z3 V6 vСборка L2 Java& G! u( K: ]; X/ z. q* d
0 k% ]1 G1 k: e" f& ~# a; o V3 c( p J* t: F% |+ | ^2 o
Доброго времени суток.
9 G( E! E6 ?% d0 a o2 m! b0 I4 e# j) g7 Y" w
5 p$ N2 Z$ S, }, c9 z
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:3 o8 _. y8 n y2 {
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
! m& }0 q8 ]4 j% yДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.. S0 V- O7 `, Y5 B' I
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
- a R2 D) ~& c' G. ~! @8 L5 a4 o0 a; x0 J- S+ ?4 G) l
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:/ N. |# d0 G6 L4 N$ ?' ^5 _
6 I' ^. T- D8 n0 f$ S0 H0 ?* B9 H3 ~3 ~5 M
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.) W* ?4 _" d% V0 i. W/ z* f. a) Z
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...9 l( X: \' j% A# |' g6 Y/ A
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.! q! |2 N7 i1 M3 B9 Y- W
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
( w# [6 |2 o2 @% o; \ P
* J6 O1 M$ _0 r& D8 M& s# E# b% K/ c6 O, O7 Q0 U: l
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
. b5 G0 C; a8 {4 C1 wКоличество файлов пачнода должно быть равно количеству файлов геодаты.1 b I5 R( y% F, B/ s; a6 e
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.( `$ z' p; R( e6 b
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
, w6 ^: ^* R+ Y5 G( m- |Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.) I0 h9 Q7 y8 ~% ^
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
# z: b- U7 X8 H/ R1 M7 gУстановка геодаты на сборки без пачнода (Rebelion):
% l5 ^) r0 B. [% I* x# a0 KПокажу на примере L2Dream.
, g3 x5 Z3 [: l7 K; @# G+ g& HПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:3 v2 W! F% B/ f" t+ m
. x0 Z& ]% Y6 c* U$ U5 ?) S. T
" c; c( y$ Z& i+ ]& d$ vC:\L2Dream\game\data\geodata
4 A! `& |9 K: p3 z# K- |+ N/ o0 S8 a/ S( ]' e0 \) ^
/ @+ e/ r% R4 U/ F \' E8 h6 c: }- A- E4 ], S- T
. e# Y! ~5 g; i! _
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
( d8 q: R I6 q! S" @& b; SНастройка., M- \- p: _* s- C7 I
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:4 V7 f/ A1 w8 q% }* ?8 A
#================================================= ================================================== ====3 L1 o) i' G" e# _% [5 M9 X/ N
# Даный файл является конфигуратором геодаты.0 I2 `" P" h7 W5 _
#
P$ g6 G+ m7 ^: C* k) W: |3 _% E# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.: V1 _' m, e/ q
## O* j ~$ I! u, f7 ~. d' [5 |% c
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
; I1 Q/ E! i. q' k# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
$ O, Q3 }4 p8 L" [ A/ {, f# Ну или просите прикрутить SSL.
% ]2 M/ x9 x& b5 S! |: O* {#================================================= ================================================== ====
2 o5 f6 w8 w$ }& g( `
: c' h$ H$ ^7 Y
6 n, C& {. ?+ L8 R8 Q# Включает/отключает геодату и поиск пути.7 p- H' J# ]* G0 w% N# t
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.: [9 V5 u/ D7 w5 {2 q0 _4 E6 u
# 0 = Геодата отключена.
" Y7 v+ Q! f, ^' g" A0 c6 W" p% k1 c# 1 = Геодата будет загружена в геймсервер.
4 d9 v. B: i1 `; A* t$ Q# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
9 m! D# {3 Z1 P0 l/ O/ m! L% n# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами" U& i5 n- g0 C$ x9 T$ l, `
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
* V8 p, ]5 F" d4 j. f# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.9 R7 `3 q; L0 w5 H
GeoData = 0
K, {9 i0 T' e
- N2 ~4 ?. M% a/ N7 \9 z+ G) C% C8 d& _3 p4 O5 {+ h4 h) y/ l+ C8 m9 k
# Хост для сервера геодаты.& A" u% y& ]( M: j0 W
# * Забиндит все интефейсы.
3 T8 o! a9 J4 l2 \, h3 O* k# Игнорируется при GeoData = 0 или GeoData = 19 g1 H4 V/ ~& W! C8 b
GeoServerHost = 127.0.0.1& I6 m' t3 x# C# L$ T; C; G9 C
" C0 j% m9 w: N
S ~4 ?8 t! V- `3 A8 B/ u# Куда будет пытатся коннектится клиент.
0 |! } q+ d- W: I1 p3 l! m1 y$ g# Игнорируется при GeoData = 0 или GeoData = 1
6 F) E2 F1 ^8 o' Y; ^# T, tGeoClientTargetHost = 127.0.0.1
# J2 m, U% w; Q: Z" F% B/ ?
# L5 \) i, f9 J7 d2 @
; A2 S6 u. r0 O" a6 \1 p9 z5 U8 E# Порт для геодаты.
U, E8 n; N# E% b! M# Сервер откроет на нем сокет.5 _0 Q- R0 k5 ]
# Клиент будет пытатся подключится к нему. @1 p/ Y8 j8 e+ U& e
# Игнорируется при GeoData = 0 или GeoData = 1
( D/ j1 D. [. D0 CGeoPort = 90508 j; p& s5 J& K3 ]# a. H2 ^+ h
/ \1 h" e+ F2 e! c. U9 k4 K0 M v7 {- h
# Сглаживает путь.
' r5 o; G$ h* ]% o4 v. z# Стоит отключать только для дебага.2 t4 L* j. |& u. V* @: N9 d
PathClean = True$ F: S7 P; h+ o0 x, x9 p# ]" L
0 r& E3 y/ E+ z3 S6 ~& g4 }; \$ u4 y) g* x9 V
# Обрабатывать ли двери в геодате7 ~, I: ?2 S, H+ T, t4 l
# Настройка влияет на ГеймСервер, s% T0 t& A- a' s" B" ]9 h. m
AllowDoors = False. ^9 T5 W+ P0 W
4 T4 ]' ~0 a/ F3 K( A9 v" r C$ [7 f" m/ F3 S; m) `
PathFindingBoost = True' W6 {& K, ]9 ?
PathFindArea = 250
( \ |0 \. N' n" a/ K$ f& a4 IВнимательно читаем,нам нужно это:/ O) i3 k% d4 w0 M! Y, f4 \
7 r) ^/ D1 O3 p+ R6 d$ p- Q) L+ `! w" `
& J1 U5 l, `( H# R$ ~/ \: p- _3 r9 ~6 |( K4 H& _( q4 I; z( {/ Y9 x. q
) Z# g* @5 i4 A- N
# Включает/отключает геодату и поиск пути.5 g4 w% b! l/ Z2 Y/ R
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.5 R4 m0 ^8 {9 I l4 K; |
# 0 = Геодата отключена.7 D9 v: `4 X* a8 v
# 1 = Геодата будет загружена в геймсервер.
* m ]8 w" u& r% g" u# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
% e- [) o2 f0 P) L4 I! e# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
1 ~2 f2 E3 B/ A! r# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
0 x$ F9 d2 H- M- \# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.1 v R. ~9 \/ w$ C; }4 N) \; F+ K
GeoData = 0
; O$ R, V4 |0 l n( @8 o9 E- }* t! d4 ~, n
7 Y, ~/ T7 R* w* `4 Y% g" m. v& S) l4 ~% ^* V/ y/ K* B) V* f
: D$ T' G/ M- N$ v# J K
В этом параметре меняем 0 на 1.
. _! ?/ W# a2 P% N$ I$ X& _2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
! D, {. `" p7 y7 M# Хост для сервера геодаты.
s* t* H4 k* O) l! ]. Q# * Забиндит все интефейсы.
) V2 E3 j' G7 i# Игнорируется при GeoData = 0 или GeoData = 1+ ]& H5 K! \; |$ F: y% `" n
GeoServerHost = 127.0.0.1
% b+ @$ z+ H$ D# H2 ~; N
% ~6 S/ B0 L, D) t* M6 h5 I+ f M, S5 T+ { [1 c4 E
# Куда будет пытатся коннектится клиент.
: Q- i" T( U" F# h! V4 N# Игнорируется при GeoData = 0 или GeoData = 11 i0 f5 p' M9 x9 [0 x
GeoClientTargetHost = 127.0.0.1
: y' c+ @ g( h, L5 ?
% L# D+ W* s" o
0 [/ K, ~$ ^+ W0 x( B: O; z# Порт для геодаты.
! M2 D: X7 o; F# Сервер откроет на нем сокет.
' a1 \ |* d8 g) B7 X! Z# Клиент будет пытатся подключится к нему.* ~" m) q; J4 o) q4 T2 u. N; b& i
# Игнорируется при GeoData = 0 или GeoData = 12 J$ {2 |/ {0 H7 z0 ?; c
GeoPort = 9050$ y T: Z- h9 E
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:6 r4 D( H4 i$ B+ T: `8 e& {
& f! e* l9 ]$ G' l* L3 |5 {$ g1 F# p+ ^1 K3 z: ]
: G t4 y6 h3 D. ?: z. H% }! O1 l @+ p/ H
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
" m9 M! r8 @9 j8 X" P. ^- C/ v4 T8 l$ I/ W! W
2 ]1 v s! E0 S R2 {8 K$ r
* u* `( h* M7 k6 z2 Z( K( w& P9 Q! ?; m1 U4 N+ X' K X" d
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:' q& b6 J3 E' k; X+ ^3 I& [( g
: j0 S6 P4 L, ^" b9 p7 O
* s# `0 J6 q' M0 Z0 X: [
: _% V/ e: S7 }" Y" Z
/ R6 d/ j' F! D5 q
# Обрабатывать ли двери в геодате" N% |. Y- u: B; {: [. {1 q6 \
# Настройка влияет на ГеймСервер
; N9 c; I2 S7 A) { P* j% JAllowDoors = True; _/ h/ D! |( G+ t% c7 F- B9 `
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
% ]6 z; h& X! }; C+ f a [Пути размещения файлов геодаты:( f E4 {% X1 |2 ]8 m0 G( X
s8 z% B& V2 s
% T( E/ z. o+ b7 EC:\L2jServer\gameserver\data\geodata8 j$ f4 b. D! j( I* n! l
% [! N) }1 P. H
0 e3 |, F2 |$ Z$ W0 q; ?% d0 M8 Y6 o7 W
* @* |+ m3 v( ]4 YИ патчнода:; d& V, S( Z7 n8 b4 L: ?! ^9 q
' P$ @6 E. R4 V# f( Z- u8 J& ^
# e6 }6 I: U5 U; @7 ]! ^8 A" j: ~C:\L2jServer\gameserver\data\pathnode
0 v3 [# R- Z& {3 {
' A1 V5 C7 `: M& r) T- z& Y {- b6 ^; y; C: S1 r/ W d
/ m- K! U' J+ f! _, I
8 Y7 m0 P# h5 c6 ~4 lВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:; [& A3 }: X- f0 x4 x, \/ A
3 \7 B& x1 D; h- J, p# y0 X4 A4 |; H1 a1 b8 Q
2 }6 s' g; ]$ D
# b. f% ]- k6 J1 K16_10. k9 g& y+ G. [5 L8 I* |( Q0 ^; i9 x
16_12, l( F) l T, e. s0 A% T) m
16_18
" e3 a+ Q; b6 M! y; x+ n16_19. q3 A/ F+ ]6 `9 \; q7 T* w# J5 L# r
16_20
1 [7 u! b( B: h9 ^0 w16_21: R9 l2 K1 G& k2 R% E& t
16_242 R" p7 ^# {" L8 L6 @) Y
16_25
6 }6 \( g% [ p5 R" i0 [17_10
6 i: u8 k& y6 K4 ~4 D17_11* L) a2 D" t; n Z
17_15
^1 i; L4 J2 |9 Q17_16
: Y e: H# N" g/ j" a8 v17_17/ l$ u y0 f6 }! g5 \( j. ^
17_19
0 s5 Z) R; U0 R; z- m17_203 }7 O; n" w7 q: y
17_219 B; Q+ B3 C- R! W( A$ |: Z6 d! f
17_22* U2 u9 i" T* c2 [* p
17_23
& R: G. t. ` u' d17_24; b+ ^5 y% f3 x% f ~4 f; ~4 O
17_250 q, G M- @4 b: }2 y0 l
18_10
, r/ E, f! h! g; \6 b# W& ^18_119 |) {+ ~) d+ A( E# u k( {- f
18_14
0 A) D3 P8 y6 f( C' ]' X) D18_15
& M1 t1 a1 [& I" L% {* ~4 v18_164 ^% h' G# D8 N6 {* w) \
18_19
' s# u6 q# x+ c: _% k18_20 \# O- G9 k1 M* [5 ^& {3 o' G
18_21
, l! Q% u3 y; S e* g18_22
9 A ^, \# e; b% J+ a" f( v4 U* l18_23# u: {- _5 n, }, Q1 m' I6 ?; h4 X
18_24
9 G4 ~) e7 M7 u0 [2 h9 X18_25+ v8 A! H8 s) f4 u& d
19_10' q, C$ S; R4 H% A2 x/ P
19_11: _" a9 E1 g7 i; G, {8 S0 P. q
19_13( O; m$ D1 n$ w7 `
19_14
: l) p* @- M' y19_154 K% `0 _& v% g$ j0 y& f2 C
19_168 j9 _% T. `, M$ I2 J0 }; w$ x
19_176 K: {' e3 U" p/ Q
19_18
& P5 ?- s Y( `6 U19_19' S$ J: q0 T5 ]- k) Y5 ~2 q% ?! z" Z8 U
19_20
( e7 D$ @9 K' l7 p8 U& C19_216 l( b( J4 W% F2 s% ?4 P: }
19_22
5 \6 r( p6 ]' i19_23
1 E( E) F, G/ ?3 f# r# t19_24
+ ^4 w* a' h. c& v: e/ r' Q, L, E19_25 S8 W$ O: L) l! K/ h) a
19_26" W1 _& p0 n3 v7 w/ x; \
20_105 ^! p! S2 f3 ^1 Y% x8 S0 R
20_11
1 t# v) T% H& g20 _13
$ C9 g: e7 e$ Y0 |9 S! @5 _5 F9 \20_14/ Y/ @" g4 f/ t1 r* ~' Q4 g
20_15
- A+ @2 k/ g* j# q$ q# y D" P C20_16% |' @9 G0 G; O" L8 o5 z
20_17( F. i2 e; o& K* c* k8 w. _
20_189 P# y$ q! T6 W1 Y' A3 c
20_19
5 e0 N% T8 h) c20_20
* B* M9 `5 s1 j6 ?8 R20_21
) ~1 L3 p' \# H/ Y9 N20_22* P. ^% Q/ h9 ?$ m7 x
20_ 23
: p9 h0 m/ D% b5 d20_24
. w4 y- ^4 _% n* F9 B4 e20_25/ O7 t" X6 { Q" J2 Y, j6 Z0 m
20_26* D& B; h y# _
21_11
+ P/ d# m7 S/ P' U3 ~- w1 R$ v21_14
* b. r5 a& l1 q: A8 k21_154 C& m. P# e% y* K- K, z
21_16
: A" w7 O) p( Z21_17
1 ^) k6 Y* q" w8 j: V1 S21_18* [2 Y; b r1 E: `, M
21_196 J W$ q9 G* S0 a7 U+ @/ {, I# E `) \
21_20
7 y/ T1 ^* L. B6 `$ ^3 H# N21_219 ?+ e. c5 c& y+ z$ E
21_22
. r" G4 w( @: E3 u$ y21_23- i) v0 p# D/ V2 n
21_242 R- W7 N3 t/ A1 t, c* ^6 u2 O6 o
21_25
% \! Z' v8 k* N" U* P# W22_13
: l/ z3 D9 q" d$ c22_14! G! N9 x8 H3 U
22_15
% ]0 _( V- h; k3 |" P- c' s8 n22_16$ s. a% j; y4 T
22_17
3 ?. T. |+ C2 j+ b22_183 T) D2 K9 \0 c2 ]( E/ ]% U# x( F* e
22_19
, G3 y& d7 E5 V; _) _22_206 w7 M% f2 v$ S6 F, o' z
22_21
5 J2 H4 P1 J, c4 t/ b% L22_22. _4 W* }% j+ P1 E8 J8 t
22_23
( F) Y) w1 u! [( _9 H' w' ]22_240 j; Y3 t. d* P" c O% H
22_25
" a0 h: G: d& a. S23_11
& m( T' O% B3 o23_12
' ~ f! G& F& T! ~/ L h. L23_13) `) g9 W) z3 G& G* S
23_143 G' o% ^) j% G6 r$ u
23_15
' ^( N1 l3 H: M8 V3 W6 ] b23_165 V& b! l0 Z+ Y9 o$ t+ n$ s
23_17
, P) U, f# m- c: C7 U& _! m23_18; U/ L2 @9 W5 T
23_19! a( O# |' A- [& ^6 }$ }
23_20# V: c' X( b3 {) Y0 }
23_21
2 R0 j7 B2 {& i) m2 y$ R4 C4 o) T1 Y1 c23_22& y" ~. V1 A3 H. [! ?6 h
23_23/ f' S3 y% J1 s) f1 {
23_24
" i# D* ]' u% {. r! v23_25
' f" d( h# E0 k* G/ X# n2 l/ K24_11( |( [" M7 M5 R5 q5 a8 ~: P
24_12; p3 Q& Q5 e4 b) e
24_13% e% ~. X3 t+ R; F/ W+ N; _
24_14
$ k) _* A2 J5 ?3 u7 l, ^) p. ]0 i24_15) T6 H8 ^ K% |8 G
24_16- d6 s9 r" {' ]
24_17
2 L6 i7 S8 n$ s6 j; T- P J24_18% v1 p5 j- A2 L0 H$ v: M x
24_19: |1 z p1 _# g4 u0 l
24_20$ Z) E$ |( W) e
24_21( L8 S' L# Y! _7 s7 K% e
24_22
, f' d) I1 ?" I) n% v24_231 W1 [- s- g+ P* _0 H0 k) A
24_24( z5 u- x+ Y8 T6 X
24_25" |2 k, l- S: O0 e& M$ h" m
25_11
6 I B% h6 q5 O2 e6 @25 _12" q* f$ i' h8 d( _- k7 K, ^! o
25_142 j" Q* k4 d) m& ~- H( \
25_15
9 R+ k8 h1 Y6 m: d1 @- h( T25_16
( n) @7 y( [+ n6 @; y) P6 H25_17
2 K% N+ t: @1 {# [# x25_18
, T- o! g6 N' H+ d# Z: k$ u25_19
+ O6 j! U& H8 h9 u7 k& r& Y7 c9 k25_20/ c6 ^. n; ^5 a5 i
25_219 Y, Y2 L f" c& B
25_23
# I" [- y/ O2 F V3 g8 j/ `26_ 11* k x$ i" {/ j
26_12
% F" k+ }; o: B" P4 ^9 u; S26_14
- w+ N1 ?2 V; L; j
: z4 j8 G3 ^. x" y# V% I- O
) h( Z' d% y, V+ P
* V/ ^4 [3 B' F @% W; G
9 d" m* z% f! v: lВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
' N: U2 a u9 [( ~% }( [( uНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
, w- `$ H+ ]8 x, \#------------------------------------------------------------- --------------. H5 z m" ^* y& @! W" s
# Geodata5 ^- l" H# ~# S" y8 n0 R
# ----------------------------------------------------------------------- ----9 ]- `7 N/ X: h2 x3 e. x$ ^, {( M
# GeoData options:# l! L2 h2 u. Q1 a6 L4 S& x6 B
# 0 = GeoData and PathFinding OFF (default)
^+ I. N5 }: i; K8 l# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
7 |8 X% {5 T N z6 H* y# L2Playable movement. You need to download files for data/geodata folder.8 s5 U& J9 g4 N w) R7 ]: P; o
# Monsters can pass walls but not aggro (no line of sight) through them.
5 A6 p+ h6 r' [/ L l# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode$ D( N6 M: @$ H' I: e5 `" o: {( f
# files if CellPathFinding not enabled) and all character moves go through
" a% e" z) n4 ~/ ~# geodata checks (if a mob passes a wall, pathfinding didn't find a route8 r- U2 x1 t0 R4 q
# but we allow attack and returning home).
% G4 p6 h" c9 L$ I/ z# Recommended server memory minimum 2 GB, rather 3 GB.
1 \# m Q2 Y. L E# Default: 0
: {# f4 I0 M# Z2 n# c5 ^GeoData = 02 l" D9 }" ]) ?+ u) ~, a- M1 {
, i" ?2 U0 u# {6 ~% g
6 v( F" W* b0 L, D9 ]
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
1 s* b; q2 [: K V( }8 u! v; 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.
$ l3 V7 [; X! S: ~0 @% L# Default: False/ @, ?9 P5 x4 N9 X
CellPathFinding = False
9 h6 {. r/ S( f# u2 G$ ~2 i7 E0 ?+ j) I
$ b! p Q# C, L8 S7 ~: O# True = Loads GeoData buffer's content into physical memory.) z. w2 c) ^5 x7 S$ M# v
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.1 R" A! K- Z; h& d
# Default: True
& W+ A3 U) {- _) O) |ForceGeodata = True
& w# j/ u7 L) p B* ?3 D, \4 @: X9 R3 X
" x# A, ~; e4 x, [. O
# This setting controls Client <--> Server Player coordinates synchronization:; J/ }& a! v( a% p
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
/ G0 D) {) g# p* b# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles." @; L/ }% u* D3 I( s$ f: ^" @
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).9 M5 a$ L. ?3 i2 T
# Server sends validation packet if client goes too far from server calculated coordinates.6 l0 s8 q* F% X% A! u1 W( y
# Default: -17 @' A h$ Q" B* M% I: A: Z
CoordSynchronize = -1
: _ J% a9 C4 R+ g' M' L" b4 S" ] c
% p0 B# C5 r8 G
6 Q; Z2 P& O# p% }6 l5 B) \6 W, G$ ?) `- F# M6 F$ b3 ~
GeoData = 0% N7 @% |( z- O/ O$ x$ P
& l$ a" `7 h+ Q0 @. {
. Q% M3 N9 `! p: y+ ]: m- d5 G8 J
- I6 P0 i f. D$ z+ e6 E
& @6 s' t9 K3 q: r% bСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.; v5 L3 k, M0 P/ Y& W6 \# V! q5 ]
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
0 w, T7 q- s1 N, {2 w% B
! |6 Q- S9 [& _7 J: w
8 s# M3 E4 E _! K! _
& K2 v; U- k$ ?* Y) R6 F' y% ]" o8 R! q: |7 M2 W% @) R; y) a
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.& ]& T0 \. S2 u$ {8 i. G+ L! @
# 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.
3 ?+ i# |/ f% \ x, U2 s5 S0 ?# Default: False
7 O- P8 e3 @! j( gCellPathFinding = False
: [# B/ t. a; t1 { z, T! P5 r% `' A
$ H0 ^- e) r+ ?2 K1 e; p6 C8 G+ z0 ]
3 ]/ N. L0 h4 e' ~3 i4 o8 O5 _
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.; M5 `- y! `- q) C
Пожалуй всё подробно написал, спецы дополняем если что то не учел.
7 P3 w% R# |! g( i9 V8 m, A
2 p8 E" s% { |6 _
2 r+ B, g$ V5 iНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
, F, ^# @2 E$ v7 @" x- t
- A4 Z& `; L* o5 F# m6 v& ~) o8 BИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
" {8 y( K0 d) \" c7 I$ D( Z0 J+ U: |6 M2 h5 U
|
|