Хроники 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
1 C* c5 l F; X3 t8 ?6 EСборка L2 Java
& i, J; C2 t, @3 H9 s& h
3 o8 r: H6 {9 ^4 }# r$ Z5 c. i$ A3 c4 R) X: C
Доброго времени суток.+ z, q6 ~8 G' I4 Q, L3 t
, n( V# P: |. f
1 ?. ]% G& s# {1 p: @5 C% }Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
- K" L& W$ z9 ?# i% BВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.$ J; a/ c9 _3 P' O
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее./ T' S+ |1 n6 B) X
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
, T x/ e' ~; ]! B2 ? G9 d7 n: l3 A2 `8 w' y
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:; {" j0 q1 K5 B7 I- q
8 G1 x. a- V- A: O0 j% c9 G5 N- P' ]1 N
& {0 [. S! }& O/ B( bНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
5 p. V- ~- \, W) B% ?) f9 ]Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
$ T# j2 i) s0 c8 k) Q+ e JРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.6 ^. g* a9 h+ @
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
# w2 v4 \( s0 b! w$ E0 @+ a9 K5 C5 H# M+ m. Q/ R
# N2 a: K8 h9 m
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.& A. C+ b" K* y% x) {. K: W3 s
Количество файлов пачнода должно быть равно количеству файлов геодаты.
N' D. T; ^0 c9 X& q5 HЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
) f) d. |1 q* @4 n( YТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный." Q2 l6 c* X: Q* U
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.: r8 |9 c7 p3 q
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
# m# c' D, m+ x0 d( cУстановка геодаты на сборки без пачнода (Rebelion):7 H2 ~- p9 y9 _1 G( H( ^
Покажу на примере L2Dream.
% e" D# G3 Q; x) _3 EПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:6 H8 X! r- @$ F/ W% h
8 w! l* y9 N+ X( R8 Z/ t1 {
- `& B5 C& ^. s9 L+ }& H1 ?$ ~
C:\L2Dream\game\data\geodata1 V3 h/ L1 S0 G8 n% @( H
5 F3 K# l7 ~) R9 E1 I* X
# \' k0 v9 e3 h' e( C+ `0 O
6 f* x! P. i U" O. _' y2 H7 t! E
, f* L& M" j# s1 X: i+ BНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
+ {0 i3 V* U( ` h$ LНастройка.
5 x% R1 p2 f: S) M3 [. W" EИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
- `- P% N8 [! z c; A#================================================= ================================================== ====2 y* ~7 `2 e; h r9 P" U8 a
# Даный файл является конфигуратором геодаты.: n$ t+ G# M c) d( B: I* g/ T
#
/ x7 Y$ }& c3 Z1 D; X# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.& \, B/ O- c3 Q1 A' L
#
: \2 a% _* S8 {$ \( Z" f/ R# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).3 O* |" M" ~) R! K8 C* B
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
$ I6 t3 ?1 H! w; `( p: \; G2 _# Ну или просите прикрутить SSL.
+ v$ I9 j _2 C. A% u- E+ K#================================================= ================================================== ====
$ c' T, C! M6 d/ X. Z" M* D: C* s$ g( l6 o
/ |$ |$ D( X, X+ U& K0 B% h$ z. c# Включает/отключает геодату и поиск пути.
2 t) X, Y% W/ [! l# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata. Z% P" k- B! d! c' T3 q
# 0 = Геодата отключена.
7 U# v( T" Y& `5 d2 C6 ?. D8 ?# 1 = Геодата будет загружена в геймсервер.
6 [% i% {$ n/ i- f1 l# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
2 a0 h9 r0 Q. ]" T8 B# s# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
2 ]3 s! ~; ?; d% w- N: L4 E# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
; R8 s7 L, e) k9 Y# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
) c6 q( @7 o1 Y' b9 sGeoData = 0
" p# R* W; c' K/ b c( ]
' s8 _; @; C% x1 d" P: I
' T s' M! n+ A, E# Хост для сервера геодаты.. o" h+ O' n. z. `
# * Забиндит все интефейсы.
9 j4 N8 R. f D' r# Игнорируется при GeoData = 0 или GeoData = 1
2 ]7 d% d. E$ ZGeoServerHost = 127.0.0.1, H& C6 G7 x/ J$ ~) V
) w+ [; K5 F+ I3 m9 v g5 ]" ?6 N. G( Y: X
# Куда будет пытатся коннектится клиент.( H0 c( J% t9 ^: P* U. Y
# Игнорируется при GeoData = 0 или GeoData = 1
8 Q4 a9 T# q" U _1 W! A: uGeoClientTargetHost = 127.0.0.1
, ]: P4 L& L* U3 J0 O% u5 x, l* M$ y; b1 `5 D5 e @
: ]7 a7 v/ o! l d/ N% D/ `# Порт для геодаты.
( Z/ O: V7 \3 C# }2 w2 v: L4 O# Сервер откроет на нем сокет.1 H# r2 V9 M7 x4 b3 ]
# Клиент будет пытатся подключится к нему.- L. y7 [. {5 j$ d
# Игнорируется при GeoData = 0 или GeoData = 1, J* |" L/ q7 x5 C. L( s
GeoPort = 90501 J: L4 S5 Z; E6 ~! {. P0 l. w* N
# o$ U6 l3 Q* ]% n3 ^+ [, T" B0 r) i# J/ G8 m
# Сглаживает путь.
0 i0 ]- B2 ^+ A# D# Стоит отключать только для дебага.$ ~. K9 d+ `% p$ P- e
PathClean = True
# E. [8 N1 Y1 ?
% P% |$ q5 f& j4 x y2 ]* O6 Z# [9 Z& B- d. L2 k
# Обрабатывать ли двери в геодате% N. c% }) b0 k
# Настройка влияет на ГеймСервер
! I3 `# J R l6 U8 r {/ C4 ~( ]AllowDoors = False
( V! E' z8 \$ [
8 N3 s0 D- Z5 s* G9 J* Q
2 d' \- o0 g! tPathFindingBoost = True# N5 x/ h8 F G% f2 m
PathFindArea = 250 P) n! o0 z+ ~. O1 S5 I
Внимательно читаем,нам нужно это:
j k- ~) ~4 ^1 r% J7 [ C
6 Y/ E( q5 D! R5 N$ Z Z+ u) V; x
7 F* k! }) ~5 h: j& t- ^) T0 k1 w( q! @1 n9 J
2 z7 h5 E: I3 {# d, u" m4 x# Включает/отключает геодату и поиск пути.
; Q+ `3 u# F& i( e5 ]# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
/ r: E) r" D/ {4 |7 f( u' y# 0 = Геодата отключена.
+ E: T5 e b; d: ]& M/ J# 1 = Геодата будет загружена в геймсервер.
# |1 U# y1 G" ?% Z/ n& v+ S3 Z# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
" W) @& p# I+ @- c# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
6 Z; p J1 j2 K+ y5 v( _7 r1 r# e# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
* [6 g& z" M1 N. c# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
- a; {; _2 q1 s4 C# M4 ]& GGeoData = 0
& N' k1 F2 t4 ~5 l
* P8 }* t) R5 W, t, x6 j$ w/ {# L! W% D! V1 K; p& O
# d, d9 {$ N7 [
G% ^& u% N4 N+ |
В этом параметре меняем 0 на 1.
; Q- c+ b4 y+ M V2 n2 A2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
* [0 E& d5 k- @3 d# Хост для сервера геодаты.
) U: h+ C1 r) B0 K. S# * Забиндит все интефейсы.1 q7 j2 s/ w1 k3 Y2 x
# Игнорируется при GeoData = 0 или GeoData = 1* Y4 I5 y" ^$ x& j/ S; q* ?4 ~1 z
GeoServerHost = 127.0.0.1: P* M6 z' @2 _; o" g
+ {. S5 o u+ s( P5 e, X" F" o. V1 \+ h4 _
# Куда будет пытатся коннектится клиент.
# S) z) R) r$ I# Игнорируется при GeoData = 0 или GeoData = 1+ @$ B U* U0 e; y& U* _- l
GeoClientTargetHost = 127.0.0.1
" K4 k2 r. B" h! e, v5 j4 P
1 r% h3 ^# |8 e% U9 R, Y4 n0 s u8 Z* C/ B' `& _
# Порт для геодаты.
) _# Q3 e8 s+ ^" F0 U- c, i# Сервер откроет на нем сокет.
7 o2 f, M+ J. G# G( S& U# Клиент будет пытатся подключится к нему.. v/ a7 d# t3 w; y7 q. P
# Игнорируется при GeoData = 0 или GeoData = 1 d! n! _( N* |* Z
GeoPort = 9050
. [4 B7 L" Y" u/ EЗдесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:% e* D! ?: ]" G
% k1 Y- A5 r1 }! l, O
0 e( z8 b% P5 o" W! ^3 T" x# F5 c/ s Y0 ?2 }7 O
1 u/ u( ]5 f: O! }4 njava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
1 `6 }, |7 t. I7 y& \, I( z% G5 _
" p* W) S& s2 I5 I3 d" z, v
7 ^/ {8 Z- @$ S, X; M4 C
. b; z. [! S* A* hДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:4 ], b2 Q2 |2 s3 [
( J A8 Y3 \5 r9 s3 s/ g# p$ P7 C( ]' n, K5 U
j0 T1 s9 O' w( L
( F8 f% g% V j" W; B: p
# Обрабатывать ли двери в геодате
9 O2 Y' S+ `( S5 r i# Настройка влияет на ГеймСервер O1 X5 _' f |" S: U8 h8 p
AllowDoors = True. M' A* b( H/ w' D
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
8 J4 v# e: \+ u) p/ [0 g$ Y2 T4 r" f4 ?1 u9 gПути размещения файлов геодаты:
* d! J# {2 \+ W! u$ u( i- O8 J' [
0 y u- W1 j: i- ~* d/ w9 o8 V
6 l$ p C: N6 G% G# N5 g. xC:\L2jServer\gameserver\data\geodata- ^& u+ {- h& {" ^! f' ]# z- d6 ?
2 Q' g7 @( b9 C# q# h
/ Q3 C9 B8 ]1 I5 [; j c, y0 x1 H( J
0 b/ G0 @2 w4 X* H& b+ o' V& N9 U4 O: H
И патчнода:/ @8 g" P9 M6 w- N
5 `9 i- g6 l) _, G; k% c* G6 g; |: I' A5 q( C q
C:\L2jServer\gameserver\data\pathnode3 O+ C0 L* _' f( K2 w6 _
0 k! G- D C$ L, S) g E
+ x. ^4 d4 Y' R5 Z
, V& s6 K! u. u- j# x+ V& l% \! g4 ^3 T* M. A% G
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
7 A- Y: O* C) ^# `& w5 K2 W7 u. e: `7 ]$ t* b+ ?8 d8 X6 j5 \
5 ^) e% g+ g3 L2 r! z
4 M. w9 I$ w# x$ X) ^( q: R- x
# t, u" m6 V: |, L4 ]
16_10
1 }' U& ^( v% j9 i* K16_12! R) Z* J1 A3 d% R' V! u
16_18
' W3 f) B9 p+ j16_19
; I. n3 |' I5 u/ s/ U4 N6 T16_20+ K. T9 W) m0 k- Z
16_21
9 f# {: ?! ]0 V' N16_24
0 q' N: T, U. M- z' u16_25( Z5 s I( m5 H5 |: a( x
17_10* G0 a& W3 Q7 a# j* e- ?' {
17_11! w! B2 S. _, h8 ^
17_15
8 x% I+ f' p: l2 {: X0 p5 Q4 m* ?; X17_167 b$ y0 C) {% }0 R3 Y
17_17
* b. a* C* `+ u/ W: [6 ?17_199 Z: j( b! q* C& m
17_20
& \# t7 U' q3 K; Z0 q2 w17_212 O( H: s- I7 Q: u9 I' \
17_22
3 W, G9 ~" @# R1 m/ `: I- K. f17_23
! @. i9 q- {% c( u! q! q& o17_24
/ h, B: S" @1 m$ S; x9 g5 M17_25$ u `5 Y; d& K
18_10) ? ]; S5 j& l2 c. Z) R
18_118 a* S' k7 m8 t0 F* z
18_14" \# v/ t, s4 i2 X
18_15
; N" I, s3 \2 l0 W* R2 d18_16+ a3 ^$ G9 A- D' X4 a! V( d
18_19
5 P2 p+ J1 T# W" A4 r9 K' I1 e18_20! j/ D2 x0 y6 Y* |
18_21
+ @. V- u$ g9 G18_223 O' F; r/ q: h! b
18_23
: P5 `* j/ j- {18_24
7 s) I. H% l+ g/ h18_25: O2 S0 _7 a% \7 ]) k* y, a7 n
19_10
' G! X5 u/ ?, h7 `$ o: k4 W: C6 ^19_11
* W' P6 b% o$ W19_13' ^3 @* `4 v) d0 m- Y0 N# A
19_14) g* |5 V6 ~ S) B5 D
19_15
/ v! S$ _% q1 `1 Z. L7 ?19_16! Y2 E4 A( d4 o5 _
19_17& }% V: j& Q) W8 V9 {
19_18# L3 k; i* F% Y8 o! f( d# Q
19_19) m6 _* p0 J' Q; }; {" I/ r
19_20
' A7 p- z" c& w: L5 i0 _19_21
/ n1 b+ Y' F7 `! y19_22$ w" s' R; x$ G& B! F3 r
19_23% K4 {0 `3 ]% o x
19_24
7 o& C1 m9 }/ z4 D0 \+ }0 c19_25
( x5 h7 B! @% K: d. l( m: S; `' Y% |19_26
5 Q d6 g/ @/ p2 v& Y& j |5 F7 I20_108 u6 W3 N X6 v% v# m
20_11, H% Z( v' ]- j" C% `" O
20 _13
, s' T2 [; M$ M" O( u- h. h! T20_14; j$ d6 M: o* @1 C- d5 O$ ?0 M
20_15
B8 _* n8 O! j) G4 ]20_16
. J2 e, M& |7 n& K20_17
8 G( z' t" e: S20_18
, m, r+ S# E+ w; I7 d' ^3 n20_19
3 S" A4 E, y! x5 Z6 H r" |20_20# W" V& r4 U8 G
20_21
; {$ Y! i+ c4 F8 C# M5 u9 n20_22) L9 X0 E3 j, P1 o# s( D. _
20_ 23' D$ H! F( n) e# I
20_24
7 T0 F) g9 p5 l20_25/ _. r3 r6 P7 t: y# T% |! s" ~
20_26
2 d* g0 t2 ]8 |* ?* c9 a; p21_112 |( K& C/ p2 P( M. U9 a5 C
21_14+ P3 J. d9 v4 h
21_15
" g. K p8 Q R* x4 r% `# O21_169 e/ w1 B$ @" b# K C. M5 H5 z
21_17( A% V5 N) ^$ d j- \+ v
21_181 |; A5 y* E; s: r$ t; T$ x* t
21_19
( d% p& q% [( v8 R21_20
+ ~' g6 P. v. |% h" c% s2 U" {21_21# ^0 B* m X1 M. |' D+ U" v% @( f! A- Y
21_22$ A. B4 p8 @8 e4 _) V# f7 X2 I
21_23# S$ R1 R: S }$ X. O9 R
21_24# K- M6 N7 c% ?" ]: X. Y, |
21_25
( L9 j6 r N. x& _7 I5 h M' x22_13$ U3 Y6 I8 k& J/ V9 P- l
22_14
6 d' Y z* [" c! U22_15" V C: ^5 F/ P9 Z3 ]
22_16+ j/ z( \% A( g8 P
22_17) x6 G8 q E& c& }6 |! e0 V& t% `
22_18
- w" \; w: E! j3 @; j$ p* q22_19) h) o( i, ^* F: ?5 F" ?6 ?1 p
22_20
) _6 ?7 T6 O5 E y% T( X& @7 Q1 v5 j22_21
# r% ~0 w9 v* S+ S$ F0 u+ f3 Z22_220 x- P: V N1 L% O/ `/ X
22_23/ \9 H: b* `) O4 M1 i* x. b( C7 \( ?
22_24! I9 X6 v3 A! ~3 }0 ~ H* t
22_25% _7 h5 g1 O$ G1 K* Z- f9 R
23_11
& O9 b8 |3 c" Q1 k23_12. T/ R' j0 l% o6 Z2 V6 \
23_138 T4 i2 X9 r3 l$ ?% a8 q! O& k" p
23_149 r- x$ N: R/ R9 }3 Q7 X4 w
23_15# ~6 V+ k/ t$ u1 j" r: i7 A
23_16
, k5 {$ G \4 Y7 i0 f7 s23_17
G$ Z, b; O& N) N- [. B4 X23_18
9 J2 u% k- [9 ~2 ?23_19$ w1 S. \9 l, D( L
23_20
% p' V6 a6 B+ a2 k9 |# z4 q23_21- [5 o# r$ j' _' B) A- ]5 m
23_22" a. y/ M$ d& m) D, I6 Q
23_235 a( U2 T* Z7 ^' j4 t+ ~ t/ F
23_24
# Z0 X! _3 f# l) r' _ H0 Q1 V- k23_25" C' z. N, r& J5 O8 o, H9 J5 k
24_11- I5 j3 r* G" Q! a5 e0 G: {5 Z
24_12: J% R( f& Y4 N# w0 \
24_13
" s8 c1 q3 L; y0 ] h24_14
! B2 V. f( h( E3 @, ?7 A24_15
& O" M. W. N6 o8 c24_16
; ?. h5 ^( [, V% v" k! J' H3 H$ ^24_179 y4 r! T: l, k b u& S
24_18
2 T' T& Q) S" G' C' J24_193 R1 _. Y5 G4 C* t! M
24_20$ L, m1 y, w1 n6 k
24_21
/ Q. i% D7 I- n" D1 c! u( }# `$ I24_22: ~$ M8 n9 _. E/ I6 a- k Z
24_23* L) M! Q+ {9 U" K; Y+ p4 `9 M
24_24
9 t5 X7 Y0 C' F24_25
4 }0 }' |3 A" l6 R2 j8 }/ Z$ O25_11
7 x' t& B7 _0 l! H; ]6 H25 _12
Y2 k& \# F1 _& N+ U25_14- y0 N8 m5 K2 H
25_15
4 c8 M8 c5 p0 C; r! l25_16) w: w% a2 p! n' G ]4 L, ^
25_17
`- j. P- J$ z. e. }) i: p25_18
$ v3 J; k6 w, P' M1 B25_19
0 {4 Q( ?+ ~+ n/ [4 J25_20! n Q9 i# U( V( E! y
25_21
% \; Z6 p4 H( t. V* [: E25_23
0 j3 |6 n Y4 x26_ 11% Y) D4 ^2 _* M `; Q! s! Q5 g; g
26_12 C+ `' M/ i8 G
26_143 A7 v% o, e" H
5 c0 h/ d7 ?. o6 A% L, m( h! D
( {5 v& }0 ~1 p! i, v, z, F0 |: r( e$ ?% d3 Q: e2 d$ y$ L. a1 ?
6 p) e. w8 b* U& l
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.- o* t; S0 [; b3 J6 [) j9 v! a6 i: A
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
1 X; t: s) T7 K6 X#------------------------------------------------------------- --------------
0 K/ L4 b8 ^) K m/ s# Geodata2 a, [% x) r# G8 m
# ----------------------------------------------------------------------- ----
Q; d+ D, U( t- E! Z9 m9 @3 f# GeoData options:
' ^' S; j( r# _: L2 M# 0 = GeoData and PathFinding OFF (default)
, `0 f7 Q) Z, n/ |# 1 = GeoData is used to check Line Of Sight (LOS) targeting and$ j# m5 [; S2 b" B4 k, H
# L2Playable movement. You need to download files for data/geodata folder.. @) S1 H. H* w
# Monsters can pass walls but not aggro (no line of sight) through them.
! K6 P3 [7 h! S2 Y) k G6 Y; V# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode" ^6 q* ?" n$ \; [4 {$ z1 W2 g0 B
# files if CellPathFinding not enabled) and all character moves go through! Y, d9 r& P2 h0 y$ ~( H e D
# geodata checks (if a mob passes a wall, pathfinding didn't find a route. H1 K; @+ g* a( l* u. R
# but we allow attack and returning home).
- d8 x" U t& U& u( {, e# Recommended server memory minimum 2 GB, rather 3 GB.
- z2 C* F4 h# \% M4 E% L# Default: 0
! {1 G1 s& T4 A' I. X/ VGeoData = 04 T0 H# e1 W$ V) T. y1 ]5 J
0 f. L5 A2 O6 u+ j: C
, j) M1 H; z! M _; z. p. z+ F) {
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.7 O) b) `1 w( u" X1 K
# 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.
( z+ {: g, f7 C$ ~- M# Z0 l. A4 h, @# Default: False0 O# J6 |% M1 G6 q+ e7 Q
CellPathFinding = False
r: Q9 A4 c9 ~ [5 t4 E: H7 g% E) B9 e
* ?$ Y0 V& l9 W
# True = Loads GeoData buffer's content into physical memory.
# U: ~- p- A3 Q+ d+ L' O# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.& L l5 ~, \7 m1 m J; W
# Default: True
" Q& m0 ?0 W% I' p+ {. NForceGeodata = True
5 Y' }( e( [$ c2 h
. O7 s4 ?+ o" c# [
" A% x: ~% W( A A9 i5 i# This setting controls Client <--> Server Player coordinates synchronization:1 D' U x- p( T4 |3 O _
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
/ b! u' @1 h; C% I b% c# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
4 k+ {$ z# e% } \* b# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).6 I: T8 o l. W! Q
# Server sends validation packet if client goes too far from server calculated coordinates.3 g9 U0 r/ H8 `
# Default: -1
# k! d ~! l( v+ {CoordSynchronize = -1
3 T' y% N/ l5 [! r- j
) W. B5 |+ f& T) F* z' T* N9 k& }/ N
5 k u; L3 q0 J8 a1 x9 _9 Q# o1 h
3 N' Q0 W3 K8 \! z: G7 b1 uGeoData = 0
) H- {+ f; G [4 l" Q4 c
7 d' f$ G0 x1 g/ [! J" j3 ]
: g; M& X* Z! d8 s( a0 C, D+ M$ P. X$ Y
7 \3 f) Y6 j J- f J- I* gСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
6 z1 n, R t0 N' HСтавим 2 если пачнод присутствует, так же включаем эту настройку:8 c3 C. [/ R9 l- f; r B
# M) r5 C1 q: N6 d# l; q; I
# J0 p, l' X( L8 {
8 b2 @0 B' ^5 {5 M7 }1 t9 G
$ m8 U3 q9 C# {, A8 I$ J7 L# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
3 I. O) D& {9 M9 c& H# 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.- g, }/ o U$ e7 L. ? V
# Default: False
" m) c0 U9 W* J- N- cCellPathFinding = False2 B) @1 ]- c- ]
/ _3 @1 ?7 D" ?5 \+ X6 J! g9 ~( f0 a# U, h* _( v7 [" V
0 [+ I$ \, v: h/ E7 e0 F4 Z
: K0 c, V# W- e
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
& t' @$ e. }$ p6 _9 H% KПожалуй всё подробно написал, спецы дополняем если что то не учел.
# X$ x; @3 |0 x
4 O6 ~2 c) t6 E% ?& h) g4 G& M2 T) B
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.- s4 y4 D& J5 t3 C7 U
) `( P9 m* c, t3 ?( eИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.: _( u( }' k% t* T- V; K
0 N& `" w" x& j% }: ?! Z8 c9 y3 G
|
|