Хроники 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! g" I- p6 a& |' ]' ~1 D C
Сборка L2 Java. n- X( l$ q4 C
" {) m; b( }5 y. |. @0 h
. @0 ]' w1 I2 z9 e. a5 r3 j/ S/ KДоброго времени суток.+ i" \5 U/ J8 s+ w& ]& ?
$ T% p( {$ q% w9 M% e5 I
% G0 U/ ?' W* x Y2 rЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:7 ^8 B# [. S6 q- h* k* ?! n. u
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
6 b9 F8 l+ m6 M+ D3 }Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
# r. x; `, r) k; l, aПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
3 H; Z0 W* M x! [
! t* O, |4 l' o/ _) x+ w9 PВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:( }: C" X# P5 m0 I
! s" D' h: W! x) @0 w( X3 @. S) `
; p6 Y8 A/ n4 [' DНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.$ W: Q( I3 E# L6 U/ F0 j" z }
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
3 q) a$ Y# X% A) RРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.; y" D7 @- ]6 n0 P
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
6 P L" n7 v6 Y1 P( O0 U) M! {; D0 k0 R+ z/ h: z" X, J
" W3 s' M5 v0 n4 n: m/ T* `Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.9 p8 D$ r% p8 {* t; k8 T
Количество файлов пачнода должно быть равно количеству файлов геодаты./ P/ O# e% D0 m# J* d. z) ]2 f
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
4 m& g6 y# M+ E$ }4 j' u, vТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
8 o0 B, t; ~3 J: j1 `2 UСборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались./ |* j' v" j6 {8 E- M$ d2 x
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.0 r. P( D( t0 @) A
Установка геодаты на сборки без пачнода (Rebelion):
. e: L+ p8 y6 y6 h' H$ lПокажу на примере L2Dream.
6 ] Y5 l9 C/ g8 f$ XПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:' [ g+ H A, V+ b& U
' E# \% R6 w" ?
# N" s. Q5 F: j' f9 {) pC:\L2Dream\game\data\geodata
4 H7 P0 R$ X# K% e: c+ P( N6 ~, [. C+ U/ Z" k2 R/ T
" P/ v7 g9 p& g7 u W7 W& i
, p; n$ w+ ^4 _0 p# I% d S' h1 A5 A
$ H) \6 {( K9 B$ N2 C, I4 JНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.; F) ?: a/ d0 k/ k; _
Настройка.
6 _+ b* h( U" j- b9 y, MИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
- i1 C; [+ b! }3 f#================================================= ================================================== ====
; ?" h" C q1 L# Даный файл является конфигуратором геодаты.
. r. t+ {# l& w, ]3 y0 U#
- ?. c% V3 Z2 Y5 y \# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
" e. L4 \) ~( b+ f4 F) B- F#7 D5 L, }$ J+ ^
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).& O: X- ~7 ?2 u9 C3 x/ `' K
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
, ~) a' L, ~2 K% X4 {# Ну или просите прикрутить SSL.0 h4 Z h/ `/ d8 p0 X# W5 Y7 R% r
#================================================= ================================================== ====
, ^& K8 ^/ K& ?! R( t6 D- o$ {3 F D/ _0 P8 x# ~) I
6 P1 }; \5 {% P+ m1 u% Z* `
# Включает/отключает геодату и поиск пути.
. x3 W+ s) I( }/ c' v! x# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
$ u& W0 h( @8 \0 Q# 0 = Геодата отключена.
- J. x h# T& N+ d& s$ i r# 1 = Геодата будет загружена в геймсервер.. J: P4 r& B) b1 z
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как4 O9 Y: s1 j: s7 ]" O
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
7 k/ X; `! i/ V# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
% w+ v4 _0 h3 u; Q! D# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.% i0 D1 u9 w% r' {3 q
GeoData = 0
$ ^- s5 E, _3 @- T+ D5 q5 Q
/ k8 M1 N# o; e& O N
- W! Q9 ~' G& K4 C# Хост для сервера геодаты.4 @& f6 x' y+ P' }" ], O
# * Забиндит все интефейсы.
" P; l" `; a, n4 s; R5 h( K# Игнорируется при GeoData = 0 или GeoData = 18 a1 e1 [, }) m5 F3 x
GeoServerHost = 127.0.0.14 c& v7 ^* \$ A3 f
% b1 Z- x6 Q% a, C, _/ t% Y4 K' Y/ E% r% W u( Q5 W- m0 H) b
# Куда будет пытатся коннектится клиент.
2 L( S$ g9 R3 ~, |. A# Игнорируется при GeoData = 0 или GeoData = 1
# D- b# N" R; o% xGeoClientTargetHost = 127.0.0.1' W! ~* A" N4 q H/ E- d W
+ U$ Q6 l4 q6 s) I8 b' u
' x* U5 j7 }- p3 p# Порт для геодаты.+ z+ D* R/ {+ ?, p/ g; w3 B
# Сервер откроет на нем сокет.
& i; Z6 j0 x0 h! Z7 `% L* c# Клиент будет пытатся подключится к нему." n2 S7 `. V; a: o& I( x _) Y
# Игнорируется при GeoData = 0 или GeoData = 1! l# u5 f. o% w/ X7 @) y, S& |
GeoPort = 9050
: N# T# W4 H4 j% S3 `2 ]8 P- q7 b* i" g8 J+ n n! F/ h
: k2 c# D; w2 u( i' |$ y* r
# Сглаживает путь.
2 Z( U) C8 g4 H# Стоит отключать только для дебага.
2 Q8 m2 U0 L. I; H& O' x/ T/ H& cPathClean = True
) L8 V. s+ o4 T9 m+ H3 K/ x6 i& R' \( u' C1 G. Y
0 W4 |& C! K$ \0 c( ~2 Z! N# Обрабатывать ли двери в геодате8 z6 X# m. S$ V- c v
# Настройка влияет на ГеймСервер O4 Y3 _0 ^4 s1 S( O% h) Y
AllowDoors = False
5 H$ n2 P5 g7 O6 @) @( q' p: z$ @
. r, N$ D1 G. m6 D" S4 Y+ O Z6 s0 |. n/ p. S5 E# z9 d
PathFindingBoost = True5 R# E* t! U( k0 u' Y1 t- R' u- b
PathFindArea = 250- @; H1 B' R; w; A: L
Внимательно читаем,нам нужно это:" f$ q. Z$ }! Y; L6 f @
! v" u: m8 O9 V4 T6 U& w* T3 h) h7 X+ Y* \! C
8 e2 k& W4 A$ _( c. H _8 {5 P H) ^9 |) }( C2 Q6 a
# Включает/отключает геодату и поиск пути.2 P; M# V+ @3 u6 e. d8 T. Q1 K, ?
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
9 O, t' o- I3 r) K# 0 = Геодата отключена.9 k0 R- H8 x2 T' x& y
# 1 = Геодата будет загружена в геймсервер.3 k; H6 ]; d, \6 |9 `2 s
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
7 r9 {0 I5 ?2 o9 D! q, w+ }- n# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами# e% D4 D1 r2 w8 W \/ C
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,, r V7 N3 }8 ^2 ^9 C9 _7 a
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.8 R1 W) E+ c! ^ |3 T6 L F* A
GeoData = 0
' s6 |3 ~# L0 h# _# v6 i U
1 ?5 z2 m( ? b3 k$ A! u4 L- d9 K; r
$ ?% N4 u1 X U* r0 [- V0 i" K! O. d0 N: Z
- r* T0 l& E/ e* U P3 U
В этом параметре меняем 0 на 1.1 A! @* X4 s+ A; u0 u- R/ a9 O) b
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
@; t7 m& e1 b! l/ g: _' k# Хост для сервера геодаты.; S$ U: } Y/ p+ F) t( g& o% P* b% K
# * Забиндит все интефейсы.
- k, u$ i( [ x, h# Игнорируется при GeoData = 0 или GeoData = 1
6 u) g* U; p- j/ jGeoServerHost = 127.0.0.1
; F( k G3 R9 Z! K0 _' D g
, Z7 [& q! J2 S1 U
8 w' H! Z% n: t" Q& j# Куда будет пытатся коннектится клиент.
/ s# l: ~/ r1 f p7 F$ C# Игнорируется при GeoData = 0 или GeoData = 1
' r1 W/ [4 Z5 W% J/ ^1 f' ?! MGeoClientTargetHost = 127.0.0.14 N# E/ `( M: f; m0 l
) \) Y! _( ]7 `" M9 f$ a& e
$ G2 H- F1 X6 Y v7 H, }; v# Порт для геодаты.8 B o; K9 \! l" o1 f" Q1 W) b* s) A2 W
# Сервер откроет на нем сокет.) I8 {) e) A" T' G' A1 |1 N
# Клиент будет пытатся подключится к нему.# j2 U$ q8 B1 ]6 B3 |& ~- g
# Игнорируется при GeoData = 0 или GeoData = 1
$ s( ^1 v* B7 E1 _! t: P. p: PGeoPort = 9050
+ U& M8 O7 n6 s2 \Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
5 [7 b- V% F4 g' j7 L' u w3 B9 b4 u& g) | Q: B' t) S) S# `
' L4 c7 Z" U) P
& T; d( ]. _! t# J" y6 h* F- b7 N/ l h
8 {& L/ {0 P0 E" @; Z( a7 x
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer1 g# c! V' c) \+ d
; d& E" U$ p) x6 r6 v F- J Q
) R9 k' i. Q( j8 C
1 @; {* k' U$ o% X
+ @0 S' ^+ O$ u) j. w# _+ j2 P! DДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
% V5 i3 s$ X7 i+ A* w) \
. M8 K( F# ]8 f, _& u- _& T1 ~; m( x6 T! E
! I- s% Q* E2 U0 Y/ H; ~3 }
2 ]# U! G+ t' B0 m7 T
# Обрабатывать ли двери в геодате* g6 G+ f0 q7 w8 z4 A, H
# Настройка влияет на ГеймСервер) a3 x7 s, o8 W5 }" g3 u& P- o
AllowDoors = True9 |1 @9 \- N# w- s- ~
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.( q9 p+ Z/ {; f2 ?
Пути размещения файлов геодаты:
& l- D3 n, z5 D8 c2 X
8 {6 d$ W# \7 S- \7 B9 D# K8 F
7 q, g" D7 p! v/ w: J, QC:\L2jServer\gameserver\data\geodata
) j$ v5 T6 ~$ q- W* z) ^1 b0 N/ Q4 i1 }
, g, H) i3 I8 F6 r$ Y `5 I3 O
+ @! Q) X- \2 `, t3 W9 Y7 t9 F' ^; R; |4 c) e6 x
И патчнода:3 A7 T. i H& M- q. C% J7 K; u
$ X) y1 \/ P' N& Q0 {0 P- K V; B! X0 t1 j$ G
C:\L2jServer\gameserver\data\pathnode
$ g; v0 z9 x5 G& D7 `! S2 k5 h1 O8 j9 W, l6 F: x6 q- h' z
) D: A/ S- |" I# }
j8 d5 t/ v R* p
" @ d" m* y" t* Y( d. p: ?& x9 L' P8 q
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным: a' J( f W* Z; e4 M) Q% w
+ h: X& _7 \ Z/ S& [8 F3 [3 I
* y7 |7 @" Q# U
* S$ p$ @, t/ v- K
! K. P9 ?+ l4 j- ?# J/ Q16_104 H) N# Y* L% ^% t7 N
16_12
8 \% T/ ~1 ~3 B+ _/ y$ q16_18( J( L: I* |( c- V. `# [
16_19
5 Z- i" Q% ~) C+ B4 H" v16_20
a9 P' W8 q0 n) V, O16_21- L, ]* f% R3 B) m- m7 e( i
16_24
+ a8 j9 E0 B2 Z" o4 ?4 Z16_25' l' c) H( S$ N( k
17_10
& E k5 R0 B2 U0 R17_11! B# S+ m& e0 \
17_15
9 k* U9 }" ^" }9 `17_16* i6 c6 d2 P9 Q- r( v
17_17
6 {5 n9 O; m) q7 X5 o17_19
9 D# f3 J$ [* `17_202 ]+ P/ O) N" U; u9 `! F4 K
17_21
. i# W5 J& P. O# ?8 m, _17_22: x ^5 ? k: Z, V3 V7 k
17_23- B+ q) M" b1 u- h" s9 [) ^ }1 v7 u
17_24: T3 o3 Y) m A# V! g
17_25! q# ?6 F& M/ P- n& B" W L
18_10
. `- }2 b0 Z* z. \18_11
2 Z$ `/ a9 P" y18_149 n% v. y+ ~ C2 V1 O9 |
18_15
% d6 @% O' D6 Q9 m6 e0 Q$ i18_16
( P) r( c4 j* e+ n# R18_19
/ M, ~6 D; K7 ? {4 g3 l% `0 ?18_20
) t& ^9 K, Q; f' o18_21- ^, P- n4 q e* O, P. ^! z
18_22+ {% X% U4 _! a7 ~+ q
18_23
+ @- X5 R! G% `18_24$ m( `; L# r9 Z# r4 O
18_25; R, Y4 ]( ?( X' M- C) T( m2 f8 W
19_10 n v% R) j8 ]5 j% q X9 `+ d
19_11
8 {/ a, w0 N3 f( `+ `" |: ~. F19_135 D1 y7 C9 Z( {$ u4 P
19_14 {3 _( @: t1 a/ H; T
19_15& o* e: E, a' t4 }9 }% R( p. ]
19_16; p( h1 e8 ~# n* b5 x
19_17
" @7 d, J" P0 }9 Q: C. b: |' @5 D19_183 v/ m! w& W2 Y0 ?8 g& _
19_19: m- f8 w3 ]* h. Z/ d1 j
19_20
& P, M% p' w6 K9 W% j19_211 y' E0 [' J# G/ u
19_22
* V: |1 j; o3 ]% J4 E19_23
/ B% m6 E# k- A% Q2 m19_24
: s" ?/ _* ~& x19_25
1 P' u0 q& s5 ?7 h# f5 x0 F+ E19_26
& t, m/ B5 t+ v0 `+ ]! [( Y8 O$ p20_10
, C: \/ L" s! q A6 d; L20_11
! `+ v3 b( ~- L0 O$ k* d3 G20 _13' e" e* T6 b" [2 y5 }) x
20_14, X* I0 r: t5 b$ N& o! y* h E
20_157 I8 |6 b9 ~1 H4 d5 y; w0 l
20_16. a+ ^- |1 |/ }" `8 k$ i( J
20_17* }: @7 }& N/ X$ G& J1 L2 u. R
20_18
; M5 X9 B' S3 E2 E+ O2 v20_19
5 ~: h1 Q, m2 K+ ^% g/ v, B& A20_20
7 K: }' C( L0 I& B20_21
+ v/ M d2 I; W- I& o20_220 }: }% M7 c2 G5 L, i
20_ 23
. d- d, r7 M; ^, ~9 U20_24
7 u. ^8 `9 @' ]6 D: }: @/ [' T20_25) q7 c4 @% M! P
20_26
: H, i; t& B+ U$ w. b$ j21_11" Q% b5 A' M4 z. `. t+ g1 O3 a# W8 ?
21_14
4 g' i$ j0 [3 S+ @, u/ I8 ]2 A' c21_15) X( n: z: T/ n% x
21_163 ~+ G0 _0 v7 w5 ]
21_17
+ P; g8 F" v, j7 ], D21_18
$ W E; s5 }: z$ Y21_19
8 T0 n: N) n! d5 Y: t21_20
; e6 Q9 Y& g W8 Y1 F21_21" [+ W9 a0 q7 D9 J
21_22
( j q7 ?, @2 N21_23& `# G) z9 T& s" E' X& S$ I( w
21_24
; u4 {% p6 J2 l5 C1 F21_25* P- f( R% ?& ?% q v3 x3 v
22_131 I; P0 ]% s! y0 x$ J. ]0 V, a+ W+ }
22_14, U" a0 L$ V2 S7 h t/ h) j
22_15( J7 Q+ x- H0 v- m0 j2 c( c0 ^
22_160 c F( Y( Y6 U" Q1 O& Y
22_17. v# ]# Y$ p0 o8 {9 _
22_18
2 b5 G7 p0 F0 Y: g22_195 q( l" d5 ^) g6 b* i, O3 d' F5 I
22_205 p9 k0 q8 I7 q- ~+ \
22_21
: D+ ]6 o5 }1 M4 d22_22$ C% v2 l1 J/ k( k/ l4 W
22_23
5 W) }9 |* L; q1 H" j22_24
! B4 T1 p# J9 r0 ^! p" _5 p( k" K# g22_25
$ ?) T) x/ [. }" f$ q23_11
1 F* [/ z; `0 q |23_12
+ p8 r8 }; z# W5 U23_138 V6 t( `/ g% w$ W
23_14
6 [% J' G1 Q) z/ E& @9 y. t23_15 Z* s' B/ a" J$ K, M
23_16
; Z, {0 g- m8 |$ C% {' h$ K+ c7 l9 C23_172 e( X( U7 z7 ?5 r( g5 i7 F: v
23_18
4 X; D/ `; ?( V" {3 ?& D# Y23_19
, L& D7 n' ~' ]1 ?! l- |# Y9 ]23_20
' R$ P w$ r9 m& i7 X- i7 N" \23_21
" R' c4 `! _2 V2 ?23_222 _0 k9 k2 C: U1 S; A# O' R
23_231 ?4 X& o" `* s. O
23_24
$ |: D) u, h; v, \/ V) e23_25
- l+ {8 R4 }, t: u24_11) i1 G( M/ {6 a P
24_128 y$ ~3 {5 D$ U1 s" ~8 ?; _: Q
24_13
5 W) R" J' K# d5 D9 E6 Z2 r24_147 u4 @) T0 e& U& G3 q
24_15! o5 a U& E: G5 [1 r$ b& M- D! J
24_16: O- u3 c7 [* e" q
24_178 Q# T% D2 v" N1 U# T( ^7 G+ h9 z
24_18
% S, A; r6 S n) ]24_19
3 w! p# h8 K' c. ]' Y24_20) P% {# ?; g+ ^* \0 |# A; b
24_216 N/ q0 a2 r/ z$ L3 i4 S
24_22
& P2 N: Q" @# i: M3 I j24_23
5 m/ o. d/ d1 y( P a24_24
# `0 M3 l. S* R6 b! N4 N6 w1 c24_25% N0 L2 r! p' y
25_110 W" a" |9 J& Y; f2 l) N7 l% j
25 _126 L2 V+ c! S4 [. T
25_14
& d3 O7 M; I- d m! R, W25_15$ O& v' c7 {9 }* |% G, e
25_16
; f8 [" }; P$ O8 m25_17- _8 M0 n( P' U& v/ y, j
25_183 v. R. B2 a E1 c# L8 ~+ z% e
25_19
0 d+ i7 d; Z) I/ t& \3 D$ r2 h- m, z25_20
- y& Q& R# O5 D' r; r( m" d8 V25_21# f/ w! m. X x
25_23& E* q- D: W& Y
26_ 11
& u- _' x2 Y! f& F. u: u; A26_12. ?" ]0 K6 `7 ]+ {1 ?- x1 G
26_14
; P& q0 H4 L# @8 L" t: [
3 J, Q5 c9 H' e: I" _" {6 n/ m) w/ X( B1 B9 y# J+ V8 q [
7 S6 u8 k: [( O0 }
+ ^- ]" H2 ]8 `- @В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает./ D1 R$ {) ^# m$ [2 u, m
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
$ W) T8 N, c! F) x& _) [#------------------------------------------------------------- --------------
4 e" \- B5 \6 _# Geodata! F) K G. ~0 K H6 v/ u9 `4 A( A7 [
# ----------------------------------------------------------------------- ----6 ?8 r' r( R; L
# GeoData options:
( h" K, j, [2 J4 z: J5 d _. W# 0 = GeoData and PathFinding OFF (default)5 o2 h" f7 Z; P
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and$ d3 f! `' i. | `
# L2Playable movement. You need to download files for data/geodata folder.
, L% _) m' ^- O7 z7 H! k# Monsters can pass walls but not aggro (no line of sight) through them.
. {* }- \* T0 M# n! H0 m, M1 L1 h# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode0 Z! p0 _/ G7 h H
# files if CellPathFinding not enabled) and all character moves go through
2 K9 ?: m8 q5 q1 g9 N, L# geodata checks (if a mob passes a wall, pathfinding didn't find a route% ?: F3 r" [7 S, I
# but we allow attack and returning home).
* T2 X& a: b6 q- P0 ?# Recommended server memory minimum 2 GB, rather 3 GB.
- z( Q) i4 K7 I0 m6 b& D# Default: 0, c5 V2 y4 a. S
GeoData = 0
' |, b9 ?- `8 E2 i) b$ n2 |5 c8 c* m6 b
, G' W. ?4 S4 B5 i9 M5 F# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
2 L2 b( u+ w9 P7 r9 u2 k Z# 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.
( e, ~$ @0 E5 b+ E3 a# Default: False
' T& B1 E# h2 O+ s/ dCellPathFinding = False
' a2 Q: E: Z& Y+ d S1 c7 }. y* [* q* N8 k
) A" I+ S: |/ r$ x1 c# True = Loads GeoData buffer's content into physical memory.
0 M, c! O1 g |# ?) f# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
: G" z# G3 [& k( E- _# Default: True
7 [$ ~- t# b( b* u' s7 JForceGeodata = True
% \4 t8 M Y7 [" q0 Y2 {. d& _4 y- z' r- |
6 S: F6 h, Y8 N8 P# This setting controls Client <--> Server Player coordinates synchronization:
1 z l7 x2 d$ b5 ], f# -1 - Will synchronize only Z from Client --> Server. Default when no geodata., e5 u9 E; V" b2 U5 V2 a
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.7 D& Q, z7 Q: e6 a5 U
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1)., Z1 G7 v) R3 H" W T
# Server sends validation packet if client goes too far from server calculated coordinates.
; n; q0 F7 V9 }! C# Default: -1; {: x4 X: P$ U- F" \6 h+ C) Y/ L
CoordSynchronize = -1* }( Y$ \, D" h& q& ^4 U
, w/ k: L& n9 a: A3 [
, }2 M* a% F+ X }3 r
9 R3 C& B4 a8 c- r* o) z% E3 t+ N! z- h8 Q, `# U2 Z2 F: @3 c) i3 p
GeoData = 0/ b! W* c. g; S# R( d
7 D" W, ^0 @1 k& n3 C
" G4 C; {1 M7 D$ T0 x3 |* A5 G# t4 ^
$ n8 d. {. x' t' Y) k' ~+ V O& p! r: k% m7 W( A* ]& D: r
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.! l' L* C0 e! [: D; E# L
Ставим 2 если пачнод присутствует, так же включаем эту настройку:. X, G: n/ g. I) J
: n2 N2 [ r9 k( W8 u6 O/ v# _& s- ~ N/ q; H/ L
8 \7 j! @* X$ p, Z% u
% Q+ M4 Y3 ?3 U) y F# t# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.; q# c0 m' |7 |5 k/ X
# 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.
B+ k u, `; m, k8 c4 k# Default: False3 A. t. s" Y7 K8 W; \, k+ e
CellPathFinding = False
3 v; w* s5 ~9 D% E2 T
: D6 q8 W% D1 P Q* y8 O) |
2 l- Z( L$ W ?( ?. Z7 a
6 ~1 e6 `9 r3 n( c$ m2 G* F
1 }% Z6 d: C* l6 Q. aСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
4 s: i! `! z' B; VПожалуй всё подробно написал, спецы дополняем если что то не учел.
8 g' b' T7 `$ M$ L+ Z2 \
6 l7 V7 t; B3 A0 ?: V. ^# N' e( Q% [- k
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.; w- R( K2 x* d& v! d, K
$ K1 W- q. s5 @9 z7 T. T9 `9 HИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
& ?7 Y/ ^% [4 t. ]8 A4 s% v* t7 B
- k1 o* G5 o* s7 t! z/ G |
|