Хроники 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
( L6 ~7 J# r! S/ uСборка L2 Java
8 s+ w! S( g& g+ ?1 R6 E& h! u; x" V# I r8 V
' h5 R5 Q: Y/ e: qДоброго времени суток.
3 `1 e( t% Q# u" |3 X9 L4 I' G. } s n6 x5 F6 `. p
8 \3 b$ b' P/ `
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:6 X: T" S1 v4 N6 `0 W
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.2 s7 V4 W) f: X
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее." T: f5 t) f! U' g" Y1 n" T
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
1 a0 Q5 C* X& P) f% H) y d( ]- m' l8 O! G
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
, v2 _) r+ C- v9 u" A$ P n
7 f& J# f. I0 Z' I' \
2 g$ F3 m; o( |& l) Y; c3 w1 w3 oНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
/ p# U! c, D' A0 GГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
- _# m7 E4 Y" {! YРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
! w; t$ F G% @6 Y" o! Q" k) V3 [) zУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
" m4 s- r g5 l+ s+ k7 M& z: t% o# P" K: @) k1 \# a s
1 z) t4 R, L% g: L+ d" G; f9 `
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
- E$ o! s. z7 y" oКоличество файлов пачнода должно быть равно количеству файлов геодаты.
% r0 [9 Y* W4 V. A' S4 lЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
& h) p7 c2 ~+ e9 C* Q6 BТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный. z c; C/ \& i; S% ~ ~4 c: c
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
. R0 f# {+ g+ W2 t, n2 |: j/ P: [Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
! ^1 i# o5 I' b: S2 TУстановка геодаты на сборки без пачнода (Rebelion):; D# z! H) ]0 G
Покажу на примере L2Dream.
* N2 _: T2 ~9 P8 H- x2 NПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
2 U' o4 n6 j& P1 @ f4 e4 e
* c, a1 _( p3 L! q# E7 h
6 E7 j* h; | h, P hC:\L2Dream\game\data\geodata
, G, h. ~4 u3 W6 ?8 ^; A1 q
# E9 H3 [( G) _5 @
) A: L7 O$ y' I+ J: O6 p
2 V2 j; @, |0 Q
8 B+ h6 K* G+ {* [8 v9 k1 _& Q% {Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.4 s" {& q/ o; \7 [: _
Настройка.
( S6 B- p% w9 [/ V z: d1 uИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
4 v1 Z( W7 s4 U j7 w* S# T#================================================= ================================================== ====
2 U* X( E+ A8 Z; ?0 x5 o3 ~# Даный файл является конфигуратором геодаты.
2 A# U9 D. f1 q; X6 b. L @+ y#
% E. h6 q+ w8 P p0 f( O! N# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
" ?, r' U7 e. N1 _$ [4 K" B: ?0 S#
2 R% S. F4 _. T* g; k& Y# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
) r- p- l" g6 K2 t9 ~' m8 Y: s+ ]. J6 X# Если у вас мания взлома, то закрывайтесь на уровне операционной системы." v5 `, r4 u% X6 d( _5 K# u
# Ну или просите прикрутить SSL.4 j: a5 X1 A. f1 s% V
#================================================= ================================================== ====, t5 Z$ E7 ~8 {3 t! Y
( k' B4 K T# T% ]; D& F
+ b, K2 A+ |6 d. Q: q- H; z
# Включает/отключает геодату и поиск пути.
0 S- U9 o2 c6 o# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata. k! S0 H, z* N2 q4 L5 ]! v0 j
# 0 = Геодата отключена.
( i2 S" w# |8 V! T2 I# 1 = Геодата будет загружена в геймсервер.
" Q7 D j# h* k M8 |" d! G# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
}+ Y" M& j7 w, T0 B/ x8 P) p. t! \5 ~# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами3 i4 f9 ?3 ]; p% d& m2 Z$ _! X
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
8 |- ^; o% {# u& u( l7 f. K5 }# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
! ~( P5 ?& K& oGeoData = 03 Y1 w+ j/ P" H
4 Z9 ?$ h. r. ~6 \! h, M+ f. w- ]: z3 P
# Хост для сервера геодаты.
1 H% \2 K" a7 }; N0 K; {5 h# * Забиндит все интефейсы.
9 v' A2 J! E; B$ Z0 ]# Игнорируется при GeoData = 0 или GeoData = 1* B/ e5 E! [4 d) T; U$ i* o% X
GeoServerHost = 127.0.0.1$ }# ?* B! @' U: X# ?
2 I* e4 y% s/ Y- h) X) F$ Z# c9 A, U
# Куда будет пытатся коннектится клиент.+ M5 Y7 u- h; t' o, V- C6 H
# Игнорируется при GeoData = 0 или GeoData = 1$ g i' J. {; W/ t
GeoClientTargetHost = 127.0.0.1) C3 N: T( v$ m; J
, h$ n5 n& B& L
6 f# M7 v ?1 G# Z% P$ i# Порт для геодаты.& W2 W) D' \/ r6 c7 @
# Сервер откроет на нем сокет.
i. w$ i& B) z0 ~2 a. U' f9 @# Клиент будет пытатся подключится к нему.$ I+ f; Y/ d. r$ y2 y# C
# Игнорируется при GeoData = 0 или GeoData = 1# p8 n& i, j8 R' I
GeoPort = 9050
, w( n2 v7 ?4 h5 r, @" _5 n! ]$ P, W1 H/ ^
) |, I* P% x6 r+ V5 j5 I, D/ \ {
# Сглаживает путь.
% o* Q* z1 g& N0 o( _# Стоит отключать только для дебага.
~0 f# w, U0 O2 cPathClean = True
! M; u! [& _4 ?) }: y0 q1 F ?& t9 ]4 }, s t" o. ]" E
' L/ i, _3 w+ b0 _6 i8 n# Обрабатывать ли двери в геодате
, d2 g u" }: I: n! Z) E* Q3 t# Настройка влияет на ГеймСервер& a7 }% y9 [2 S% [0 p( |
AllowDoors = False0 u4 @6 L7 u2 F+ u8 x' B @
: }3 p* _3 F# r: r
" u8 `( U' V" x7 r9 p m7 C9 G
PathFindingBoost = True0 U4 h/ P1 N |( I! j. e
PathFindArea = 250* S8 l ~4 B) A9 L; X1 R! J
Внимательно читаем,нам нужно это:
+ ?+ X9 @7 }5 R/ D, `) M; a2 Y5 p
: t0 \8 ^; ]1 E8 i- y# W6 Q; `
8 c: L0 C9 g0 l6 l
+ I( x+ j' I8 W1 t. S! P2 r$ _
- x' G# l% e7 }, C# Включает/отключает геодату и поиск пути.
. k5 A3 O. _' C3 p# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.7 l' K! V: X3 p& m
# 0 = Геодата отключена.
4 u5 R: z' N, a* ?0 v8 q0 u9 E9 U# 1 = Геодата будет загружена в геймсервер.2 O1 {# V: @5 M3 z- {5 B/ L
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
% _) E4 X! R) c! W% G8 r' C# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
Q! F: ^" Y: B$ N- l9 o ]1 W* A# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
/ F8 }, }: D" O5 `7 ~: i# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
8 a% ?, c# z; N% rGeoData = 0
& o1 R4 z8 V! w4 B0 J1 T
0 @' o+ e6 n, Y/ ]. k
3 w. {8 N" u: s' x# x5 N* ]" h
# G% s0 l( j$ N: X3 ^7 q2 ^. t# C3 Q" {/ Q
В этом параметре меняем 0 на 1.
9 i. F# i; @6 a3 V" `* F2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
% @8 [" A* x6 S7 O% ^# Хост для сервера геодаты.
9 e* Q: S# b- m/ Q: H# w# * Забиндит все интефейсы.3 Z5 h6 s3 v, \+ ]! l1 Y
# Игнорируется при GeoData = 0 или GeoData = 1
. l" e! n3 B- p$ P iGeoServerHost = 127.0.0.1
+ @. O6 B, ^- F' u' g
- X6 G( m% ]" J2 E1 X; c4 b& [0 [/ t$ B& P9 k& b4 J+ Z" w
# Куда будет пытатся коннектится клиент.
j6 u e& J1 Q# l2 F! y8 c# Игнорируется при GeoData = 0 или GeoData = 1
! Y) M& {7 p* p4 pGeoClientTargetHost = 127.0.0.1
7 m, }/ H& C" j5 Y- ?& ?2 i) }/ ?/ L, R0 `( \: J" h! |
& D \- l- t( @& j# Порт для геодаты.# p2 W1 n+ Z/ e: l0 I
# Сервер откроет на нем сокет.1 K" M. o. |% C% p9 Y* r& K
# Клиент будет пытатся подключится к нему.; v) E9 u/ F+ x! S# e6 {
# Игнорируется при GeoData = 0 или GeoData = 1
5 e/ E5 m* _) f/ {GeoPort = 90506 k: i9 U+ B7 w4 ]/ m
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:: e- k- f/ W( K7 N3 [- w
$ w# L1 r" U+ i$ E
3 @7 j: i/ }% @8 W
5 q& T0 @. p ]9 n: S& N& I$ Q9 [1 S$ {0 A6 g9 h
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
1 G a+ ^( f! @+ A0 F. s) v& |: }5 H% ?5 K' P; v: d
- E0 |0 r4 J3 ]) |* T! ?: h8 \- ]5 o
. U8 G3 r8 w6 a+ a; p2 }
) Q3 j! f: ]; |) H) AДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:# d: X' w5 |# j1 _& m
! i+ H8 R( @% D9 o2 X* d2 X7 @
b; [( }& C1 B( L: l. L# E* `$ z; T( E! Y9 }$ p, z; `
- O- V T# [4 o5 m0 S% B% G7 N( s# Обрабатывать ли двери в геодате* _# r, x4 }. `7 l/ d. p
# Настройка влияет на ГеймСервер n6 q7 W$ x& V; b: V
AllowDoors = True
0 C1 v" M N/ k, e4 g: H6 ZТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.& {6 }+ `& F0 O: Z2 ?0 U# x+ r. r
Пути размещения файлов геодаты:% B2 _3 j9 G% T/ S# H/ ?
* E, x0 x( ^+ R$ l
; ]; ?; l: \2 B! [9 _9 [# n5 A: TC:\L2jServer\gameserver\data\geodata
6 o9 ^- _" {5 ^1 L4 C4 h7 d$ Q' d9 F8 w9 H: I
6 W1 W; z: j( O+ J' [! B( v( N3 `
) r3 x8 M9 Y9 V$ e$ Z! W Q1 R9 D5 M, y, G1 }# m! Y# Z- ]4 f- N
И патчнода:
6 ]! Q2 w3 x# I' \! h1 f, C. j, m0 s( o
3 X: p) u* ^2 t0 `) }
C:\L2jServer\gameserver\data\pathnode
6 C" j( `' e& Y0 X& y0 w; |# e( B: e" x; S; E
) |) _- M v( f: N/ }' U
! J7 p+ W/ m0 e& R9 {% ^4 x$ ^7 u- W- a; O# [) r
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
; x9 X9 D9 n, i7 _0 u/ {( m8 ?6 ?
; M( D/ `$ i( l* c3 H' J2 O6 W2 q$ T7 j; g3 q3 N
6 P( @# I) p3 k b9 V% s3 a4 c. n# W
% d$ z3 |5 `' G. P3 O
16_10
8 a( h; k9 _% d16_12
* K! Y& ]* V; j1 |# h/ U16_18. f; r) i t z
16_19
) s: g, I' F) t' \: K1 c- ~16_20: ^( J: ^6 `. b8 _* R
16_21
# G, T' Q: Q, Y! X. K16_24
* z$ }3 {- o1 W V! t16_25/ S z! V5 a. P9 y4 Q
17_10' Q' {% A1 a0 P: u8 ^ c( Q
17_11
9 F0 D4 Y% b2 V6 p0 d17_152 t' r& V& }4 D' u$ Z* V
17_16" X/ W/ z( J. ^5 F$ q( W6 K4 ^+ x
17_17
: A$ t$ A# G& X- z/ l# K17_198 n4 s! R2 x& T1 M5 u6 R6 d
17_20; `3 |8 ~) q$ U) ]; b% |, K
17_21, C$ U0 U* H; H" T* A% w
17_22" {, S; |# q% h. a. m
17_23- U9 }7 }! e/ N( ?+ y$ U/ W* R; N& p
17_24: \: R, A. h) {" e; B- ]
17_25
/ j1 T* L6 H H' l2 j% F- p1 @ W18_103 {1 b$ W+ x: s9 m( O
18_11* ]# p- W6 c7 D
18_14
. ?$ K5 @1 O/ K& Q% `18_15
) Y. T2 ~- n; Z% x+ j, W18_16
, T. @" K8 A7 G, u18_19
7 X @! L2 O# u' \18_20
# [$ m9 Q2 ?5 K, D. p18_21
# H# q8 e& O M( V& b( a18_221 y2 z2 M, q4 z2 m5 D, t: E5 J
18_23
' B: W( n* ^6 b: u18_24
0 S+ J$ r3 b3 }7 ?5 T1 B8 N- D18_25
7 j$ D4 u# D! P; U. Z& E- T19_10
3 G8 N' f0 o6 b; ~& \: J9 u19_11
8 C- ~, K( R* Y X6 {: d8 [" r19_137 h( j- ^* z$ p/ j
19_14( ?- e j9 i! x" _, n" X1 X1 a
19_15, S& K3 o7 g0 a$ A y5 P6 V
19_16
' w8 @( c1 q+ x# K19_17
) M' v% \, ^0 Y0 h19_18& |7 V- Q: s; ?; u( ^. A A( I G9 G# i
19_19! {3 I! u% I5 E# g7 ~
19_202 a* W' n* B' ^* t* T! V
19_21+ L7 @8 T3 {) s* E
19_22' ]' [- O7 Y, v
19_23, P7 Q( a$ y5 ]- h' t
19_240 N- F. z4 n/ M5 C6 e! r8 k
19_25& W9 K j- C* [3 f! j2 w' {
19_26
% H' D! n4 W. q. |! H1 O ~20_10. A: _* S( p! g: Y
20_11. |$ r x; F; j9 u( s0 v& P
20 _13% w) [& s4 x4 ^- ]0 V, C
20_146 E" s8 z2 ~; c# r/ {
20_15
2 \& i) X& h6 K3 \# v% n20_16
# ~: z# \. J7 X; z* e/ ~20_17, b& K# J5 e& V6 ^5 d8 v# n
20_18
$ U) R: _: F$ V9 T. r6 {) m _20_19
$ C3 |, n4 R# J( G7 v/ H" B20_20
/ T. |5 a: S3 ]1 r6 j% [20_21
0 A' T X# ^8 N20_227 w4 E2 S; |) r/ T6 L
20_ 23& n! u5 L5 e9 j9 W
20_24. T+ Y; _- H# C8 I( E$ j
20_25
0 s: h( x$ t9 @# u- k* B* n20_265 K7 x: n2 \' H. H2 z
21_11
5 R, k1 f4 u( L# |1 T, A! ?* X; |21_148 C, { O* C: }
21_150 m8 o; W1 g! ^0 l2 [, h
21_16; Z1 f/ D% @, ~8 ~% Y+ [6 ]: R2 R
21_17: ]. ]7 ^$ J6 B2 K- B
21_18
# n/ W8 H/ e1 Q0 y( f5 w21_19
9 B5 k0 g2 A" J ?. M9 v; c/ Z21_20
T3 `& q6 K7 g21_21$ J$ H3 F; ?! J1 P
21_220 ?5 }! J/ y( w* v
21_23
4 K% W. @: R( _& _21_24
' f+ x4 n) C* Z, U \, R21_25! r4 ~) J1 v8 h% f' t: x
22_139 o5 k% l5 K" {
22_14, v l! K, `/ j
22_15, T+ `1 @' |4 `; D) d
22_16
: d0 V$ y, e+ B, o2 z0 ~ e( P22_17
$ O$ R4 c# f2 }/ K9 t4 A: t; O, u22_189 }" E4 E) ?" [/ s
22_19
1 o* }: q- B/ x, K- _/ _: s22_20) x( k. ^$ w# @; J% p# F# \
22_21! }6 ~! F0 u4 B0 r
22_22
2 |# d/ z3 L+ | y$ H+ s22_232 u3 M6 j8 [8 M
22_24& h% ^& s( B& }" I. n9 @/ a) E
22_25$ C7 i& d* n) K6 u! r: X7 ? G+ f, [( q
23_117 k' |* M1 p$ m7 A8 g
23_12
" J* V4 o0 O! k- D0 q9 g( V7 A23_13
0 m( R$ Q8 h C# ^' {& G! w23_145 k0 k5 O y8 r7 f
23_15
! e, z3 m: i1 K: S3 f23_16
7 b' X% q" v f) Z& g) q23_178 B) I% K: Q- a1 S" K; y
23_18
% E* W* ?$ e0 ^" J. _8 z; C; g2 W23_19
6 j* H& u5 ]$ w3 Q% K" {5 s23_20: T! H; w# k: q; S/ @: d0 I" X; S
23_21% [/ a; _6 n) ^1 Y/ S! Y6 ]3 A
23_22* K/ u, ]$ Q6 l5 d
23_23
! q6 | \1 Q h) P23_24! a3 r: ^, _6 g: S3 ^9 p0 l) w
23_25
^, W) ^6 ]* c1 W' z- {! x/ t' b24_11
$ n y9 \. z3 M' R" \- |24_12
' ^( \: h8 q& c* z4 W24_13. _3 Y, ^: m( G! V) t* n# _ P
24_14
; u% m# I6 n2 c3 v" h4 M24_15( c, A- z2 R$ m& e3 E/ D' _" |: f
24_16
' d+ l8 z6 R; r6 a, g24_17
% ^& l; u+ Y5 ^) K4 m# o24_18
/ ?5 T- h" I: L24_19
. P! I7 T' x+ x- X+ q5 ]. ~) G24_20
9 u6 l3 K! [; t' f* ]* t24_21
8 a. W, s3 t; e( l24_22
( ]8 c9 o& I9 Q! P9 x2 L6 b24_234 w' d, o( L5 Q5 v
24_24
" `3 r& ?$ M7 I9 k24_25
) Q8 H3 T. u. V/ O4 L25_11
# u0 B: X+ f( a25 _12
; P( Q. P# t0 l( H, y9 x- G25_14
# d. K# [' q' q25_15! h$ R! d! L. c Z% \4 U& e9 {
25_16, b9 \. _( c/ P& y
25_17
4 J: T; f8 O" k- Y( t25_18
2 ]' q* O+ O, N2 z25_19& a8 S$ Y: T/ ]$ e) _& q
25_201 V1 E* ]; E4 d3 m) z6 P
25_21
# D' U* i; p5 B* R% [" z25_23) [* F' w# P {* z+ p0 U+ C
26_ 11
, A# J/ n: W; \( {# `26_126 o0 L1 G+ V+ b0 i: f
26_143 y. S, W6 } [
& B8 A0 n: y/ C' |" u2 g9 i: M6 D7 T
' y2 X8 y) d A
# T6 p: w# B) a( g/ M, k0 p( L
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.3 \0 S" {# x: O# k/ ~
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
- ?/ H( L# l/ }+ l; ]#------------------------------------------------------------- -------------- V' a" E5 E1 `3 I, G" ^: N1 E
# Geodata" `3 t' l2 x9 d( H
# ----------------------------------------------------------------------- ----
+ A4 a6 q7 H1 b* W. R+ R# GeoData options:8 M/ H+ G$ q" Z r9 ?0 y' n
# 0 = GeoData and PathFinding OFF (default)% ]' s1 |) d7 x- O( K) i% X
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
# u5 L! E9 o4 P# L2Playable movement. You need to download files for data/geodata folder.
, F+ _6 _8 [8 {+ g3 W6 Y$ k# Monsters can pass walls but not aggro (no line of sight) through them.+ Z3 Z1 m1 h1 i0 q/ `
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode2 A+ T9 h5 p9 t2 ^4 y4 e6 m6 P) f
# files if CellPathFinding not enabled) and all character moves go through
7 q, N6 J+ v3 V9 b) ?- F: C1 U# geodata checks (if a mob passes a wall, pathfinding didn't find a route
; y( R% k4 V$ Y) d8 k3 B! ^2 Z# but we allow attack and returning home).
% _: N- |' q9 m' V6 ?9 O# Recommended server memory minimum 2 GB, rather 3 GB.; A# i. m5 \1 E
# Default: 0+ C$ G% Y; }+ W2 n7 {
GeoData = 0
' q% f# z- h- y [& [ O/ Z
M3 K* ]8 y: |
1 f# D- j0 H- F/ h# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least." E) S4 k# q. D/ N9 M" f
# 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., \1 y8 k0 D1 |$ i8 r
# Default: False3 Z" D7 E) ?; @
CellPathFinding = False l, H- [9 y& |
# o& k- L" F O' p1 L0 t5 B% ?; P# H1 {! f" \- l v
# True = Loads GeoData buffer's content into physical memory.
5 g* V7 m% _6 s2 x" ~# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.: W0 {. z/ O5 o V1 r0 I
# Default: True( [: y. a E6 r( @. k
ForceGeodata = True: f% Y4 @- t# s1 H3 F/ @
: f7 r% G) K! @# k0 K" u) g( p. j% p
) [" [# J# U X, d+ L# This setting controls Client <--> Server Player coordinates synchronization:# O' X. O& {8 \. Q7 B
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.4 h% D% a1 W$ P6 X
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.7 i7 \7 {1 i; Y5 h1 I* J
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).% B' y+ s$ i' H4 U
# Server sends validation packet if client goes too far from server calculated coordinates.5 s" X) l( e# M" k
# Default: -16 \3 }8 c" R7 B5 {( L
CoordSynchronize = -1
3 g! c d$ }0 l J. z: X6 E, w& b3 {
# [! n4 U. d( U! X7 {( c( J5 C3 V4 d( }$ N& ?# p& l
, E* u' {" U8 J2 t, n" R/ `# ?4 p0 \
GeoData = 0" @9 I- S t: S% V
0 V5 p4 d# H0 J8 E% X$ X, d2 U5 ]* d+ x
; G$ z4 s/ }- } K1 C r
/ u; T1 A" q6 ~+ O. H! |( T/ @Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
7 ?. E! T% l9 @+ I2 n9 U% nСтавим 2 если пачнод присутствует, так же включаем эту настройку:
6 N' l6 W* _1 ]7 X) O# Q2 Z. G2 h3 [) X+ m2 P
' q1 n, [# u3 R2 i1 u i! N; B! q* F9 l P2 z' j' o6 }
) ?$ a2 ?7 f: v8 F
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
( B6 P) O8 j" \- S, n# 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.
1 I7 T8 T, e5 |2 t5 ]# Default: False: F; Y3 Q3 H1 P2 D* F
CellPathFinding = False
* R1 Y6 _1 A B9 \
' I+ G' S3 l* h/ |5 I% E t' h- H& [: m7 |3 |0 r
5 g& u) ]. V7 k: ] B/ O9 [; t
2 n3 p" j# }3 m' R: `' jСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
+ f! Q# V3 ]: `: M% SПожалуй всё подробно написал, спецы дополняем если что то не учел.
% v% N4 R% o9 I H) B$ G* ]
) k# u, p9 {) u, J; _+ I2 v- l, x- W( T3 K2 _
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.+ L: V- S3 L' n8 P r8 E- b5 @% q
0 v( Y3 J. P) [. {
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.3 l) t9 N& ^# d4 H0 ^/ f* K1 _/ C
! a, a1 Y& z# ^' z2 F" t! |% D* \( V
|
|