Хроники 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
7 v6 V) Y" B2 _; r3 z: QСборка L2 Java
9 z; P9 X: l _/ L1 @4 a3 r2 ~& `) b2 P3 I
3 Z) G6 z5 e$ x6 Y( ~( A& X' F) ^0 _# H
Доброго времени суток.& k1 u5 l( O; u/ G- p
* g0 e# G- c* r, f: {1 H8 [5 t. c8 ]3 {
8 T+ l/ T- |# F; p! n* ?Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
3 Z8 {2 l# k1 E( eВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.9 S, P. z! C! Z: a# W0 D: P9 v
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
! B$ R" Z, A( f* \По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
1 A0 i" X( T4 n0 X
3 @" P. l6 ^4 b* ~" cВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
$ c( m& l6 I7 Z/ |+ G
) A# _0 ?5 J8 m9 q( p2 W( n; |/ N% `- N1 ?6 y! B# l6 }; Y
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
8 x7 N1 F2 u2 W8 NГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
' k) J% a$ s; @7 o% YРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи., I; I) A7 u# I7 H6 s+ d
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
. x6 K7 s/ b6 r4 c. n/ F- }) G1 I5 d f! ~! {" h
8 _" _4 S( N+ q) P! |- E% _ A
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
( x- M& O- Z( K3 E& c% eКоличество файлов пачнода должно быть равно количеству файлов геодаты.
) M# c2 c# C' w. P. o" n7 A s6 JЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.. S/ \ O. o4 B
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
5 A0 {" p( u: K! h" M! E, E1 mСборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
! x/ f5 s) r# ~) IТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам., w; N8 L. p; W% Q: }/ q( L
Установка геодаты на сборки без пачнода (Rebelion): M! N) H' F( Y( `
Покажу на примере L2Dream.% X- w2 k$ U/ r- y5 o
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
( l! s$ b) r8 @& `$ Z6 ?2 m$ m$ O
: h6 m2 p4 Z6 O( {; P' ]5 k; H1 P2 x/ |( \ n* Y% O
C:\L2Dream\game\data\geodata
" @5 P4 J' {+ Z2 W4 r( c6 p
" ?3 K+ ?! T# e: B# c% J/ E* o# ^; v' n" M( N2 ~
( W% R6 t" o2 a1 Y: R0 N
, O4 O; \1 G; j" Z( B9 tНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.( r l ]& N* [9 e8 C2 f
Настройка.
+ X7 a8 k y! O+ @3 C1 i: VИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:8 S, y8 N& }- x7 o5 c
#================================================= ================================================== ====2 |9 T4 F Y5 q$ y
# Даный файл является конфигуратором геодаты.
6 ^4 t$ b% P/ E0 A% K2 d! z#
/ [+ j& } q) b% u, ], p& p# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.) t% ^# z) b# j% ]3 f$ ?
#
1 e6 H3 q+ b9 _- U$ c, h2 S C- i# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).; W q# ?+ z% S2 ]) m
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
$ T; v0 C5 R: t3 a/ s# Ну или просите прикрутить SSL.
! Y- F. z$ M5 L! e7 |#================================================= ================================================== ====
7 }& N K$ @1 K! o7 I q" a- Q# |" b( ?; d# n
% t' w7 ?! ~) o# Включает/отключает геодату и поиск пути.* x7 K& @9 q! q$ I$ s; A
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
' X! `& p# v5 W5 S$ a! t7 ]: R# 0 = Геодата отключена.
7 w1 ] W _. C9 ^# 1 = Геодата будет загружена в геймсервер." K8 L5 Z$ y8 S
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как2 Z& h9 W/ I3 i, e" S4 `) O9 F
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
, J! N! H2 _: R6 D! ~) t+ i4 B% }# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,; M. B9 b) Q! l2 S1 T
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока., w8 q8 `% J2 D* J: Z
GeoData = 0
" K, }) H. E5 p5 X& X% c! I0 P+ ]8 A2 o
" E: y/ x# K: c+ S4 ^* r9 ]3 l
# Хост для сервера геодаты.- F/ F! S, a5 f" G! E
# * Забиндит все интефейсы." N( P# N; g, J. f
# Игнорируется при GeoData = 0 или GeoData = 1
9 ~7 K7 s3 t8 d1 n6 n: M* g& XGeoServerHost = 127.0.0.1
' l) U! F8 R, n, p4 I; N) X' N/ u0 c. Z
( C, C. n! s$ J! i
# Куда будет пытатся коннектится клиент.; u) s% E: R; y6 X$ K# m, J
# Игнорируется при GeoData = 0 или GeoData = 1
5 [7 P4 o0 X) j, l' N& p; CGeoClientTargetHost = 127.0.0.1
; }4 y9 [% X R1 B2 q) `9 T4 y) J5 ?4 E; \
: c! w2 Y" y5 r" I* R# Порт для геодаты.* q% d# E) G# D- W+ R( ^
# Сервер откроет на нем сокет.
! E7 o7 j1 ~- E+ H# Клиент будет пытатся подключится к нему.0 N `: |& Y' z6 i) h% l
# Игнорируется при GeoData = 0 или GeoData = 13 e% b C; K% R: F
GeoPort = 90507 l1 Q' m: m2 {3 W$ [
/ v2 I- f' S8 U/ @* [8 w+ L
* |) a8 d2 {6 R6 a( ?( ]
# Сглаживает путь.
5 f. p/ E( \( N" G/ z5 `# Стоит отключать только для дебага.
. V) k. ` y9 @) F7 t. r/ X) v8 {* QPathClean = True" F% c2 N1 p+ b# l) E, i; ]4 W
4 [% L2 n. a& ]$ c1 H) W v* N$ a3 l$ M+ t
# Обрабатывать ли двери в геодате
+ B% T8 b6 a* k5 x# Настройка влияет на ГеймСервер. |" P0 F* Y- S0 l* T; Z( ]9 C0 F$ O
AllowDoors = False: }4 c8 F- c' D! d- [ t' r. i
* n: T5 n( g0 B1 z
/ K/ K2 D/ V5 B( ^7 f# N/ S
PathFindingBoost = True0 A' Z4 R; m& E( R6 Z3 M( s8 _" \
PathFindArea = 250
7 M: T$ t3 o) b' y% E- D6 A: Z6 |7 E% mВнимательно читаем,нам нужно это:# U m2 Z( j: ^4 l- ~
% o$ W; b# o. g
5 v% p6 }: d6 C, O- b u2 n$ w! j# P! R+ j1 @. T0 T7 A7 U
, p# R4 _, Q' K/ u' I. d9 |$ z# Включает/отключает геодату и поиск пути.! e9 d4 }. m7 `( [8 @+ F
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
' Y; y1 I2 M) @4 o8 E0 e( I# 0 = Геодата отключена.: H- H# a% {! \. }, Z
# 1 = Геодата будет загружена в геймсервер.( P1 o9 }+ c! l! K+ R( _$ H3 @
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
0 p$ {, {: F: e/ `$ ]2 c# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами! N/ u; E. c `3 n* O& y9 Q( u( g
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,% v9 W, n' J3 t) K2 b/ Q
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.. F5 T0 s) m7 ?8 l ~& f( a
GeoData = 0" r1 Z+ [1 ^5 _7 \
+ ~& p$ M7 x0 e& e$ t2 Y
. o, ?% b2 E, K: n8 Q4 [" e1 a
8 u8 l( L; y4 C
. Q8 J. [3 @- O3 I6 O3 @В этом параметре меняем 0 на 1.$ C- o* [5 e6 z7 m
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:4 w: H1 x) P1 E* ]) C; B" c
# Хост для сервера геодаты.$ c$ E. M: V5 }( p) C+ Q
# * Забиндит все интефейсы.
& Z9 f. ?9 M1 f+ W( B# Игнорируется при GeoData = 0 или GeoData = 1
$ ^* u" O" R" w; h! p/ c& H. PGeoServerHost = 127.0.0.1/ G" i; C. ?5 ~( V2 K1 K
: Z& `) L0 ]3 x z5 N
, l* G. v& _5 F* h$ n: [( T# Куда будет пытатся коннектится клиент.6 o% R; R* z! p7 j) ~
# Игнорируется при GeoData = 0 или GeoData = 1& O6 A4 Y$ ?- L3 f$ I) T1 v
GeoClientTargetHost = 127.0.0.1
6 W( n& Q% K+ t1 E5 E: `: h! q' G+ b% F5 \1 M( {
. J. g, `3 [: F
# Порт для геодаты.& B8 v9 c3 l( u0 x
# Сервер откроет на нем сокет.
8 [ j g* J# g) D8 x5 \# Клиент будет пытатся подключится к нему.
/ v8 B* L7 w; H% X* G9 I6 N; F3 z# Игнорируется при GeoData = 0 или GeoData = 17 k5 n3 q8 @* s7 \
GeoPort = 90503 p7 t) t) v7 h: q
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
2 f: P: X( f: V+ ^
; Y: `3 `6 h8 }2 x
7 ]' X u2 q1 H% h9 l/ X0 E: O3 Q; r1 x
9 G: X, P4 T! G" E
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer0 [7 t S' o4 H P9 S2 T3 ?
4 i1 k. q2 V4 {1 s8 J
+ ^. ?& j. `) i/ }2 J$ u# f+ t8 S! V6 W/ s# t
. @, d8 q% h3 W4 ~- V! L4 q( w: MДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
2 o; t% c# u$ Z; g. W! x2 ~: O4 X: }5 y3 L0 D
+ M- a7 E1 u l! o( k4 \3 u
/ j+ F2 H8 m E' ^' K4 w5 H) v6 [5 y0 L' N6 x
# Обрабатывать ли двери в геодате
! C- J7 v/ @7 B+ b, P, i) }8 y8 N# ?# Настройка влияет на ГеймСервер" I* h5 X3 G9 z. i7 R
AllowDoors = True8 J5 m$ y; k! v! J2 S' q; x* Z1 Y
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
5 @5 p9 {& e; `Пути размещения файлов геодаты:
2 ]" x+ o C A- O2 ^0 T% v
9 n7 W% A# w( L; r! E
) ~/ t f) i# e, F0 U1 O4 U1 QC:\L2jServer\gameserver\data\geodata' u7 y: E" U- M7 O7 i6 w
0 z8 P8 I$ W" O$ a
/ ~2 ]0 | _& w6 h
- ?# K. V7 w( ?9 [4 z5 @* r1 E( q3 K, ]0 [9 q" t; q( Q* {+ m( I" ?
И патчнода:2 v, m6 b$ W6 ~& ?7 P
( d4 K3 m6 o4 l! G) s" `, O0 o' h: W$ X& f0 L/ _0 x
C:\L2jServer\gameserver\data\pathnode
# x/ M+ W t. t& h8 e/ o; E
' P% ?: C/ Y' r2 t& K5 h9 [: ^
4 g t8 O1 W* Q$ Q1 p; x8 g0 T3 a5 ]$ g
! a- I+ G, e+ WВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:) ?, G9 [: D' {0 \# c
3 M* d; ?, @% t# n1 r/ C/ w& Y! |/ A1 @$ L' W/ G0 f
# p8 l( I6 A7 o8 p% T: r) {# T$ v. D4 Z7 h6 A9 I- {) x& v9 `% }
16_10
. \9 K: ?9 H$ X& E6 M/ s16_12
5 H- N; {* O: \" L$ y! A2 R8 o16_18
$ O8 Z( a' j; T0 B5 [16_19& W& f* D) u" L C
16_20
7 T ]) W. ~. q* q' S9 \, r16_21# A( t0 @0 Z1 [ w1 n( g
16_24/ g: w: O4 r. b# O
16_25
) u4 o, r1 F7 H7 z' L# C17_104 P- X& b% d0 p0 [5 \: u
17_11
9 c$ C0 D& v+ ^5 y17_15- j, I4 w, Z) _' o2 Q) c4 o
17_16 N9 k3 e6 R. r& {5 A
17_170 C6 Q% @$ T% ] C+ L+ I
17_19
% t, r7 a1 p' U% r! o: a [; w17_20: Z+ m/ d. A; L" N. m% A
17_21: _# D7 T+ A6 f s- X/ K$ o
17_22
0 U* Q# }! r: y2 z17_232 R5 S! c# ]4 \; D& R
17_24
/ q2 ]' u3 A: j' O _17_25
0 O7 Y. D% T& ]3 t t6 r$ p18_10
4 a7 z8 E4 G4 E! N( x18_115 i" I, g c4 v$ p. `* j- J9 T
18_145 n' P+ M ]5 m+ J- K; p+ n# E
18_15* p( |5 C. ?* B3 P
18_16
6 S7 J6 [# O. ~18_19
$ h; b9 F" t; t' U$ h18_20. e9 v, O; |# x6 O6 b
18_21
- F0 h$ }# Y/ L6 |18_22
: A9 n [* I6 n$ P" p0 {18_23# O" ^: q( F/ A+ l# Z* e% q: V* e0 y: S& x
18_24' B7 F9 y9 {% N. K" X4 o" S1 k
18_250 i1 x5 @! [ g4 F* B% Y
19_10" X0 V9 [5 D! j! ?" B( x" s
19_11
% ^+ M+ Q+ L9 @, v6 o' Y+ l19_13
6 ]0 v9 }+ @4 ?$ d4 Y, o- L. j/ }* A19_14, @5 `0 n) n, m6 U3 B" J# ~
19_150 I( H6 n2 A8 J1 O
19_16 s) d2 g. {3 g2 x. E
19_17
: u7 A$ |. p k$ p- I8 T19_185 B7 T% `9 n4 ^$ X( e2 `3 w6 n8 c
19_198 R+ V, ?7 p6 A& q0 U) Y; V0 }
19_20: ~/ ?# L; W9 j
19_21# {, D0 l! x; r5 \
19_22& k* V" [$ W+ n* v: M
19_23' H1 q2 k- W2 V. m2 G. K+ e0 X
19_24. e$ g/ {; Y n) y3 [1 g
19_25; f1 _: @! D0 O
19_26
. Z; V# u9 x9 c( r9 W8 k20_10& N& O- p% A F' B* J
20_11, A4 M, S& A- f
20 _13
2 k8 G5 l, f" `20_14+ @, ]0 l7 C. W; S1 P2 t
20_154 B4 D* i+ {3 \5 D B
20_161 X0 m a. b0 c. `) }& K' P
20_17
0 w$ |5 |, P7 U, J! k20_18$ G, }2 Y5 P' \1 j4 n- Q: G; G
20_19
4 W3 c$ H9 P$ G- O20_20
! [; h, j& Q! R" c: j7 o4 h j2 |20_21
/ t5 }4 P2 f0 X8 L& i# I20_22/ T7 y3 j9 W/ Y' r$ G, o
20_ 23: S- y1 ~" e' R
20_24
( S* M% n5 f; R# {20_252 D0 h- P. V8 \2 Y
20_26
1 x) b: n5 Q+ g9 q" U6 z( S21_11
' V8 K3 |9 R: x* }/ b# r7 p21_14: r3 C6 y6 n. A% |2 P
21_15
0 C9 ~# G, L# |21_16
8 b7 h# C8 k W5 F3 b+ E21_17
6 M/ }2 l# l- G* }21_18
* k4 \3 M0 z1 k1 o1 J21_19
+ h6 ]; Q3 N7 `$ h: J* f21_208 d7 ?- ~: c7 H0 \' `
21_21# W8 j% R2 O& S4 M: {1 V+ L
21_22' {+ i7 {( U& w; D
21_23
( B" p& N3 i. I% N, b21_24
* i& T$ U% `$ g6 l) o21_25
) b! N/ A+ V# R" Q8 }5 t22_137 A+ A: p: \! j( H* H. ~
22_14
% Z. h2 f- t, I1 ^* _22_15" U6 [( Y8 F+ V6 G4 \
22_168 T3 _0 f: A, h) h# c
22_17- ~2 \' R5 J H7 N2 Q( S7 d. C
22_186 E# [# Q; C( Q4 k/ X3 O4 x2 _9 P- ]
22_19' S+ t3 w( r6 M: _
22_208 M* L0 i1 f' g. ?" e
22_21% ~- r/ J* V3 Q; r! P
22_22
- z4 Y3 D3 }6 T; T: ]22_23
6 d% W, V3 [% @22_24
- P: [) W: ^; j. K4 I22_25% {. V) K( ^5 x( q- B
23_11
. p5 A. U% q3 [; Q, e# J. n23_128 r3 P# e+ g1 U& x
23_13
+ d7 K8 {" h( a4 X3 @/ s23_14) F% V3 S+ ?2 o5 J" s v
23_15
( m; V4 Z5 |- k6 A, C, ~, p23_16% N* `- u) _( s N' M" n
23_17
# @! ^2 \6 a, K8 g% _8 T O5 h: N. @1 P23_18. s U L6 S1 I3 _. h6 r
23_19% m# X/ g9 f9 F0 H) e) O3 q
23_20" C" x0 S- D9 \
23_21
* f6 u! ]+ M f5 V9 u23_22: s7 |) B/ V- ]8 x, ?7 ~$ F
23_23$ V9 i/ i+ v/ @1 x
23_244 ~# h) Q' I3 Z8 y3 d9 b4 E" p/ q7 i9 U! c
23_25
7 e9 e1 u* d3 v% ^# Z7 Q% s- W24_117 k. R' U( n N" `1 W% I! X+ Y
24_12
. P: H3 T5 d" A1 M' v1 N% s3 L24_134 `" S7 l0 e {
24_14, v7 ?: L% W! h" N0 s
24_15
1 R! z- [) \3 v8 K) y( g" d' W+ O24_16) ^; l6 o! u0 \% f. l% `
24_17
& P! R0 P6 U; Z24_188 f4 R4 s) h/ \2 A* g
24_192 b0 ]5 @' L; v1 K* \7 c
24_20
( L" G \! m! I1 J24_21
7 W1 G# n4 v* I24_227 f+ w. ~2 C. L: ]' [" F
24_23
5 L! o0 v8 Q' k. N" l" p24_24" B- }- _/ A2 o7 X4 c. a
24_250 O0 o, w! b. y; \* r6 [0 ?
25_11
& r, w$ `5 ~8 J& @25 _121 t3 w7 H# J1 E$ `6 ~3 r& J" U
25_14
* d; P2 p/ S6 b4 R9 y5 l( F25_159 H: A! w3 I# g
25_16( U) |' t& \0 \7 \6 \6 _) i
25_176 \. a, O; \& A7 B- @( M3 Q+ s
25_18
; h1 s4 t0 B/ T9 g9 f25_19
2 p* \0 n4 F! W: L25_20
. T9 v U+ ? S, B. i9 t25_21
0 m$ T P3 `3 ?* ], t, Q25_232 ?$ n8 F! O' D9 E& o
26_ 119 \/ ?% o7 j, t* k
26_12
- d& R- o% H1 U$ F( F' ]# W K2 p9 v26_142 p; h2 q: c( H. ~8 W
* }9 y7 m0 G% @1 Q0 {8 e e% `$ D) ^% }
( ?0 l- M8 a3 d6 c
% R! U3 y4 a6 H* [# A X+ EВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
+ ~! X8 f9 J G3 w0 R, RНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
+ Q7 T# k F0 ?7 n* ~2 I5 P#------------------------------------------------------------- --------------+ \5 B( i0 \8 g! D9 I
# Geodata
3 }6 a4 y0 f" m. X, X# ----------------------------------------------------------------------- ----
& S* D2 @. G2 ^* L( E. G: U) Z; M# GeoData options:: c$ g$ P" h: f( l% [: ~
# 0 = GeoData and PathFinding OFF (default)" j) `% `' z% P( p$ C
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
8 t; Z* i8 W- i# L2Playable movement. You need to download files for data/geodata folder.4 M6 @, _2 @( Q M/ y
# Monsters can pass walls but not aggro (no line of sight) through them.2 n$ P3 s6 P1 y: {3 c5 k
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
8 U, |7 u+ F) r( r% K) @$ @0 X c# files if CellPathFinding not enabled) and all character moves go through
+ I6 c0 f: I8 z. W3 k1 C$ V; l+ w# geodata checks (if a mob passes a wall, pathfinding didn't find a route
- H7 M4 W1 X% m% S$ i# but we allow attack and returning home).
& ~- ]0 E- f& n" g1 b/ [9 J3 h# Recommended server memory minimum 2 GB, rather 3 GB.0 M) I: p3 o0 [. C
# Default: 07 i) e3 b; @ Y, P. k
GeoData = 0( F \7 o G1 b
) i3 n# m* y: D8 f
5 U5 p1 i+ C% A; u- F$ j8 A1 s$ F# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
, q* p& N# f8 v1 V# 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 L7 \2 F4 N1 j- g; o
# Default: False/ \% Z8 w1 z5 `
CellPathFinding = False. }; j$ K" [3 O% p
7 b; g4 J+ ?: f0 m4 W3 V
/ `' T/ p. Z0 x# True = Loads GeoData buffer's content into physical memory.
; w1 m+ ?- Z5 L- H$ e/ I7 |* T! m( M# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory. i+ Q/ \2 E; t# m3 e
# Default: True* U! f9 L: P% g9 K: E
ForceGeodata = True7 C% h2 X) Y5 U
* R; Y' X9 y2 R& S; C! W+ A$ }
3 v' h+ C* O( C5 S: A+ C4 q# This setting controls Client <--> Server Player coordinates synchronization:& I; J8 F: R- j5 U; y% g' i( u5 n
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.1 y$ T2 Y. N& g2 A# V+ b6 g
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.6 v* m- E+ r* }) [7 i3 w
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).* i0 ?6 `% L( f- S
# Server sends validation packet if client goes too far from server calculated coordinates.1 L" V6 {4 b; R2 b, Q3 }) J" o
# Default: -12 X( z @. v, R$ R; F
CoordSynchronize = -10 ]5 K0 X8 `8 M& |) a @& l: |
# E/ R! f$ M- t9 }5 [& J) P5 E+ G/ _- n5 Z% l: ^8 I' u
X; S e7 @# }6 y3 l# E( k+ |' Q$ |! ?, ?
GeoData = 0) v D* F5 B: c b
, Q! B: j) t8 H! }- S* y, _
5 l1 f$ y1 O. v F2 Z
+ v6 |8 c+ P2 w
% Q$ G; k( \ S: }Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
8 O4 p3 K0 f: `- w0 {Ставим 2 если пачнод присутствует, так же включаем эту настройку:+ B% G, ^, Y. }1 W n+ r
8 C. B M- ^. b
) S* k0 f. ]- m' ?" A4 k
0 M7 D: C+ e" Y2 ^$ k' Z4 E3 B" g( A, L0 N4 r, K6 D, J5 p8 O, `
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.) N" o" _; ?; M) c
# 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.
! \/ t1 T( N5 {5 K* a6 l6 P6 c# Default: False
% d5 T% \8 C1 x+ RCellPathFinding = False J2 v# j- {+ }
- J4 X. q) W. t+ p* C2 |
1 v% L8 S% k6 S) u2 V$ b' d; {
$ ^. d7 B( i" O$ |" f) ?
% w: w/ m, X/ W/ YСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
. o$ }1 {+ k, o% o, l) Z, g. U! zПожалуй всё подробно написал, спецы дополняем если что то не учел.
* H* r1 E) l, Z7 u( p7 Q- R
6 r) d8 A9 G# y1 i: s T0 X# f4 Q3 { z p7 e3 g+ u- L
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.5 c- y# W& t ]2 o
. ` `7 \9 t v. XИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.& m X5 ~' M" u% C4 A; U$ N# E; y
/ s3 S' M' D( X0 b! J |
|