Хроники 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
4 E( M: e& n- z7 t& PСборка L2 Java0 [3 q: E: F8 [+ X$ s! e! n
' Q5 Z) ^0 b7 |; Z, a
4 [. H3 x( V' c4 i/ d9 o3 D
Доброго времени суток.) k( W7 e/ Z, f' @$ L( }2 |
& v, H# v' {1 g7 L
" k3 J4 W* W. k" x7 D3 V: `) IЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:7 c% ^* M2 o. G, \
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
% r; f) J" ~* b- uДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
2 f1 t( P% B6 Q2 Q( `9 d( {" @& dПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.5 T- f u+ w5 l# ]! U1 _2 U$ Q
# n2 _) A1 Y/ gВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
8 D9 R& q) B4 a/ G. `" L4 U
! r. ~5 _$ ]9 V( V) C! ~6 ^8 w. ^* ]" }0 c) L& y
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.' e% L4 y/ w# x$ f+ i7 \
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...) ?4 ~0 R0 o8 z. p& k! Z
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
: i0 K& R& \9 PУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.% y2 j: c* ~" L9 [+ K
3 V" ~8 W! U5 l4 ?7 p, D/ \5 u0 T% {
# U; z- f. Z- ~' OЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
! g, T; z4 e. r' V, k) N4 g$ @Количество файлов пачнода должно быть равно количеству файлов геодаты./ w$ Y) d1 p$ Y5 |- }
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
( Y' ]( M2 D! j- a; {Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.) I; r* o9 O0 Y7 b9 {8 @0 P1 N3 A
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
3 \& W3 Y( m+ m1 r! q4 e1 Q' M) {Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
5 f8 ~4 K. h. w; y) cУстановка геодаты на сборки без пачнода (Rebelion):
% J. X. G+ e+ O' [5 y6 nПокажу на примере L2Dream.
7 |% \0 i7 U8 q4 ?( x# U6 j& o8 |Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
* [: x: m: z/ F8 k
& x( V$ w: k* n0 D4 m
, U$ P. }& r" ]4 F7 AC:\L2Dream\game\data\geodata# Q0 p8 {6 l) O7 [
9 W0 \; ]4 b" v8 f% ~& N9 n
+ K: Y9 w2 t; }) E
, @7 V+ k9 b, x/ P" W
0 q, K) x9 D. i. a( n3 DНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.' U4 ~7 }% c/ o7 O# W9 F5 N; q
Настройка.3 D7 s. o: z* Z6 @9 W% f, ]' N
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:) s* `, e+ q' r' P2 y
#================================================= ================================================== ====) P; w1 C" T" C/ A) u0 m( U
# Даный файл является конфигуратором геодаты.
6 u+ E% c+ j) W#
, M( N; C5 S6 @; |. ]/ f0 ?# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты./ k* H3 c8 o) w2 j. Z- S) ]% F
#
7 E& s& ]0 [7 m/ \+ T# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).8 e. I3 m- ?4 m
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.3 y( ?3 o* F$ ?& e T
# Ну или просите прикрутить SSL.5 g1 g1 \: K* L6 l
#================================================= ================================================== ====
7 y) I2 A/ Q" J2 \
+ B' @& \1 F2 {' s9 o+ u8 A- F6 V9 I% a. P
# Включает/отключает геодату и поиск пути.; p8 @- u8 L: o9 H
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata./ X1 x! [& E( h2 ]) @( q- L
# 0 = Геодата отключена.
) v0 W) P8 b& Q4 `# 1 = Геодата будет загружена в геймсервер.
* K3 p+ ^/ p& X# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
& I6 H$ z/ ?: q7 H# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами7 c+ Q6 x- S y. E
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,0 {7 i+ m) m1 L' B' V
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.& `4 R: e( o: Y
GeoData = 05 P# M3 n$ V4 Y7 C1 p2 ~
7 M+ j% c' P( p& u; o/ i
* u4 v6 Q3 p% j g7 d6 x0 O: Q$ h# Хост для сервера геодаты.
) V# l' ?4 j0 R1 d- o3 Y# * Забиндит все интефейсы.
0 B) C- w# G- p2 k# Игнорируется при GeoData = 0 или GeoData = 1
$ ?' h; y0 x, r* l* MGeoServerHost = 127.0.0.1
8 P3 K" c8 W; C5 J
4 R- u6 X$ L) d9 [( F0 y6 Q
2 w3 f8 ]' ?8 T6 N, l7 O# Куда будет пытатся коннектится клиент.4 ^$ E. i. o$ f& f& B
# Игнорируется при GeoData = 0 или GeoData = 16 Z0 n9 `5 y/ K5 f o
GeoClientTargetHost = 127.0.0.1 B3 X4 L4 N( Z; o, g
f0 @3 x. w. s% ]0 F( h3 e5 J9 q2 v+ H
2 L. Y( T% K; C
# Порт для геодаты.
! ` v. g* z2 q; ?1 c* V' E# Сервер откроет на нем сокет.# y+ B" Q$ `, s. X' W9 s; a% C
# Клиент будет пытатся подключится к нему.
& O, k/ ?$ n. C1 C* a5 N3 B3 @4 S4 r# Игнорируется при GeoData = 0 или GeoData = 1* Q0 a4 x& |* H6 B! |1 @( [
GeoPort = 9050
* M( J2 a2 d0 q& e- `0 g4 A4 i, O) g% g' \
1 n( d8 c7 m6 W3 J: _# R6 ?# Сглаживает путь.& B. k$ x8 u. J0 Z2 x, V
# Стоит отключать только для дебага./ A; U! i3 j% a, i
PathClean = True
1 X( F5 M* h( f$ z( J `4 Y) Q
' c$ ?4 e$ ]9 }0 Y& Q* S& R6 O: \. }. X4 K) E
# Обрабатывать ли двери в геодате' G: ]/ }6 q. _& K- _6 X
# Настройка влияет на ГеймСервер
/ a, G8 S6 M! j( _* UAllowDoors = False
/ V: Y3 q) ]9 g' m( B% E4 I; {" Z& z% m" g6 W- j
Y7 V c9 O. c& T; D# f/ r2 APathFindingBoost = True
& p2 E; g% f$ G" I0 _& }8 x, W8 JPathFindArea = 250
2 s: o/ k& ]3 F2 aВнимательно читаем,нам нужно это:/ y5 e) A' S' ~ g
' @) i4 P! Q' f* k& F# |
$ g/ H0 t. `- w/ S* p u' i& F3 u. s3 }; {- ^$ I0 |- y& T
7 K% |. q, P. r2 i5 w# Включает/отключает геодату и поиск пути.& f8 w4 T% @5 W* j7 \, E+ q4 V& v9 E
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.- X# Y5 e% e9 G
# 0 = Геодата отключена.( b3 H3 t0 M: d$ ~
# 1 = Геодата будет загружена в геймсервер.# I3 v, r- G8 X* b
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
0 q( L Q, @2 {0 M, F# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами8 S1 K( P! G3 j5 Y
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
5 F* y- E$ k9 M( J# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
$ _( [2 O0 h; w% wGeoData = 0
% a: [4 d9 z! x( b. _/ f( X! F8 a4 _1 ^, J8 H; Y
) |3 @" }* ]' j" h- G3 {
4 y$ r! o* y* W5 q4 {3 D3 w6 j% V& u0 F
В этом параметре меняем 0 на 1.4 W' q' R- I/ H) T
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:6 H0 p0 V. l" B& G4 M
# Хост для сервера геодаты./ W! W8 S" }* Y, M+ `. F0 p% E" r
# * Забиндит все интефейсы.
W/ b0 H; {4 N7 X* x# Игнорируется при GeoData = 0 или GeoData = 1
8 j- I: z* u3 j/ D2 X; `7 z0 W2 AGeoServerHost = 127.0.0.14 j- @5 C( C' R8 y! t* r1 _0 Q
8 s: O9 L- q [" p3 d$ s
! ?4 `5 ~: C; S# Y; @5 w( _
# Куда будет пытатся коннектится клиент." u7 a! u) s, ?( }1 [4 G
# Игнорируется при GeoData = 0 или GeoData = 1
9 V. B8 ?8 M z0 ^1 p, b2 @GeoClientTargetHost = 127.0.0.1
6 B0 y: N- Y4 Z! J4 t' I4 l V1 U% ~# o; |" k. j2 H
; q- P" f2 v- {0 _- ~# Порт для геодаты.$ d( l- z7 N' I
# Сервер откроет на нем сокет.
4 s0 o$ {; W" n) t/ b, I8 H' `# Клиент будет пытатся подключится к нему.
- z7 K0 x, R1 Q$ w# Игнорируется при GeoData = 0 или GeoData = 1
* |: x( {2 ]( V" O- @- ~GeoPort = 9050, R4 G+ ]9 u2 P. T* W
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
+ y: [# `9 w0 o: l i+ `) B+ J2 n9 \8 U7 s* x6 X
" k, S# e0 K# W2 G# R* t
2 X. J3 m* m# C- F' d, M# o/ |, Y3 Y" U! A
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer4 I. m' [4 ?; d
: ^. \! l( V0 p
: y3 V3 ]/ S3 V4 V" m
# `$ T4 p; J1 `0 L6 b' B0 k
2 w ~( `/ J2 p! VДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:9 q _7 P; |6 C! [$ y+ Z! a
4 g2 w2 f& R- P2 o7 n
$ k) x1 f' s& T' {' w& ^5 v0 {$ u# y. g# k) H9 d
/ Q; U3 e* t! F1 h1 e8 a
# Обрабатывать ли двери в геодате
9 n: f6 v0 j* s- ?# Настройка влияет на ГеймСервер
3 x8 j6 q z7 W8 xAllowDoors = True: e3 t# _' Y0 U( t( U9 H8 f
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
& y6 p+ ^' K% R+ s9 q: e: @Пути размещения файлов геодаты:- e k, b& x: J' e
9 _& {/ N% u' D; ~. i0 A, ]
, e% p0 k0 r- d4 X: O9 F- @' Y, Z3 LC:\L2jServer\gameserver\data\geodata& C7 D; ^! i) r: N+ B* n0 O
: {" y+ @) X0 j6 s A% m0 X( X
0 R0 m# R- v6 g0 G! D/ w" J6 `4 p1 {# r+ x3 Q
' s9 Q% E' |) lИ патчнода:
- L9 W, ]* c, E2 ~8 v- v- z8 |# }% E
* `3 h* e' ?, N1 X$ b
C:\L2jServer\gameserver\data\pathnode9 w! a2 V4 x, |3 u" N
0 m0 ?3 I( T g" U# p: d
$ ]5 C# K, Q0 p( s+ u2 l! d
/ `& f8 P; ^9 o. V2 l& s
4 p" {, y3 J! h8 MВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
$ l+ f, r1 Q# [% ]8 L) [) e- k! T/ e4 T( R( }/ f! r, v; r, D- X
& Z$ i( q* Z6 `; z1 S% e
, O5 z( ` q2 E* r8 ]" {1 l
4 E( e% o. a" f. {2 q- c& ?16_108 K* L& M0 x+ Y) r) b. ^' I$ }
16_124 R) H2 N3 E* H/ G; M: s: R4 O+ E
16_182 P3 M x, z2 I# T
16_19$ K1 \9 C5 l1 G) x- D8 N9 O4 c
16_20
1 b) O, G6 H6 h' Q: f& P16_21; z2 G$ \4 j: M; f( w( A8 e, p: \
16_24
6 n, K( ? `5 _/ B+ G5 h16_25- T" v8 O/ S8 o& s/ y& o4 r9 d
17_10
- u5 O! f W) \6 X- M17_113 _. b) f/ [, c- b/ H8 W
17_158 @3 D) y& o, B4 c! i& \! D* c
17_16
7 a4 b6 r* |' q3 E# c17_178 J0 {5 t/ m8 T5 X8 x/ ?
17_19
& p* P4 G- {! g2 O! `0 D N; d) t$ g/ ~17_20
, D7 Y8 l# N' z4 R; @17_21" I8 L7 Q/ y+ A. q, K) `
17_22
! a8 x3 \ n' |' o5 J J7 U% W# E17_23
3 R3 \% X' ~' y# Z; y8 q! o17_24
& O' Z! o6 C0 p: T8 i, }: z17_25
* U( w3 w3 [% X& T- d( U1 q18_10. u! F* l, I Q
18_11
( ]" Z( V" O6 w18_14
/ t% K) e+ v8 r" V. \1 y18_15' t5 d. g: { \& D' f
18_16
) a4 ]$ N0 \; n" I( D18_19
6 a7 c9 I5 J, v18_20
; S) Y. @; v7 R" Q5 o1 v; X4 x18_21& D: F0 \+ }4 O# }2 ]4 C }: f& X
18_22* m N i$ X8 T, j' a1 T, }8 V
18_23* B+ ]6 A# J" Z' F3 O
18_24
7 L# q9 [' p3 Z1 l18_25% f O# W3 ~& r; Z7 k
19_10
: X: f' F/ d' }0 v, }* ~0 D19_11
7 \% S& Z p6 d/ t. {19_13- V6 ]. ~3 m, Z% I
19_14; b& W( C2 H4 t7 A/ i- y6 C
19_15
* A X$ C- T( P% A$ j19_16
7 P2 O2 f" A1 F( t19_17' L' J W! M$ z7 }9 R1 ~* `5 N8 D2 w
19_18* S2 u- A! m# e2 o
19_19
- f1 Y6 `2 `) R8 e5 U0 j19_20/ ?3 r b6 ?1 v! Q0 Y0 M- A# { m
19_213 ? l) T6 O. o
19_22
+ t) A1 U+ k- }; D9 N, D, Q19_23
9 X$ j5 E; w( \) c- }0 J! a4 j9 q, k0 i19_24
8 G& L$ l; l" ? }19_25
: x- p; W2 ^$ m6 E19_26
) g* c* I8 [& y6 A: O3 p: B20_10
9 Y2 R2 P0 S; m& ~- M20_11
" }5 O2 K0 _) K20 _135 G3 R3 n7 d% P' d/ o2 X
20_14
$ ~. `0 w! @- h# z* |20_15
8 N4 B- _' z6 m0 |7 g20_169 [3 L5 M0 i1 o7 X( I8 Z
20_17
* Q* F! k/ c5 n6 B20_18
- ?+ z5 Z9 N% K# z" l20_19
* w8 L' O4 C: g* a- S4 B; N( o20_20+ w3 ~+ t: I5 S( P
20_21
8 O2 C2 V; h2 ~8 v! L20_223 i$ I3 h. r1 r+ }$ f& D
20_ 23% F4 w2 h! f0 }( G+ {
20_249 b* C4 I- E$ H/ j1 E
20_25% Q5 b# l4 s* `# F! H( {( A1 O
20_26
/ K) j2 ?# ]% c. j w. T21_11
9 G3 p% U, \; h1 Z% f: L0 K21_14
" u/ X3 ~! k4 m2 O, Y+ [* x" a21_15
8 z7 w9 U; E6 V2 q) Y4 n21_16 l2 {: X' i9 O" \
21_17- z9 T) r7 d8 @
21_18
& ~4 r& H3 |: L: i2 Z; Y# ]21_19
3 B% `5 ~$ v& E" R21_20& d1 f8 F' u0 B* B' X' R
21_21
& {( ?; T: \* v% S8 q21_22
# V0 W$ A+ w+ ?9 I9 E) f8 T21_23! I$ E0 k! q# i
21_24
, d# u4 w' z0 F9 o) x: z' Z6 V, {! C21_252 M# b5 U8 _& g9 E! C
22_139 m4 i6 h) q; \1 T
22_14! k9 D9 B4 d7 Y% r& I" r N8 _
22_15
- C+ D8 @0 M( Y; [8 I, n/ L, h22_16' m; r- m. c) }
22_17* ?; w `0 C# G6 f
22_18
L3 Q5 Y1 L! T8 v% A* p5 Q" H; r22_197 q& R" w4 T+ [( ]6 x8 A
22_20
4 Q; ~% N; \' t8 d$ U. f5 g22_21
( v9 G# f# T% g G22_22" n& S; o9 i0 [
22_23; k( A" l5 L/ C
22_24% T( E0 K+ P0 A" C4 b$ w
22_25
% _" {( J, {0 G* M2 P9 p. p1 V$ V23_11% ?" F6 p. L1 ^! g
23_129 E; i. J6 i. B3 ~0 T
23_137 U; s4 q7 `! O4 }. q N f$ n" X
23_14
9 P, c3 d5 _6 _. Q* C0 [4 j+ L23_15% ~( g" Z& c( I' z. u6 E
23_163 i6 ~; P2 y7 k- v$ Z2 O' L8 O
23_17# t/ ?2 L' {! S; `
23_18
5 o: R8 P* c0 |8 P7 p! R5 f23_194 g0 }3 d! F) y/ g
23_20" e% S q w. M6 E- i) b
23_21
' I/ h7 p+ t! k$ E23_22
, Q9 `* L) W! T23_23
6 v3 O; T9 _7 L3 H" J23_24; s3 E. [5 P! M1 _* y+ I
23_25" K/ y/ ?. j. C9 n+ A9 m" j# y
24_11/ b, F3 g; l% \( F1 N+ h" R% X
24_12
; v$ m% r' t& Z( d/ |3 v/ q24_13
; w. ~" C2 @. J+ F) G2 a9 @* ~24_14
/ v( c" ]% y# X9 U% \( B6 {" S. E24_15
' ^, P) k3 p0 ], p' S0 }24_16! N: i1 j5 e. D4 f& K/ d% ]
24_179 P1 Z; V+ A4 E! N' i8 H& O
24_18
9 b$ s. ~, u, A7 B% H6 T/ d. e24_19. X! R7 f1 {- f3 F$ I ]0 N
24_20
# ~4 f7 Z3 W0 @3 d f+ J24_21
, M8 ]2 y. N7 x+ e) c" _24_22% g3 t& K% p5 O$ `# P5 h- O
24_23+ p4 E3 y& J* u$ z
24_24# H& S* A- J3 {' G* L
24_25
/ s4 j& R3 ?# ]5 J* ?& l25_11
: n2 z8 Q: [$ Y2 V8 c% {25 _12
* J7 @3 e7 J, _1 S1 a5 `( _8 j25_14
% m1 ?9 A! s9 R2 z2 Q/ }25_15
0 o; y5 l* y; ]: `4 X% j7 V25_16
& j5 c- G$ t( X& |* Q& G25_17
* _2 |7 E8 r4 {/ w25_185 \ k4 n# g" ^8 M' a& S5 M3 X9 {1 m% u
25_193 a, ]# p: x+ x3 A
25_20
% |8 l# U0 i" J* c* f% ~( u7 M25_21
5 b7 a, I3 x% T e0 A8 `! G25_23
, `& X0 S7 c9 `' {3 C26_ 110 H4 O: ?* n/ \, `3 u; l
26_12/ N/ t4 _, z7 L
26_149 R, k0 N6 l2 h: o1 x6 T7 E# F
. @1 R; w. V9 Y6 ~5 i& k
" ^0 G0 r0 ?, }$ }
+ W* J3 {9 K2 D* Z7 p$ ]6 l3 F( m3 A3 Q! T, l) `0 F
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.; ~9 U4 a' K& `
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
' j& v4 y0 O% y1 N3 z/ d0 W#------------------------------------------------------------- --------------
$ R2 {# ]% g. ^9 U3 _# G+ e# Geodata# Q) ]* p/ H- T5 u4 p# m
# ----------------------------------------------------------------------- ----* c& b$ U) U% }' M; [1 f, r" J9 L$ W
# GeoData options:
* F" a! J" l! }3 I1 e; v; n, H4 I# 0 = GeoData and PathFinding OFF (default)
1 r6 y* t: W5 W5 c5 h" n5 R# 1 = GeoData is used to check Line Of Sight (LOS) targeting and# W3 l* J+ d# K$ `7 F" I' p
# L2Playable movement. You need to download files for data/geodata folder.
% z1 {4 a. u( ~) X B# Monsters can pass walls but not aggro (no line of sight) through them.
, A8 p+ E# S, e) `# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
, S: O# _+ c' U% `# files if CellPathFinding not enabled) and all character moves go through
# I& k8 Q+ b4 D5 k) v% _# geodata checks (if a mob passes a wall, pathfinding didn't find a route5 M5 S/ s& T' `: ?, }2 i9 I0 U+ N/ H1 s
# but we allow attack and returning home).
& f" r' g# l9 a! L7 I# Recommended server memory minimum 2 GB, rather 3 GB.' T" c4 e. I K; K, H$ S
# Default: 06 x* Q, v: E. L' ^
GeoData = 0
: u. X7 {! x* }* Q; f, K% Q/ l) o t; x2 ^
& T V) s; [( X3 `: T+ O+ i1 Z
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
9 ^/ n2 _2 d$ U4 U( B7 S( s# 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 a- T% `0 f) u6 i# Default: False% f7 k6 D6 P- `: U3 K; r' x2 H. f
CellPathFinding = False' s( Z, ?3 i/ F* u' @ s
* h0 w8 |' Y: a+ U0 J" Y" n; K, a8 E& k1 p1 ^( z( f
# True = Loads GeoData buffer's content into physical memory.
7 f5 F7 c' [6 Q# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.* w" |" j6 n8 f/ Y
# Default: True
+ _4 _+ e' X) \6 j; f- P; n$ mForceGeodata = True9 k( B+ K8 w, _" O
, z+ ?( u" N, W# s4 G
8 L; O( y" T( j N# This setting controls Client <--> Server Player coordinates synchronization:6 D" w$ r) G! C0 L" J p9 y& Q8 L) z
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.$ W. M+ Y# C' P0 ~0 s
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
4 s$ U2 D$ |" E2 G; C# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).8 Q. b% V! m* g1 G l
# Server sends validation packet if client goes too far from server calculated coordinates.% ~$ o4 S' p4 z7 h2 {" F% d$ {
# Default: -1! C" p0 B5 ~5 [7 k
CoordSynchronize = -16 H: R) \1 p9 l# ^+ T4 Y; p3 P. V
! B1 M& M8 I8 t- n! U2 H, O
. ~' _4 e2 S! T w( O& O% A
( k B5 ^+ L% {6 @+ n W9 F& c5 D+ e$ U! s2 m% Q, r& d
GeoData = 0, I' N! M1 z" W6 [
5 z( L) ~7 s/ w2 _% H6 `, w
: @" {) F/ E" k4 e9 Y
8 A7 S% r. e r( b4 v
& S: e6 X+ X1 S# Z' nСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
: Y7 {* f. w( G- ]* e7 y" T8 dСтавим 2 если пачнод присутствует, так же включаем эту настройку:; X3 u' ]. Z9 q
u+ W; {$ l' W3 b1 d' _5 g. E, F; g+ `% L- k
+ }8 z' V9 J4 k" f! F0 S
$ q3 m. @* r9 p# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.* F* v1 d" {8 i' L: W6 M& P! }
# 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.* h8 G7 K* q! Z- h( y) p3 J
# Default: False
9 z9 l x# d5 _, \7 {CellPathFinding = False* z4 S' _/ v* V3 j# s2 J$ h* o
& A$ k1 y' t7 U# Y2 d+ T& q
L+ s e# U8 A# G; K
9 V% I% O; y, A; f
' P- j; b1 X; y, [# D% X! SСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
0 G0 V0 X& L4 ~7 Q$ IПожалуй всё подробно написал, спецы дополняем если что то не учел.
- F7 E& h" Y! `# b) ~* G( \
- H8 x% p) H- V7 s( C0 a: n
7 i4 G0 p Z6 y9 H7 s: v6 H: LНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.3 J# m) r: h3 g# x
) K- N% I- Q% i% R$ ]! K' CИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.# g+ T- J# j0 b8 D9 E$ T4 ~6 Z" C
- h$ N# U. Q- K: O' U' U7 y0 v! B
|
|