Хроники 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 Kamael5 d" n& K7 D2 r
Сборка L2 Java
* }5 N5 _3 O7 `: e- y. C% d* t! S
% i- L3 J7 v# e
Доброго времени суток.
- K+ ?6 G, L; \; o4 o( n' y: d6 M$ w y' I6 n
' d, E) C+ _0 g" GЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
0 j8 D2 J7 U- S5 }) qВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
1 x2 r/ S! V E. g. _Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
( g. {. } l6 l' r. U2 S3 j. s1 T0 eПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.4 L1 y4 u; |" t3 B) k6 a2 K. Y4 s) V
! D, `2 {* N/ N3 O0 E- RВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
9 R5 A' D: i9 Y M. A# K5 Z( [! @1 B) l0 I' \2 p, e
+ n, K# e, ?* m/ g- I, N2 ]& L. XНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
f: W- O1 O# @8 HГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
6 R$ G7 P5 L& [, _& G" _Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.4 W$ q8 S* D- g1 I4 P
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
4 W* S0 v6 A; U' D% p+ g
% j- z( x7 z4 `1 X$ f! \# I/ B4 X- |* R+ m" E8 G$ N9 H6 @
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
# d% \. V( h7 L. Z2 b% lКоличество файлов пачнода должно быть равно количеству файлов геодаты.
' D3 T* \/ i% Q& `& ?% K1 `, n$ K, BЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
n$ S# [: t, A1 J, ?4 M, nТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.+ o. o- W9 m& B: V# \
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.: k$ S' h* z- W: d0 p* n- R
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
) D$ O" ]. L7 y$ `Установка геодаты на сборки без пачнода (Rebelion):
2 I5 D+ g" D5 P+ t ?+ f! k8 cПокажу на примере L2Dream.
5 [( N" e" `! m$ Q- p+ JПуть куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:" E2 N/ b& s$ o7 t" E/ K) ]
% @9 N7 S* C { |7 y8 x+ V5 x2 V
2 w9 O' a, h- {0 v K% P
C:\L2Dream\game\data\geodata% S" L9 Z4 h2 m
- I8 p, X/ T: s9 `6 L, g5 f
, r) Q% G: E6 E0 i4 [
& W5 m+ m( m4 R/ R% I/ `" }( k S i
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.5 i+ |; v* v' |# a8 A. G
Настройка.
6 `* v* Y: X$ j% r, p0 D+ B7 y) ~, GИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:# a+ k1 V8 V' T B. N- |
#================================================= ================================================== ====. E& G6 t1 D' F0 a0 X
# Даный файл является конфигуратором геодаты.$ l+ R5 E, _7 }( o h9 G
#
0 z0 p' d2 E' v# P& Q9 q; w+ t- o9 p# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
# s. G6 p3 y; }: [$ Z9 q+ |1 v. H#
: @6 W8 p. t6 J' O# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
6 N* V" k3 I- ~# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.+ y# R1 I& c w* Q6 t' H# v# ^
# Ну или просите прикрутить SSL.5 m4 j' w% [* L6 c9 Z
#================================================= ================================================== ====
$ Q- O- y- |6 G3 W) b, e; |6 S$ o" d/ R* Q: u4 H0 Z
( t& P, U! {. K9 j
# Включает/отключает геодату и поиск пути.7 |6 V( g3 y) c2 c3 p
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
& j; p. y8 m" g8 l# Y( O8 n# 0 = Геодата отключена.6 l5 u& W2 v; T/ [1 w& q
# 1 = Геодата будет загружена в геймсервер.
C/ j o( l* [# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
% l) M! H6 `5 P% M# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
* p5 l& `, q0 M$ l# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
1 u7 r+ s2 b' n- o$ W& M" t7 ?& L. \' U# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
, s$ B6 H% H' G+ f0 l) aGeoData = 0
4 F3 F: g2 T; ?3 r0 D- m2 f* L8 h* W# E6 W8 x4 |! \
8 t! a7 z/ w& b% y
# Хост для сервера геодаты.1 B7 V# Z5 q% Y: w4 q
# * Забиндит все интефейсы.
0 {$ x* @" `' k! k# Игнорируется при GeoData = 0 или GeoData = 1: O/ a, @ r2 F% D7 @
GeoServerHost = 127.0.0.1
. T8 I5 W( `- v% e* o) X/ @+ s! Z) Z0 n% M' E/ c2 V+ T* d3 E4 ^* @
6 @+ g9 h/ I2 U) f2 M
# Куда будет пытатся коннектится клиент.: j. F* F+ W! o
# Игнорируется при GeoData = 0 или GeoData = 1) O3 R( G5 p) g2 h0 H0 g" h, i
GeoClientTargetHost = 127.0.0.1- h J2 C$ X" w7 ~7 C9 H. S/ [& V" {! H
) p' G5 ~# I7 _, @4 ]; w
- h. [1 ~& `8 T. w, y% e6 ~: F, R/ h# Порт для геодаты.
7 u0 C6 |9 [2 Z* D. `4 P7 z. k# Сервер откроет на нем сокет.& X( f' D" v! m$ |; f
# Клиент будет пытатся подключится к нему.
7 P) s J/ r$ a' i$ j7 q# X# Игнорируется при GeoData = 0 или GeoData = 1* j9 Q) s" z$ X3 M7 w2 m' a
GeoPort = 9050
) Q$ c. u2 T+ W. Q: i. x4 u- J* y! J4 k0 Z, I- T
8 s/ N' C1 \5 y' T
# Сглаживает путь.
5 }+ ]7 n" i5 D0 Y% x! `) U8 ~# Стоит отключать только для дебага.
& q1 i& O, q ?% N0 y4 ?7 d" c5 \PathClean = True
3 G/ `3 j% x/ O9 P4 } K2 F* x6 N D! `3 P0 l7 j
9 n; e, t4 d9 s
# Обрабатывать ли двери в геодате# G+ J S6 u) m, f% Y
# Настройка влияет на ГеймСервер
% i B: L# D: Z- Q6 @AllowDoors = False3 x; o, u; |2 v) s4 y, `
7 ]1 z* A* |3 V8 j, o( `
: t4 j- { a/ X% b8 hPathFindingBoost = True1 c3 E. F) ^& e& N
PathFindArea = 250. b3 H! G8 v Y6 L; V" Y m
Внимательно читаем,нам нужно это:
$ D8 n) M- Y9 ^; o) o# Z! B4 e, k0 ^' x, |2 x, q% y3 ?$ a
5 J2 a' X5 u& x7 a
, G0 ]( m" v$ y3 a1 \9 n B4 ^* j
# Включает/отключает геодату и поиск пути.
( l+ N' l& l2 ^( g$ w# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.+ _, \2 k; @8 M; @
# 0 = Геодата отключена.; ~; X' L* j( z2 W7 R8 w2 E
# 1 = Геодата будет загружена в геймсервер.
]; y3 f3 r3 a! k4 H+ M7 Z, I# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
( @. c+ Q4 c2 Z* w) b/ n' ?# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
) `; R, |0 s# j* N7 [# t# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
1 U* U; B; M$ w- d4 c5 @ E* x: ^! \# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.$ y+ s% w. Y$ w x7 {3 O1 s5 b" E
GeoData = 0
6 I, j9 N! I: T/ D3 C: Z
. F6 E5 m: ^4 A3 s
2 [& v9 w4 |+ a$ I: P, Z
7 M( l- V' J* C' Y- R
% \# b% O4 y5 |% d! Q8 L5 N! \В этом параметре меняем 0 на 1.
* j+ S, [) T8 A7 e3 W5 A2 ставим в том случае если всё таки решили поставить геосервер,его настройки:, q* `7 G/ E. C) j5 Q5 V" J
# Хост для сервера геодаты./ g1 T' r; m$ W, d% ?0 }6 x! J4 R
# * Забиндит все интефейсы.+ T3 B$ k8 u& ?
# Игнорируется при GeoData = 0 или GeoData = 1
4 \0 a" q+ W5 ?. ~GeoServerHost = 127.0.0.1
* `8 T; Y7 R( h% H
. ?. X# b& `1 ^
+ o: B" Z) x$ a t# Куда будет пытатся коннектится клиент.
4 K2 N6 G. e1 d' m+ Z% |' \# Игнорируется при GeoData = 0 или GeoData = 1
5 P/ r5 S0 D. v9 |GeoClientTargetHost = 127.0.0.1# ~" i& D/ m9 S5 _" l# @8 s
4 p& U5 ]) ]# W" g- V
$ T1 f1 [- N0 t# Порт для геодаты.6 D2 a Z" \6 W- X) ], t
# Сервер откроет на нем сокет.1 m/ ?$ z5 w; L) b& K
# Клиент будет пытатся подключится к нему.. @: E: v% O# T5 a+ g3 @5 |; u
# Игнорируется при GeoData = 0 или GeoData = 1' t# ]* K2 y+ E& H' e
GeoPort = 90504 Q2 F1 y% v/ L9 u( J5 l, B
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
% e) s; p& ^0 Q+ r% c2 A" O. o6 p, a! I4 x. m
7 H4 e1 T8 }7 @$ {; z8 s- c j" s; p9 f1 h0 m$ M8 b
4 U% `. h# W0 ~1 r+ b, s4 Xjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
[" b% f( I& O( `) v9 r, p- F
' l+ f( i$ G6 ~$ k0 r: {& B2 J& r/ b1 B! _+ n
6 S' v6 E& q2 h, r6 v) I4 k* Y
* W) u6 m# A9 t6 p7 ZДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:+ @& s' G3 `" ] y4 W5 ~# V
2 U* a$ H( j+ [2 d6 J: Y2 A; G
4 N! T: m+ h4 _& H0 e/ z5 W1 b0 e9 C( j1 O0 v8 X: f" N
) a2 Y6 Y% C6 Q9 k$ h# B5 n# Обрабатывать ли двери в геодате I x9 A8 g g, r+ R2 ~
# Настройка влияет на ГеймСервер
7 n s$ v7 ] b- [& q% X9 IAllowDoors = True
# z# }$ P {+ q+ O/ w: nТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.1 B! [1 h- [! u/ C! ~* o l7 T! S
Пути размещения файлов геодаты:
, }# R$ A( j& J* b1 s% l9 t3 n
& ^( J6 ~4 `+ w( r) L; @* ?) ?
C:\L2jServer\gameserver\data\geodata4 d' Q2 w% s% K$ }- y! c" J
$ u* {( K+ O! K# t2 m3 u/ |
. T9 }' a, z4 i# D0 q& h3 s: d+ c5 {! d$ E3 D5 l6 V' R6 i
. Y3 j: Z( Y c' @И патчнода:, W. I, _. a+ R* u$ b6 g
' K; }( J: w4 q. J- r4 J J1 F/ [
C) R5 d* A: F$ E% | P" h
C:\L2jServer\gameserver\data\pathnode) ]9 p# V }, Z) s- i
0 S, S/ g2 S- _4 V* r# u3 {# S) c# z2 ]3 Q: M5 U: `
/ }: @) [) F6 ?, Q7 Y* }9 ~0 x
( G1 X$ g' V+ \4 m h$ `; e, E- p
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
7 J/ y) g, i# f, R" h% c. o) ?) W' e* R7 ~7 d- e1 t# J
: @5 Y, t) v' S/ g# }$ }: W- m; J. N0 O& k* m: c9 g6 A, @
D# V! x, T2 y7 \
16_10
/ A/ h& K. W9 u' W3 x0 K1 Q16_12
. `& y3 i4 `. H! w- [# ]$ h5 y16_18. n' m+ P0 q o+ ?( I# w
16_19
7 ?/ [) z- z- G- @8 A$ `( ], q16_20( @! C5 J. e j9 d1 q$ j
16_21: w9 \! a, d3 v3 z2 Q- u
16_24
+ _5 K, w3 ^/ {: x1 r% Z8 d5 y7 X8 B- h16_25- z; W; k8 h/ t7 y
17_10
3 b+ P" o) H: ?* h3 X17_11
- C% T; n1 e! [" @" l17_15# |* t2 ~! S5 o6 V
17_16
$ D# D1 R. O2 k& h17_17
% Y9 J1 I# e# _* j17_19& p% G C% p$ }/ I+ m% l
17_206 p1 B/ I% l/ c2 N' A+ d$ S
17_21$ U7 q6 t" H6 n% j) [
17_22* V8 Q9 v7 I3 s
17_237 C( Y6 D$ a6 V# ]1 J6 b' D0 C
17_24
* \0 H# s+ P# Q8 d" E9 a17_257 {/ A$ K1 w. ~( }
18_10
2 `' k7 t! e8 \0 ^$ E, f! H18_11
! p5 X; j. {% o18_143 m6 l" f I( x0 \) n5 @( s
18_15
- j% q w9 C4 H1 m18_16: @5 a A. P5 n5 Y
18_19
i1 J6 y% u$ ]$ r18_20" b5 p* ^! V! H& c* Q5 p& R: Q
18_21
$ A* _6 G L* `( b! n18_22; J# E% q) A4 \6 l. v( G3 C' v1 r
18_23
5 J3 o4 ]4 P, F7 Q; g' d" w/ a7 a18_240 J- a, j% C* ~1 l
18_25+ A" @3 W2 o. o0 r) E6 Q
19_10# G5 v: S9 O& T: M p
19_11
, e }* E. v! m, F" H19_13
3 z+ J) Y+ G3 F/ L19_146 U0 Q, R- ?( e! n5 d
19_15
. ` s. Y, T6 U4 H' ^5 i19_16- q- `5 P* c( Z
19_17
3 F- X9 J" M" ], R) @19_18
( D: p7 }+ Y. D19_19
9 Z- Z _% Z5 ~* Q- e" E. s19_20
+ x) V/ U8 g! v r* T. B19_21% j6 l& R1 `5 i4 B# ]0 ^8 q
19_22/ Z9 p }; q; L5 Z8 h, b$ P
19_23
- g+ d% ?* K2 D! {' ]+ F# J19_244 v1 E, ~' s9 F( c" F
19_25
6 {! T4 ]5 D$ \19_266 E6 ^5 m3 [; a- g4 u/ ~# I ?1 |
20_102 I, j. j3 w; d% `* M/ t
20_11
0 ^4 i4 M0 n: i0 ] Z6 P0 T20 _13
- R- ]0 y* y. n1 _5 F20_140 \7 y# @- R/ z( E0 E1 d8 Z" U: C# d
20_15
( B& g6 A! B4 G) E; m3 \20_164 b4 y2 S7 \+ D2 s& k; `0 c
20_17
, Y1 I6 V; j; T3 N5 e+ B3 y7 j20_187 W' I- b1 F; P6 j( C8 y
20_19) o% u! B* O0 {2 m
20_206 h* y$ l9 _/ E% k5 U
20_21' x' c: P& @+ G# h! D( m1 \7 p
20_22
7 ^ B e" p- l! {& \4 f6 n20_ 23
: n) }: b7 _# ~9 Z: _ ]20_245 T. ^$ i% a; t+ J( ~3 Y
20_25- B) r, L! X' _, @$ d8 z& |
20_267 g- }8 u, b3 C$ k7 f" x4 \# d
21_11) O* u' e8 X: M9 ]4 [% I/ Q
21_14$ T! S8 d1 A5 E% q, Z2 v* ~
21_15& B% w5 k% I( p1 c
21_16% l1 \$ s+ E E5 t
21_17) l9 ] a6 j- y! S
21_18
) @; O: ^' b$ z- e21_190 @ Y1 l% t- U% u1 L% f; |7 T& x5 d
21_20/ o/ ~9 e4 Z, f+ v0 l
21_21
- T9 c5 o9 X0 y( S* G, N1 T, ?21_22. m8 L9 m6 [+ I5 ^
21_23
9 S/ X7 |3 n6 i2 ~21_24
8 C: ^- ]+ P! c6 M21_25
7 ^9 u4 J1 I' L22_13( `4 G4 e; z- W# }4 U
22_14
) s5 l9 [2 z6 z0 j, Z9 N22_15: B' w( C" ?" h. q
22_16
; G. z, x+ N- U' e% O# A22_17
+ M" O: U: @& ]' Q, N R22_18
( r/ [# H( e' ^# i5 E22_195 \! O, A# l/ G8 n
22_20
' l9 C3 K+ Z x$ f! \: [1 ]22_21
4 C3 U7 U6 S* H4 Y22_22
% g' J/ G5 t& W. ?22_23
3 j3 l: h, [$ n/ i' d& v. w22_24' V0 n- G2 {8 q8 S5 ^5 I5 N) Y5 g/ T5 i
22_25( T: k% W( m" R+ k% j: }- t6 x
23_11
3 T+ g9 N$ l4 f7 p; O& g) z23_125 _8 L' ~0 Y; N$ u
23_13. G9 k: C8 [+ ^" e J
23_14' Y4 }$ J! }1 p+ S
23_15
! F5 h. M% [3 V. U+ o- W8 e+ z' p23_16
; X+ ~- H- D$ m( Y23_17
" Z4 _, ]/ \: C' M2 h; G5 i& c23_18: I$ q( n& Y9 E8 ^. Y( A
23_19- u' Y' b0 j8 [
23_20% t: t- \" A% A. B$ A9 i
23_212 [5 E8 m5 W8 W# S# J+ `+ A
23_22; S0 B% m) J# f5 b
23_23
. \ J: h, E y3 H8 ^2 ? U0 J23_245 r6 L" A T2 ^: a9 k5 K
23_25
0 v# U( |$ g8 B, j9 A# M24_11: ?$ U5 ]$ R2 }7 R0 I2 q1 L5 ?
24_12* i" O- H# p$ J+ z! X# t5 b, U
24_138 k, x: [! l+ ]3 G P" W
24_14 c6 t2 f9 |2 V/ R8 A
24_15! q z" K/ N7 E/ }. ?3 u+ }
24_16
) {7 W; g& ^% Q( n7 ]24_17
; t* g: m- j4 r+ l! q7 h4 ]0 X24_18: ~8 O! M! u. p4 @1 o2 _
24_19- g9 B, j9 i1 }/ E M& c
24_20) T7 \4 s, S$ v% O/ P q/ B) F- v
24_21+ z: N: s4 j2 J/ b% ?* Q
24_22' u5 H0 Y5 \3 g6 Y
24_23! Z3 w. ?3 ^) o8 U8 H: f4 x
24_24
& C$ C3 R) [' i5 J: u: U1 J; |24_25
5 o) _* `0 k( ^25_11
# h" O+ T3 s2 C7 Q( ~$ H7 ?$ S0 o25 _12
$ N2 t- q9 T& d k5 T. _25_140 `3 R9 g6 _( C
25_15
h* t& q% V1 @! l) H4 u25_16 b: z' p# F! |, d# e
25_17" R; W6 w1 _6 c& y. J! g
25_18
7 e5 {4 |3 F. ?% ]3 u9 m25_19- G* Q# M7 H& f
25_20' l/ c. T! l1 Y% D
25_21; q5 ^- S; [4 j9 s" U
25_23" K9 F/ v( E6 m; A
26_ 11
: X$ U" z/ H1 |/ @( u26_126 o( U4 R; Q" r$ w
26_14# S0 F$ a8 Z$ O }8 M, e4 ^
% E* K" R/ ?% P: B/ _! R
( U/ v, U" A3 K8 Y( z) o: X% W, l) Y7 E: m' w4 a* o
7 g& @) c! U7 `" h- q! Y. MВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
7 ~* X* y+ o' l* UНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:8 N9 }3 p- y9 R/ p0 D/ q# `
#------------------------------------------------------------- --------------
5 B5 J( [7 H! V- R# Geodata# }& S `' i9 }4 g6 Q" r8 K
# ----------------------------------------------------------------------- ----: j! c( }7 F" @9 p$ l/ {
# GeoData options:
/ I! g2 {% k: r2 A7 B- i; t0 \7 I# H+ C# 0 = GeoData and PathFinding OFF (default)
) Y' ^' E R$ r! p" p! C# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
$ k4 y$ }" g3 {9 h! ?# L2Playable movement. You need to download files for data/geodata folder.
7 Z9 }! p" t2 @% E' Z' O, o: v# Monsters can pass walls but not aggro (no line of sight) through them.0 x/ p0 [3 g& R# S$ ~# K2 @
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
- V8 N( ]. A4 {4 p( q# files if CellPathFinding not enabled) and all character moves go through
9 z5 Y# M9 |1 `+ s5 T# geodata checks (if a mob passes a wall, pathfinding didn't find a route$ L9 r9 }, o1 F8 t: G
# but we allow attack and returning home).
' G2 ~ V& N) O% s( o- N' d# Recommended server memory minimum 2 GB, rather 3 GB.
# O# [4 ~* y7 M2 ]- s# Default: 0
2 z( r$ |# [: y9 a) I& l- G0 C$ `% p1 XGeoData = 0
2 u- B" [$ L: p! v) f( i
L+ L8 |6 o' f4 \3 f8 `( r( A$ l- O B! b) r% w$ I) T5 m5 w/ ^
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.7 I* [0 z# N+ G
# 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.4 \: G- I5 g3 i9 s S& W
# Default: False% U; g" L( l& q
CellPathFinding = False
& ^. N: q! M/ \, `7 r) D. H! s& |$ V* q8 n
! q4 n! Y w0 \: T# True = Loads GeoData buffer's content into physical memory.
6 Z- u+ y! z% q$ F+ @9 }# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.! D$ `& s7 L# U
# Default: True
Z7 v8 U$ s4 m! M& F. uForceGeodata = True8 l2 E) Z, c0 B1 K6 f
6 P) w7 {' A! L7 \' X7 @
5 ?' m5 V0 G( U% S
# This setting controls Client <--> Server Player coordinates synchronization:
6 J! W9 y r8 s# |! J9 E, Z# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
( m' g- T$ G/ B& A5 ~) l+ D5 t) h# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
9 N0 L) W8 B m" T# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).
% z4 b4 P5 j d4 f" c/ r: M# Server sends validation packet if client goes too far from server calculated coordinates.
. X- \: h' p( x$ L" p i7 G# Default: -15 X% h6 K: V7 s3 x& a* W# `" H9 v
CoordSynchronize = -1
- U+ `& @7 {! N0 w
& s) |* \ Y9 L+ C6 m- u4 P
3 Z: d( Q- d6 t/ w3 A0 E
8 N/ `' {! p; Z8 i: s; O; f
9 p" W) V9 `" B* hGeoData = 0
; U% b, P9 U2 M- M$ q
" n/ I7 ]% A7 \% G& D& F
3 ~0 i; X' T! r" J8 z$ \+ h. n/ H1 f$ T
5 V( |! F# c5 [2 S
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.6 l8 W4 x, w, U4 ~4 q9 o- \
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
- v7 c- _9 ~. W6 u0 }* H: @4 P) `( M D! f5 d7 i
; x7 U. x$ m8 o9 m' t; s! \
/ U/ p' O3 Y4 y; N2 \5 y5 Y5 Q* F1 I! u9 H% n* ]3 t1 `
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
3 N8 T( q; f" g; \6 B# 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.
* ? a8 P3 j( V: u8 V# Default: False9 `& j( a6 S- B8 p, u
CellPathFinding = False
5 a4 |( M0 }1 p" b) R8 f' d* ]3 i; c2 |- Q1 e! G
# ^. F# {6 H; O' L8 ]7 z6 `% w
- n) V! r9 C: n( L$ G
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
. M/ q& I9 H& p3 P" {, F" {- Y7 v' v( \9 gПожалуй всё подробно написал, спецы дополняем если что то не учел.
- C0 o% ~+ a( r l8 A- S& M# Q( {: N( N" R+ D8 } B& |! h/ ]2 [8 u
' e8 g4 v+ y; t% ?5 Y/ TНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.) V( C& D: T/ g' ?0 i, k1 @
/ r, O9 p' v& F! f, H# F
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.0 w2 ^! B1 Q# B. Q% j4 ]- I) ^" ^6 E
# T9 E5 n0 {4 O1 n* T: Z |
|