Хроники 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
! d; L/ x7 w) F, D. n& t8 BСборка L2 Java
% l4 |; ?, a S( j; D; d. m+ k o, _2 L3 r6 N0 v
I) I+ o; t& a7 U3 oДоброго времени суток.
' G; n, d1 i2 w/ a- |
0 W1 T( j4 G7 t
- G4 g2 q" @9 {3 e3 _. YЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
$ Q8 }/ W. W2 D/ \$ G$ r1 BВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
1 [" B6 {1 M' \/ K$ t8 V# l/ rДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
/ |8 X! L8 @ {. J: @/ bПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
6 ]* S: h* n2 }4 u- ?
9 Z* |0 O3 t& T$ {- R& }0 u7 MВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
. I$ E2 x* s! g. v' j" ?$ e' y, L, n6 j; g* D9 K9 f
+ |* N2 ~+ M5 s' q, Z- r: cНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
& P( _5 N: E/ Q! Y6 J; lГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...% n# [+ y( h J% S& s B
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
2 Q- x* g( ?% P% F1 L, |7 X0 R+ B% KУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
0 |3 I6 A) g* J7 ?3 J, X7 R+ o0 e' ?- P5 F+ `3 ~) Q- o7 [- S& a
* ? d7 l% A1 s0 @% W# H
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn. m- V6 d3 {% d" f. l
Количество файлов пачнода должно быть равно количеству файлов геодаты.
# D+ ~$ {7 P, m9 MЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.# Q/ S0 ]9 x- T% X8 M8 N1 O+ v
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.) V/ I8 \! ]8 V/ q+ m: U( L: y
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.! Y% Z8 w' y, W. G; d% p
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
0 [' Q7 e# t( y9 XУстановка геодаты на сборки без пачнода (Rebelion): z, i3 U$ W L7 H' t0 E1 a+ V
Покажу на примере L2Dream.
9 [; n; }' X6 a# e4 yПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:( A* @. V7 U( x* S. L" E
! j P5 U5 F0 b! J7 c. G
! W4 h# H( D2 ]7 Z* A! b# m% ^; L
C:\L2Dream\game\data\geodata# k' ^& s6 H3 [4 b6 T
1 f6 q) g, i( }( x! |+ Z% G5 g2 v7 i# s6 @1 T! q6 J2 ^
1 O0 t( s$ G/ L5 P
, ~: W" q0 Y/ L- V' N r5 F
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.1 j( F3 C0 z- K$ G6 q
Настройка.
" @/ `2 I+ \7 e" ]+ ~+ I' HИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
d! N; c$ l/ d9 c/ i' _#================================================= ================================================== ====% b2 Z. R- C# s: r7 x3 H8 I
# Даный файл является конфигуратором геодаты.) P5 _* B0 ]( h" [! a3 R
#
" l. {, P6 n0 v# [' s# ~# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.' z, E" }2 V$ h* K" u6 |9 i
#
+ e4 L% |1 }# Y# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
/ r3 m i; E R* L3 {# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.0 ^- o$ @4 }" g1 z# Z5 ^
# Ну или просите прикрутить SSL.) o$ E9 r0 i4 L
#================================================= ================================================== ====
8 L# V/ e+ ~2 ~* d. t2 |
, p2 `, ~1 `- e: d) g% p2 _& s' o# x& U/ t8 p0 C5 k$ t7 G3 ?# S% d8 i
# Включает/отключает геодату и поиск пути." j8 {/ g! z H! z9 }
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
( Z0 b, b) E3 n# W$ f/ z+ }# 0 = Геодата отключена.0 x# f4 i5 V/ Z5 Y C+ l: f
# 1 = Геодата будет загружена в геймсервер.4 \5 f V* K' n
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как! d% @8 ^. ?' n' y& f$ J
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
0 e8 X! Y0 @) U' W$ h# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
; _& p" F1 W$ L. _. z& Z& F# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
3 p) Y2 ]* ?3 }* BGeoData = 0
- f- I1 u+ Z. N/ J c
' Z0 M6 Y3 A. a G, Q. R' x% r; z3 ?/ V/ r) Q; Y; f9 M4 D: P
# Хост для сервера геодаты.
6 M4 l+ V9 A# z0 L$ \* r# * Забиндит все интефейсы.- c$ y* \# s( ]8 e7 o
# Игнорируется при GeoData = 0 или GeoData = 1
& o; `6 ^. _/ F; g% Z: j$ i0 FGeoServerHost = 127.0.0.1
7 i! p) Q- C4 s& x; O
! f3 A @" b' z' U! o. t
2 J! B+ r3 ?2 u5 A. M- m* N# Куда будет пытатся коннектится клиент.( u. }+ A. v% u& Z6 b9 `
# Игнорируется при GeoData = 0 или GeoData = 18 X: n1 w7 y/ m9 Z# L5 ^3 b
GeoClientTargetHost = 127.0.0.12 j' J6 Y/ b9 E
) a9 G5 P8 J x% m
! `' d" E T* k- z# Порт для геодаты.
: [' `( g3 W5 L0 g: }8 W/ S# Сервер откроет на нем сокет.
6 i: l& Q2 x3 }# Клиент будет пытатся подключится к нему.; `9 l: E" P5 ^) I1 S4 d- k# \
# Игнорируется при GeoData = 0 или GeoData = 1* B0 K+ c) w0 h3 o, r
GeoPort = 9050
6 x/ L* d- M: B; e; ]9 l9 w1 I' ~1 H @2 i8 |
; w# [+ X: S3 p* T& d/ p# Сглаживает путь.8 r, g A. A! e! \' V
# Стоит отключать только для дебага.0 L# K* Z% n0 p( L. g" x
PathClean = True
. D5 H+ c- V- S. e3 v5 k
Q! k8 k3 ?3 e
' N# a, N& n9 ?# j3 ^- T/ ~& l# Обрабатывать ли двери в геодате3 T" ?3 r) Y3 g$ q' w' G
# Настройка влияет на ГеймСервер
( c( c/ w7 h. E- ?AllowDoors = False1 ^( ^: @& W' Y
+ }- l# t. _/ _
2 i. s" u* W4 yPathFindingBoost = True, S1 T2 d# L; n- [# s
PathFindArea = 2506 ~: K* ~* l) _0 b. O+ F
Внимательно читаем,нам нужно это:
# k* ~" Z# v1 t; R8 _- H+ {, D! ~+ x+ k# [# J9 M: K* c# B! {
0 G( ]8 t) \7 N( L, j; n" N5 t8 q; v- n
; w7 b% t9 y4 {: E9 |* m# Включает/отключает геодату и поиск пути.) a5 Z& T! i% i5 l! f' s0 |3 U
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
2 k* j6 u, U b& v# M8 c2 w# 0 = Геодата отключена.
r$ W9 m& q* L7 J: `& b$ J# 1 = Геодата будет загружена в геймсервер.
9 ?6 b2 d; g1 T h# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как4 b) ^" d. m/ ]$ D
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
/ m% D) O' l* M u% h# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
1 T& _/ B1 M5 O1 C0 H* \# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
/ ^6 K& V* B1 t# ]4 aGeoData = 0
' c' l m) r9 p2 A1 c5 @9 Z9 D5 x
* J. V w- W6 y! P& b: z. t4 l' i
1 D m& I3 y' Z- |9 e6 w2 Y9 A: c) ?# K- b
В этом параметре меняем 0 на 1.
5 ~5 z. `) z! {- g2 ставим в том случае если всё таки решили поставить геосервер,его настройки:4 v* }2 h% z) G) \
# Хост для сервера геодаты.
7 }! d M/ C: b7 _) C3 @9 C. A$ U# * Забиндит все интефейсы.
3 g- P h0 c4 v: u5 E# Игнорируется при GeoData = 0 или GeoData = 16 U2 F4 A5 L' f3 y6 u; l% \
GeoServerHost = 127.0.0.1. U& k' r7 D: u6 p9 c8 n; \
# U' S8 _: \) N; U5 ^7 ?5 t
6 ?2 {- N- Z9 B3 E. W
# Куда будет пытатся коннектится клиент.3 _/ }5 \( l' R/ p; X% t5 h
# Игнорируется при GeoData = 0 или GeoData = 1" m% g7 _" r6 V- d: e6 N( w; P
GeoClientTargetHost = 127.0.0.1
# H& q, w) m2 T- q
- f% s6 Z: ?! q6 v! @4 R- V! j2 o; K( F5 U: [3 }( n- b
# Порт для геодаты., ^* O6 a) k6 f- K i4 |
# Сервер откроет на нем сокет.
$ J, q1 E; F2 ^7 h% w* a5 I# Клиент будет пытатся подключится к нему.% j2 Z% l* y& @$ P; n3 `' p2 o
# Игнорируется при GeoData = 0 или GeoData = 1
4 O: F6 D# K% C) qGeoPort = 9050
. J0 R- d; c1 K" d; D( \Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:8 C9 F, D+ y2 U' x
, b5 C0 M& X! _& j. H9 G, Y7 K* f8 B
2 ?. S9 m" x9 k+ J$ D) q, ?2 h$ M1 @4 D" j3 L9 k
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer* q# m' \/ i' \* E8 t
/ s! T% ?/ v+ n6 i' j9 @
( J* X# e5 H; I" z. y. X E
, M- Y5 G/ o/ r3 a8 ]. w
7 O7 Y/ l# Z) t: k& p: N1 DДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
$ N$ o. J, p" W/ P1 U# Q$ p
2 E7 a9 p5 M, p) m7 t
- f! d/ Q L# D. R0 k* J7 l
. |* f5 O; y. n: F/ X& n/ L2 {/ b2 V1 A: e5 R- N" i1 W. f
# Обрабатывать ли двери в геодате
7 O+ @; k+ Q, J( p/ v# Настройка влияет на ГеймСервер
0 l! {( _8 d1 J9 {( u4 F. xAllowDoors = True
" G: z2 S- i) b8 v% A0 _. FТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер." I7 @( J3 e1 K2 ]% a: r6 G
Пути размещения файлов геодаты:, Z1 ]4 o4 `& F6 Y1 } v1 f
) a, i; l1 g( V
0 t+ j: D; E/ r3 X }. IC:\L2jServer\gameserver\data\geodata, r0 p" d" p: t/ F8 H. _. a" j7 v
" |6 b* o. D% g- j1 t# i7 ?+ H& U
" k6 p# K7 U; }; Y
1 Z7 W9 s: r% w: a
; C. v+ k* r; d2 Y4 k6 |: sИ патчнода:3 b, r6 N5 ^/ [, i& v
$ `* x$ C7 T) c
. M. G0 c* J) G( uC:\L2jServer\gameserver\data\pathnode6 x- T! {) i7 \" ?; f
+ A5 B4 f# ?) Z" f* h% n5 Z
! ^4 e; E7 g! i) K! Z: h5 f) ?
# c( g, U" H# J( @! X3 g# m) W. ^( `, H
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:$ l" O1 a. u* P8 w. n% n' j, {
* K7 ^- T! x0 J% y8 e& c
v' F5 E! T' w1 w. T
. E" p* ]8 Q1 V# P" g0 E) z: ~. y S- n- l
16_103 G5 W6 m) ^5 @2 T' \3 u w; d
16_12$ J2 f0 A9 g6 v. |1 u' t
16_18
) M4 Z% p, m. ^: U4 ], c0 C16_19
, i6 q- w# d* y/ x- o0 U16_20
" D2 g% M/ ]/ a( h16_216 h( x, X/ B+ |: U
16_24
' m) l' d; F2 Y/ d4 B16_25
/ b! u& \' ]: l. n8 Q+ z17_10. I5 O8 E3 k" T! B9 F8 w2 D1 n
17_11$ |$ ?! b( [0 T# u4 k9 |) T, w
17_15
! O5 W: c- Q7 y6 t, B17_16
* {$ H6 }$ N I: V6 t; p$ C! `17_17
& k W( \2 m. u% R% Q# F17_19
* A7 E. R7 m# p17_209 N% {8 ` q8 d
17_21, p/ F i0 Y4 h8 ^
17_22
% y# Q* u$ F) Z# d' Q# f17_23
3 V' _$ ^ y; h+ |' r5 _+ B17_24/ S6 F# U6 X7 S5 F& h; v) |& |* m
17_25; g" `8 Q% f% P% D* k
18_10
6 L) s5 Y: t5 w: s! c/ g18_11# ~/ u1 h; s! h# t* w- S+ O" [
18_14$ D; D6 v7 [6 l( Y ?- R
18_15
1 K( o; A/ T; l2 _7 ]2 _18_16
% m' G1 n7 q0 t5 A18_19
2 B' ]- q$ V m) v: P$ Z18_202 c* t4 u# }7 r
18_21
* _) T; o$ H$ u* e18_22
. S6 j3 }. l, u0 X- b( v, W2 L18_234 _& O Z: E: h
18_24
$ p. k b; E) f$ {" _18_25
9 h, ^9 z! Z+ k5 i7 a! l19_10
, N0 d5 W7 l) h; n19_115 ]. U5 ~- j& ], m* C2 Y
19_136 n. F1 |& S5 w- B) X* h5 z, z
19_14
$ u# g. }3 `: J& ~19_15( A% a8 } p- t% h: V
19_16" F+ _* {- m+ _
19_17- h7 r/ n+ u+ K$ u: g, H* ?5 q2 U
19_18
- I" b$ E. @. P: C( p19_19
; y D1 ]1 G! O! _# G. s19_20, o* m5 F) [" S9 G& g5 I+ D P
19_21
. e6 R' I( v# B: L19_22
7 ]: \* J0 d+ b9 R$ l% Q7 c& G19_23
# l7 q3 O- X' \ T" l+ U! V19_24" y1 V4 \9 j3 f" A) V7 e& |
19_255 G. z- a) ]5 @
19_26
" M- U- A; V0 L8 R" m20_10/ x) T( W4 S/ U+ @0 y
20_11
* }) ]' @0 V0 S" i$ ]$ O$ P20 _13
/ A0 |( f* a8 A6 {3 P3 H20_14
% K6 t# v! I, }8 N$ e& \20_15
( P( `8 Y% T! O" }( C) @" q0 [8 y6 U20_16
) u x4 Q Q/ ~4 X- r20_17& J) O: W! l% M& c/ a
20_18
, G$ m9 j1 V M7 G20_198 E, d t3 a; Y, Z
20_20
! v7 v& \0 _) A/ y+ d20_21
, b8 V( Z6 v$ s) y9 L( [20_22, E/ V& {8 m4 \. w0 C9 [
20_ 23
" C* E8 b0 Z# q20_24, {9 |5 Z( e/ \; i9 U( w% H3 u
20_25
9 `/ j6 T" v& G$ l1 e1 S3 _8 K% Y20_262 z4 V8 a) T4 O( W0 E& @
21_119 w1 p! P+ r- ]! \- C7 K1 u" N3 B
21_14
8 o, U" V f* u% f7 \, e4 j21_15
1 ~; i1 S5 S1 ^% o21_16" r3 {2 t+ W) [$ d- \3 S3 ^
21_178 W& X6 q& ^( `1 \; F4 u
21_18# Q5 P3 l# a/ ]2 E6 U& J3 g8 y
21_19
( ]+ k" ~. ]6 {# X2 z" P' Z21_20
1 R2 I# L4 H8 ?3 c" o% P3 P- N21_21
- P3 A+ _6 D; Q1 r, f21_22
" G! U( R% N8 P+ A* R21_23; E1 }! w" A' Z: n' i
21_24
, `9 Y; Q. _8 C& n" H0 G" C2 v21_25
# Z2 L4 P& \. `; ]5 T22_136 `5 H P0 t9 p: X( D
22_14! j3 m3 Z5 g- _. A
22_15
) x* ~0 v7 S& F# u/ z22_16/ C+ G5 \5 A9 J1 t
22_17
4 E6 _! a& c9 J9 Z( a( x+ V4 g22_18
2 ?- E) F8 [, W0 i22_19
% w7 A- t- f/ ~22_20
: r6 i/ A# W+ \. g# P22_21& e/ G) _% B; Q2 l
22_22) `. o" b: T7 R. _" c0 y
22_23+ o) T; S4 b5 z$ t& k
22_24
* \2 X( H+ x0 D/ Q2 S; L) Z& H0 S22_253 g: _7 p7 U/ \& p) Y
23_11! P/ s9 V' n2 ?/ I; y
23_123 D/ Y' O: Y" F0 O
23_13+ a1 C$ W. @) E
23_14$ e- L3 f8 E2 N$ i3 W0 p3 j; b
23_157 T8 l1 q# D) t) \
23_16- x5 j x; u7 ~ l3 C$ ?
23_171 p- o# a$ |- k" j' d
23_187 F) \! S7 F7 v' e
23_19$ ]. A7 p% |, Q ?& G( z+ w O
23_20$ E. p" S' ?* T
23_215 L7 F; g) I8 H0 x/ Y& f
23_22
A' k4 w' O6 n d) w+ U23_23$ v/ Z H* W; p* N) j" m( g
23_24
8 t8 T, N7 N( H- x" m23_25
- z0 C7 o7 R( I" w: P3 r24_117 k9 \8 z; w( D m* H, `0 W: @8 A
24_12
5 n: Z) v s1 `' G2 ]5 ?1 f24_13
4 Y, v2 I: H. Y24_14
8 b9 L( g& g6 B24_15
9 Q+ j+ |4 a, T/ y$ _, z8 n24_16
5 K% J3 ^6 R4 _8 R: w, c24_17* k4 }1 y9 a$ n; O1 H' R, _( P
24_18
' W" Q/ Z3 a. c- V; M. X* q# }24_19
- q u( i" V0 X) J24_20
- ~4 F, t6 A6 w% ~24_215 g1 ^4 d7 i% N+ p! c9 J
24_22: B8 m7 M: Q- C6 C$ c4 n1 P6 J
24_23$ l7 A2 p5 t2 O" O
24_245 a1 [% B7 A& d0 b* ~ G T' X& P1 E
24_25% l& F8 o% k3 m/ W! a9 r8 u
25_11+ f) U1 }, E+ S P. }
25 _12
* e4 t' f h0 K6 m. Z9 v7 ^25_14
4 ^' `9 @7 D8 D1 t3 K25_15- T. x8 `5 o' x4 w& `4 D+ s
25_16
4 b7 g( A) G. J: W% A) `1 q9 A" A25_17, L9 ]( ~0 H6 Z: f5 I" K2 x
25_183 H0 b) U2 B7 q4 W- N) q
25_19) e6 |+ _4 _/ z) {$ t
25_20
# u& T5 P7 `9 b6 F3 B25_21
7 I* U* h M8 Z d. ~) w5 a25_23
: N- W9 J$ A& m* X3 @26_ 11. b# g0 X- w4 R7 }8 ^5 N' {' x
26_12
% N7 a# ?: N9 \/ t26_14
7 T( `. O3 y$ c. r& ?' E
: V1 @2 z- v2 W# R. G& S8 B! c* }8 n; Y, |( l; B: a
6 @, O6 o0 e: O. D1 ]) u3 B/ M( b% `3 ^( i
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
% M; |2 M' K) V& X' A4 ?. I0 V) cНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
. o$ i/ Y- U+ F" v) ~, K$ |#------------------------------------------------------------- --------------# h' ?- t# \& Q
# Geodata6 p( N5 H& u+ d' b/ I5 c
# ----------------------------------------------------------------------- ----+ [+ D9 ~$ Q* F" Y1 s
# GeoData options:
5 X% p. H7 |3 K# 0 = GeoData and PathFinding OFF (default)# D0 m/ m q$ N& e: T
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and( J" H" p8 H4 x9 _# X, W* t
# L2Playable movement. You need to download files for data/geodata folder.. x5 M, r' l+ T% C, T. F
# Monsters can pass walls but not aggro (no line of sight) through them.
; |7 c/ [- q4 O; N& n+ U# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
, p, o( C" F: [; u B# files if CellPathFinding not enabled) and all character moves go through6 e. |- ~" _% i$ N# K' m/ S
# geodata checks (if a mob passes a wall, pathfinding didn't find a route: A& O' ?$ m/ g( Z2 e
# but we allow attack and returning home).
7 E; n \( r" Q* @# Recommended server memory minimum 2 GB, rather 3 GB.6 L# |( E9 w( F( r) B! ^
# Default: 03 \- m7 W Y( u1 I( W7 u: q3 G
GeoData = 0
4 w( Q/ Z8 D( ^1 ]
- x/ G/ G) E+ ~% T1 ~9 S
2 @* V: y( z5 B3 B, X7 r# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
( V8 K1 M4 h, v! L" w( @; d) 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.
& z5 V* v1 U; F9 O# Default: False& P( v# v) X% k. h
CellPathFinding = False' d( k# \$ w: v; x; n0 z1 i9 E
O0 h. Z! T {+ z: P+ I9 T
+ f, x0 X" H0 b) e# True = Loads GeoData buffer's content into physical memory.
; [: ?9 R, Z$ B+ U d$ ?1 W# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
; d; I5 }6 z3 f3 E7 g. g ^( ]# Default: True; R8 K5 @" G0 P2 b) v3 {
ForceGeodata = True
5 j8 I( g. t# F- L# z8 N
7 p5 h1 M) H, p
0 `* o/ T: |: J9 T# This setting controls Client <--> Server Player coordinates synchronization:* w2 T5 k2 G- I& n8 q" G0 F
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.6 d6 n# C% a' ]( t
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
0 I# e7 m5 O- M8 n: w8 g2 ~* S# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).( [1 l, ]8 t4 X; @ D" { r2 M, N1 d4 M
# Server sends validation packet if client goes too far from server calculated coordinates.
6 \! ^$ c2 J- x# Default: -1+ u) }& r# |1 Q: J
CoordSynchronize = -1
, @4 {9 B- K5 @/ m4 `/ |" Z$ P& x* V3 z1 m8 J
9 D. l1 g l! C+ O/ W
: e; C6 p) Z9 e9 P( U- I6 v, {* X
" n1 ]4 [9 B0 g3 u/ i% I! s4 VGeoData = 0
, I% ]5 M% r, B. [
5 U# r' v! G) [0 ]: j
) _9 w# x6 q4 [' K3 e+ C, i& v r! I8 C
4 ~* {6 z* l! G7 I3 m# F. y$ y1 b
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
' T* U7 Q$ Y8 u3 U: M8 F. N* Q4 n' qСтавим 2 если пачнод присутствует, так же включаем эту настройку:
/ l. x# I+ C1 U' V: L z3 C" M( c. {8 M3 U- A7 v$ `
( `3 M! o- z- W% T: C6 @& }3 J( l) i! R( @- P1 P
( J6 K- P2 u, y9 K5 i# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.1 E, \" X. a9 T7 V7 O" c; u$ W
# 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.
7 }& p- w/ v. |- S" U; b; b# Default: False: t) G7 m/ \) p/ H
CellPathFinding = False
7 A: |' r6 O( d3 \$ g0 O7 \" c u) ?; X$ t
7 A% V: V9 ]& \ x4 U
) R* u/ k( y9 t9 v1 s
" ?- Q% f: D) I% d; z' WСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
O! G) a' A* s6 w! U. zПожалуй всё подробно написал, спецы дополняем если что то не учел.* T1 H" _: Q' _5 m9 `" n
, I! u U4 g. h8 V8 s7 {$ o
6 b3 ~( D/ a/ H- g5 N
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.+ |" i5 W* @: U8 C
# k& X, i g* K& R" M! |! V7 KИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
3 C2 E4 Y: O7 n( a* \
1 z. x% r0 P7 ^- x+ _( k |
|