Хроники 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! ~3 u' ~' U- P8 n% T) H% @
Сборка L2 Java0 y/ f2 G- N N3 ^
% e: U' ^% i* `) {
. w: w1 d' L3 iДоброго времени суток.2 p, ~- @- Y( _- a0 @% F
1 D8 e; [2 R# g, t
; N* t* }" ]0 Y& IЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:# r/ N$ @! |# Q! O: ?$ K
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.! f0 @& `9 y+ ?6 {# _0 N5 }% @
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
! z' C1 U1 o( a ]& m+ SПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.7 n+ p) X0 Q5 H9 x$ R- z/ u, z9 r
0 M; C% R0 {4 A+ @; x( H: PВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
, G6 ~) I1 L. N
# @& N3 } e2 y. w5 n2 r2 R- g4 i+ d2 u$ A
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.* G, l2 k; t" l9 m7 f. r
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
. p1 G* }( g1 q5 w$ ^' S( S0 UРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.7 H0 ]/ k* f' Z0 v, I u% H4 W
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
, [( I% q% f& B1 `; I1 b/ E/ D0 {/ K5 w$ W2 }% O! f
, i+ D% O3 `; ^# S! I- m
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.* d( A2 o# f: r6 t
Количество файлов пачнода должно быть равно количеству файлов геодаты.( y: x1 K0 Z' C$ P3 A _/ L: I, Q( Y
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
& }& h* V+ i- U; d& `8 aТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.; Y; b2 d5 L! y# }
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.4 F+ k* l/ Q Z7 m# A, C/ A/ s
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.0 l9 O* U" A* B5 ^* E* _7 t
Установка геодаты на сборки без пачнода (Rebelion):
% l! v+ m6 N% \9 ^: x) e9 fПокажу на примере L2Dream.& w( \& a7 \' j9 [+ I$ u* v
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:, ^0 n! L- J' h$ T" _) D6 X( b
% S6 B2 T/ `: T
( _( U3 K+ |4 a* vC:\L2Dream\game\data\geodata+ s3 N& I5 c/ L1 e& I$ T0 o
* N/ Z5 H4 v# ~. `# O M+ ^
* m3 \) B) ~2 s0 F" d1 G
% D. f& g. h) z5 m* F
2 I' w2 j2 F" t2 Y1 FНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
8 o' q0 D1 [5 z2 R& W* _ _+ r8 |( AНастройка.
! m/ Z+ f1 C4 \. N' wИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:. C% X" Q) z9 D9 q' m3 Z
#================================================= ================================================== ====: _# X7 @. \, k* c1 o d. J9 F
# Даный файл является конфигуратором геодаты.4 r; E+ N& ~: F7 S6 o
#
) {! e a: w( J7 U+ P2 m: B; t# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты., f- ^7 y, V- U5 V$ [( A& c6 p
#) e, `3 X( D+ q. G
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).# |, t, _' S* d$ f& \. N/ [# R" t3 S5 i
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
3 ]" i0 Q% S* b, P! h# Ну или просите прикрутить SSL.4 q9 W) D: K0 o" k/ I- B
#================================================= ================================================== ====
4 f, E# G+ L8 |8 b) d* b0 Z* @: O% L% }0 N8 `
; a: n& {, a! R# Q
# Включает/отключает геодату и поиск пути.4 y t5 c8 M5 Z, [
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.& j! C+ Y; s& V) ]
# 0 = Геодата отключена.
) |: s2 r0 L' b& k" Z" c# 1 = Геодата будет загружена в геймсервер., N7 x# `; w4 I! V) h, }# c# O- Q) G& m
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как, x! i% G' c* o! t$ y. U' |0 Z
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
) B$ [6 y+ g+ K# ?: }6 F# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
5 M) _; ^& x5 U" J K; R# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока." d# |8 k/ T9 N- `7 ^3 E# F
GeoData = 0
4 p6 \, |; n8 F+ ~3 A9 ~) n" `) ^8 ~. h5 c- p
+ c1 I" d; U+ X0 S6 Y0 _
# Хост для сервера геодаты.0 p. u$ L6 B3 ~. x1 P
# * Забиндит все интефейсы.
& A4 z4 {5 Y7 K3 a6 \# Игнорируется при GeoData = 0 или GeoData = 1
! i1 m/ p/ ^. z+ N0 t, JGeoServerHost = 127.0.0.1
; D9 f! |2 ~, K4 ~; h/ N* z6 G& ~2 @
0 l& C- d6 R! g) m# t( _1 W% X/ x( b, }
# Куда будет пытатся коннектится клиент.$ n. W3 l- I# [1 t) z
# Игнорируется при GeoData = 0 или GeoData = 1
# ^& z! L2 M. Q. `7 kGeoClientTargetHost = 127.0.0.12 g3 O$ j( h' H& r
3 n4 e( f4 T* @. _: f
) j5 J1 L7 a; S* E- E D" p5 v# Порт для геодаты.4 m) l# Q$ {% M D( T
# Сервер откроет на нем сокет.7 D) E+ p3 e" ~
# Клиент будет пытатся подключится к нему.
$ I- n. e8 V8 C+ l# Игнорируется при GeoData = 0 или GeoData = 19 ]! c' o7 S' p" x
GeoPort = 9050
8 s+ F; o: [6 l9 U) x) K
1 D+ n6 n1 A! W5 ~' t3 ~, I
2 q2 F8 _6 e0 R k6 a! A# Сглаживает путь.
; j% o4 s& C, O0 U# Стоит отключать только для дебага.
/ K7 \. B! e# S! ?- `PathClean = True
2 {1 @; g7 i2 A8 P9 V( e1 s! P0 p4 C0 a7 A2 X
N1 u3 Z i$ H. _5 }
# Обрабатывать ли двери в геодате
- v0 R- p) G2 o+ a/ ~# Настройка влияет на ГеймСервер
* i) |' u+ E4 y0 ^2 }8 Y3 B; ?AllowDoors = False
( O) }1 U6 v x+ {, i$ ^$ [3 M* Z( ]8 i7 \
2 _6 `$ h) v. ^4 {2 {4 h& ~
PathFindingBoost = True
+ x4 b( w( R7 sPathFindArea = 250
z) ^1 v' x, m, j) n4 v& tВнимательно читаем,нам нужно это:! Z( V! o) e, O1 ~6 r+ Q
_/ ?: H2 L; e$ W- G& b- G- ]
3 _ u; @! m2 g( w7 ?# i8 n( [- @
8 ` ~* b* j8 m# g! {# |6 Z
. d2 }6 a& l. v( K: @# Включает/отключает геодату и поиск пути.% \8 Q) W8 _' d1 r$ D$ p: r
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.; p3 W5 P$ L* L6 v2 |4 q' h. J
# 0 = Геодата отключена.* q/ s# m3 B8 ^/ j O# a
# 1 = Геодата будет загружена в геймсервер.
- K8 ?7 i3 k% B% p& [. u# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как7 K$ f0 w9 s% O( k1 H3 }, R2 h+ j
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
7 b( x+ q3 f# X5 Z# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,5 M, Y/ H$ d' `+ P- o. A
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
3 c' V7 g0 v7 v3 S) iGeoData = 0
# r2 q* E' T2 D
. A& d. ~" `( E1 l* Z6 A0 V3 \$ i0 q
; z1 Z; N' C, w/ ]- ~# ^- u9 K; E1 D
. }8 v' O% v; v$ C5 |8 gВ этом параметре меняем 0 на 1.
0 W/ }7 x/ |2 w# d- m. m5 @' Y) `- C2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
7 E; |( F& [9 {. n# Хост для сервера геодаты.& ]( P: b8 n- N$ O. z
# * Забиндит все интефейсы.$ r. a; A6 o! X! J, _ h2 g! b; K
# Игнорируется при GeoData = 0 или GeoData = 1
2 @% L' X) ]! c: @GeoServerHost = 127.0.0.1
& w/ r9 Q8 L+ X4 U4 w
# n: r# t n0 ]* L: r2 w4 O' O! m) I" S0 J# ^3 \' y8 s6 P
# Куда будет пытатся коннектится клиент./ B! `8 O; D/ z! I! p; S0 T
# Игнорируется при GeoData = 0 или GeoData = 12 [+ u6 w8 S( Z* g8 R; Y
GeoClientTargetHost = 127.0.0.10 P& y& W0 t/ r! E' i
7 ~) L. ?9 U3 [: r1 _$ c$ p" ]
) g7 s# Q( e/ f6 v7 H% T4 F
# Порт для геодаты.9 T8 c% k" b. P
# Сервер откроет на нем сокет.. P( r' F/ M8 {
# Клиент будет пытатся подключится к нему.
0 ^8 O* V- u2 W8 D T' f v+ Z7 p4 \# Игнорируется при GeoData = 0 или GeoData = 1( P; t8 @8 S7 g3 Z, c* K r8 H
GeoPort = 9050% q( k! h. ~, P4 U* b
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
2 ~- Y4 I% _# ^# T/ Q1 a$ z( e ^; [& J3 x# O$ v
9 N5 s; F- D6 o8 a7 C1 `( N/ G `# b! d, n( E, I
, K. L+ z; |* w7 B/ r
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer* z, g8 U! w7 _2 Z
: C! e1 c! k9 G
. V6 O( ^' E/ w* ]5 Z* ], M- }& c
( j+ Y7 K0 E7 X4 m1 vДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
9 ~$ w6 w* _: ]) l T% n Z+ K/ J4 r5 _
7 x/ g4 x2 R6 G- |/ S$ {6 y4 e7 }3 d3 p: x
- O* `" }7 {6 P; j& R% S/ w# Обрабатывать ли двери в геодате8 k d. n8 |- v4 l
# Настройка влияет на ГеймСервер6 ^* w) L7 r8 F; a* ~! l6 b
AllowDoors = True! H5 t9 F! B9 x$ _8 L
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.9 d+ r: a* K# N' X3 B3 ?
Пути размещения файлов геодаты:* G' S$ M7 G A6 z) b8 E
& J6 D, r8 A2 }4 z& Z9 I/ w
o" Y( {& ?. b0 h( K3 _C:\L2jServer\gameserver\data\geodata
m1 l) ^ h1 g6 ~$ K4 G0 f3 g0 V$ h1 T3 D% I2 M7 Y
5 I0 \" G( N! X
' K4 k$ W/ ]1 F6 p. n1 L
# _) X, ]6 X4 h# f. B- e- Q0 [
И патчнода:7 F h; y/ z. m, y" }7 t
- u, w/ D" \2 H+ F( O. f6 t/ y3 r9 \( r" B4 ^ u
C:\L2jServer\gameserver\data\pathnode8 b. V6 h7 ~" J6 f0 q) t0 f. W3 k ?5 j
; ^& Z* O: }: F8 x, W' ]: x2 g e3 D7 G4 l5 l9 b. |5 i% i9 E/ k1 W
; Q8 y5 }' T" V% g' L) C, i
8 `8 ~8 n7 H: [8 X0 S8 e8 J* s5 RВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:) M6 C, Q! h2 |8 c. K* v* m. B
* o3 @, w4 k, j' J5 o$ {4 R0 K2 k! q7 a" E$ l: D. X$ l
c$ \( u9 p2 z! P9 Q5 ^; @; J3 t+ C3 W) p2 B+ F
16_10
, j$ n/ Y `; v16_12
5 q' U' {( N- l9 b& M9 K5 v16_18
( U- s$ f+ m1 n4 E% L I16_197 H. j2 M& a( ]4 {
16_20% J- b5 w0 C0 F$ {, }( X- _' k
16_21& v; ^% y$ ]- Z4 i" k8 K
16_24! ^; U- M3 I7 m3 p. @5 ~0 |
16_254 q4 ~$ }7 J; g; e: k2 O
17_102 j- e& ~/ i: Q3 A$ [
17_112 u# J$ J# ^7 B' s6 t6 [
17_15
* _* P: j/ B6 W9 ?3 J8 K17_16
4 F) b0 n, L- T17_17
3 F" K" R7 m7 I+ G17_19
0 G' i+ Y0 f2 [: ~0 ~+ L3 ^5 F17_20. l; B1 X: t2 V+ ~% w0 ~! ^
17_21
0 }5 U& [. W G- T5 b- n+ D; N17_22
+ H' F/ b) u5 P" `- A; X G17_23
" f5 D4 r1 ]# Z$ V" _& R4 w1 ~17_24
. d6 a3 m( u8 }' a17_25
2 y$ m8 B; K c5 O' }) `% I, v18_10
( b" a# s5 ` R7 ? Q/ V' b; [18_11/ J0 r8 `, ~1 E
18_14
; v7 L$ H1 N Q& A18_15$ }# |+ \% j" ?. [: o7 i* O
18_16
" }" I2 ] r- n' G/ S& ]! Q18_19$ v. ?) c- v3 |
18_202 S/ q* C* L. ]5 ~/ W7 {5 c2 o
18_21
, e# A+ n" |7 L& z18_22& ~& g' H" ?# Z6 n1 U2 \* X
18_23
) t d8 u% B3 e) h6 e18_241 B5 I) Q+ I: X; U4 {
18_25
# ^( o1 @; d- U19_10
0 a' ~7 z3 g# C3 ~2 d ^19_11
; r0 ], \: @# v' ?19_13
/ y! N7 g6 H: n+ ?, R19_144 D C ~0 z- t
19_15
+ Z+ z. x( k+ m ?9 B19_169 P' b y- m7 ?' E) T
19_17
9 D/ {; ^1 _. E4 l0 O19_184 e, F2 w |4 z
19_19
; c. |8 t% I) N" P( ?! U$ P0 b19_20
$ t$ m2 a8 E: A19_21% P* `/ Y' i% y; y& m8 A C
19_22
+ x: L# N; F! w7 r19_23
7 h% V% i+ A2 z19_24' |9 g* t" G/ s+ \
19_25
+ J1 o, m8 ]1 |+ V* B# @8 d19_26
+ r" E$ V0 a- ^: T5 C20_10
; L7 ?+ k8 U# m8 r3 ~20_112 p+ x7 r' E l$ I- ^
20 _13/ @8 c @. {. J3 O
20_14, _/ {) X8 B5 W$ b
20_15
! P* i$ d5 l8 D/ i! `* r20_16. ~1 b; g# H4 [1 ~* w2 n0 B
20_175 U* {- P- Y# \; j: V, L
20_18
; n" f8 F3 @$ f7 f! Z20_19
+ u* t- l( E* b20_20
0 Q/ R8 B$ ?9 ?, f) B/ a20_210 @: Q( G8 Q$ m" r' q
20_22
) a Z( C" |2 o9 x1 ]1 r7 d20_ 23
+ t5 P$ Q: t6 Q2 O* U( g20_24
# ?" F( i: {6 d' a; _5 Q( q20_255 X+ v4 I: D7 m4 b. _3 M; ^
20_26
: J3 V+ {' H4 E" Y; @5 e# D6 w+ _6 w21_11
7 a8 T( X9 \/ i2 J$ e21_14) h9 i. l& U+ V6 m% ?* j! m. _
21_15
$ \3 A, F* g3 z0 Z1 B21_162 U& k& J' Q# \& ]5 [4 H, p) {7 w
21_17
( G% n2 V8 R2 K) [21_18
. K& E( ]! o: d% K: x9 g( X21_19
1 L1 ?! D& C3 _3 n. m1 t21_20
( `0 B6 G6 u0 z/ P9 K! ~, L9 K$ h5 Y. o21_21
9 y; P" Z+ e% i5 K3 U0 l21_22
* E& m5 A& x3 q6 x21_23# A ?) s+ H; s# {. Q/ p; Q* l0 g0 ^0 l
21_24# a3 E5 ?; ~; ]( P w F3 K
21_25
/ w* H* v' A8 [' C$ b: l22_138 s( h$ j3 Y% _! ~; s5 E
22_14* h# G. h `/ V8 h7 i
22_15
8 [3 I, X. y0 g+ J/ L% @22_16
* u: h! O- f0 t; f; a( b) ~22_17
- o( d: P$ C; w/ [22_18
* U) i, E2 ^: {' w22_19
, y7 z- |" r0 k22_20. l" E- ]$ Y4 L- J2 W* Y/ i% {
22_21
% N* [6 l7 F% ] A; y7 ~0 {22_22
; v# U2 d' t. ?: o u( v22_234 `8 q- E. S, g
22_24+ _. y7 l7 ^4 F
22_25; v. p2 R% t4 J9 D% K
23_11
& R# t/ I: O( y. A7 n* P23_12
# }' D0 H' O r. e1 [23_13; Z8 D* L0 e! D. l
23_14
! O& ? Y" y `9 N$ q23_15
( a, g' Z. K8 A- w23_16, g- \% B% L5 q; K' A
23_17
+ Z% o9 J% ], }( N& B7 Y: o23_18
" \4 c3 b, w: e( O' \* ^23_19
. H! V# N6 ]# o1 W; s a23_201 ^1 J# U6 F# k9 H9 z% }) V o2 z
23_21
' z4 ]$ R+ M, p23_22
2 [% L6 c: r+ r) [" x+ i23_23
# S' H1 {9 r( [- v ~23_24
$ n& \1 t" c/ C; d% A0 u23_25
3 [9 z: ?/ N: k24_11: y1 _- j+ g% m* C) \; `' L
24_124 x$ R# e7 p8 l$ A6 z
24_13
`4 E1 {% p/ u; S& w24_14: o' q o& y+ @6 g& |: U3 n
24_15) q3 r1 c$ _, }: h3 b" k9 D3 \7 i
24_16; E: f* i8 l+ t
24_17$ |' L3 q+ n. a; j
24_18" E% V" F0 O+ w8 {
24_19
: M8 P5 W7 L/ d2 ?- D3 Y24_20
0 G; Y6 v# M, w5 L p$ a7 G24_21% h9 |) |0 b4 V( Q6 m
24_22$ f1 r+ a# `3 X/ K3 F, ?0 `' X
24_23
& Q f5 A I V24_24: e# Q/ V* p3 J, q9 D6 S% w4 u
24_25! I' Q1 Q, f( ?; x0 S; H
25_11
) @% n8 f/ S7 K" T. ^6 f! X, a F25 _12$ v- Z* m" k x( h( {* U
25_14
+ o" Z& a" U$ @9 f# a$ L25_156 Z2 U' k& l' W! {. ]) k+ Q b
25_16
, u. Q5 s/ e" @. ^+ i& ~25_17
/ i; o* i1 c- H0 A( s8 b6 M25_18
% s& Z' ~- Z( I T25_19
6 _1 d3 x4 z( `7 q# u25_20
% Y; u, B3 _, y0 n' a t25_218 H' \$ ]. w; s3 {
25_23* O" ]1 h7 m# b: {
26_ 11+ y9 G* Q4 p6 P, o" R
26_12. z- ^+ }# E* U" x. [& Z) F
26_14* @6 q9 U, h! C" W! S/ P' Y5 ^
- E2 \3 [# z7 A3 W( O# k: ^# X @( \% F
8 B+ t0 u5 k% O3 J- I& m, b4 m4 z
- l2 e# R1 F6 QВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.2 G$ y/ u% U8 e7 ~) S+ Q: s' p" e
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
! m+ z; D; ], ?$ B3 U4 u- S; R#------------------------------------------------------------- --------------& E) x) E X& C3 x8 \
# Geodata1 _* z% o, l) t" T2 @
# ----------------------------------------------------------------------- ----; Z" c: B% m& N- S+ G+ B+ i1 ^
# GeoData options:9 _0 h+ v# |) m! ]# r7 W. h
# 0 = GeoData and PathFinding OFF (default)
6 v& g' U' h3 Z# C9 ?# H# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
, U9 C j" m# K& t0 D" @1 ]* ]# L2Playable movement. You need to download files for data/geodata folder.. w0 i7 A ^1 t q) R$ U$ {/ }
# Monsters can pass walls but not aggro (no line of sight) through them.
5 n2 W4 d0 h# R0 T# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode p+ d2 U9 t: |
# files if CellPathFinding not enabled) and all character moves go through
z7 j' ~# U6 z5 f3 Z+ u6 p# geodata checks (if a mob passes a wall, pathfinding didn't find a route
4 @/ w# C3 d: x/ Z# but we allow attack and returning home). W7 m5 U& S) b. N
# Recommended server memory minimum 2 GB, rather 3 GB.4 m/ h1 [2 I9 o
# Default: 0
9 u, h! I9 D! bGeoData = 0! e2 o7 c8 G6 H9 l Q
" Q6 a A! c3 k& {: M
. ^3 H$ h# }) w* G7 h( b0 h# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
7 F. ]/ t& B1 o, s2 ^# 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.* y& ?* ? n1 |2 `; o' s$ s& N
# Default: False
! ^$ L; L X- j7 `CellPathFinding = False' J- \0 R4 q. h9 I3 g) ^
% x& w9 ], q R. D% [
1 C! O! {/ z' f. I2 o# True = Loads GeoData buffer's content into physical memory.5 t0 S2 G' `: @! Z$ F
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.* S, n: h' ` b; x6 f( f
# Default: True
5 w" M! w) I" E* h8 OForceGeodata = True
; z8 B4 ~0 X0 [; |2 r8 u6 B, o( o6 T7 o$ }0 x" |3 P8 [( W
% g1 l( T; _6 V) G3 K$ S; g( X3 Z
# This setting controls Client <--> Server Player coordinates synchronization:. y& i% z7 |# H
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
$ ]/ A1 S6 O, \; b9 `" [) ]# z5 [# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
+ W+ g/ s4 q" T* C6 |( w# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).
+ @1 @; W( e9 S* ^4 E( M# Server sends validation packet if client goes too far from server calculated coordinates.- d A( D4 r- w8 {8 s x
# Default: -16 Q% K9 f. P) d3 p w
CoordSynchronize = -1
, }& |6 u0 v- [) X
9 w3 N- [/ |' p7 H5 R$ o8 v9 S3 ]) K- h, f
3 q% G9 m f5 [8 H
* q& \% |: A4 H4 T ]3 dGeoData = 0
3 T; \3 D6 h0 @! c) J# z0 {3 E8 n
6 p% S5 U' e3 t" S9 G1 ?
3 F6 T. }( n' n. i3 [/ d* S9 J3 |. a& p4 V$ c5 B z
+ ~: J: f7 ?0 w* f H0 [Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.. ^0 E, K' |! K! A4 E6 _- A
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
$ [9 U% ~) e$ m8 c& c' _/ a
( \- e! a+ F; S$ S3 x* T4 u: K/ M3 s+ Z* Y( X& a2 f
z6 p z4 c6 ~+ j
& z- s- U6 B" C
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
6 z6 I, k& o5 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.
* h* e: B3 V/ ^/ B# Default: False: e4 }* n6 ^ J2 R
CellPathFinding = False3 M, j# X1 P+ p
0 Q8 Z( i! w6 p0 |
& e( [% ^: Q& H& p- c; i& j, n) l9 K w6 @2 }, ]2 f
8 Y; w5 V5 y' M) uСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.( P# o/ ]* H: m8 ~2 w7 p% d9 D
Пожалуй всё подробно написал, спецы дополняем если что то не учел.
; b) o; ~- z& Q3 w1 M) ?7 F" n4 m% J, W! t+ b
9 B% B6 E ^! @7 ~3 N9 T0 \
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
9 E! \: c5 Y9 J4 ^8 |, f& c9 e
) u$ |) S& X l5 I3 P. U- ]2 RИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.) c( x7 E% z7 p2 @
& [& L3 q4 Q& P7 x9 B
|
|