Хроники 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/ f* ]9 N8 |0 j/ ^8 A$ z3 G
Сборка L2 Java
* }8 \, c: a4 E- [+ A' a G/ t6 U& _! a9 Z) G- n
6 }. S. S+ k1 x$ L. f; KДоброго времени суток.
8 m& _7 a' l0 k
) f( o4 S% D* B3 V7 [+ o! G1 ^
$ ?5 P [% O/ U! ~4 RЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:. ?! R. S9 Y) `. U* V
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
5 N' ? v9 X! R9 Z# x7 `6 }6 dДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.! h* s! N' y, E5 l4 w8 f* `/ ^
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.; o! `' x% o8 i) L K9 l Z( P
6 x/ A" z! y% q7 N3 qВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
( z3 A$ O" P, ?) ?+ @, g# y$ w# z8 P+ Y
0 E4 J0 H$ N! o3 A6 Q/ ~
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
" ~7 G' ?* A+ fГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
# Q# Y3 R! K; @/ f8 Z! S! QРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.) Y5 x/ o+ Z: e) I2 t2 y( Y& G' W$ H
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.' }1 r. H u( W& b) b- Z7 t
7 i& A0 ]8 T+ _. k( p
4 [) Z" f% ~0 v$ t6 y: eЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
8 z8 j+ x, W: G. d0 Z5 x SКоличество файлов пачнода должно быть равно количеству файлов геодаты.% `- w' M9 w- a! r2 ?
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
/ u2 |, M) @ h1 s8 oТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.( t: R1 Y5 K) Q& u3 p2 N. i+ E
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.9 I7 b, b& d3 L0 F3 {& G9 O
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.3 F, A' u9 @! u; X
Установка геодаты на сборки без пачнода (Rebelion):5 ~' q; t7 L$ z' d% ?+ n, D
Покажу на примере L2Dream./ X, W+ D0 ^7 R( t; j
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:! o# Z, I `. r* \2 t$ l/ F2 J
. J( c: {- K+ |+ r: {# q7 T
4 Q) X' e2 U9 s) T; x7 O( _5 |
C:\L2Dream\game\data\geodata; d9 G, f; n2 C9 V, ]
: ~. c9 T6 ~( G6 k1 g) X. t, d t# y, y7 Q: S! [ F$ Z
1 D1 g8 P' g7 d. x7 [2 U' X
" |5 |6 `! W. L9 E3 `$ L fНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.0 I7 C+ V" U; `8 s, H
Настройка.8 d1 c% @" J4 w7 K) H
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:, m* i# o+ ]4 ~& U0 f5 f# \
#================================================= ================================================== ====2 t( H6 ^" b* L7 l" D/ p7 O6 t
# Даный файл является конфигуратором геодаты.. R, A0 K% q* M, f! _
#7 V0 f$ j/ F8 o; q6 r
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
+ z' C: c- H# j- d* M8 l& _& _#
$ j7 D s' I) i/ a# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
9 c! v6 c( Q$ ~2 T4 a8 Q# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.4 I9 n) S. T( ~3 v; b( w
# Ну или просите прикрутить SSL.
/ x1 J+ B# z4 P, g' ~6 h" t#================================================= ================================================== ====' L- [+ k T5 p6 e
5 V. u t7 o# {4 p( } h
7 ?3 x1 W V2 ~' C7 z& y+ N. D# Включает/отключает геодату и поиск пути.
; J3 A; ~9 D5 P, d2 ]7 g# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
1 A% b% u0 M8 W4 X! D4 H# 0 = Геодата отключена.
) B; O& x! x" R( ^0 }4 A# 1 = Геодата будет загружена в геймсервер.; x+ X8 {- G5 E4 l
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как$ s) t/ g2 W3 g) _: N) V" n8 W
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
& |# n/ q- o' p: g$ l) L# B# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,6 ^, c A% t6 L5 D' i
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.9 n1 j3 [" }/ ?7 T: L9 x# J
GeoData = 0; I! \0 y3 N: [+ v9 |1 S ?
4 j, g x' p5 f4 }5 F3 ], Z# d2 C( ]) r' \2 a/ g
# Хост для сервера геодаты.! o% d: |7 P2 D, k
# * Забиндит все интефейсы.
6 n' H8 Y T9 q1 J8 m/ F# Игнорируется при GeoData = 0 или GeoData = 1
: g1 r5 @' d# B% F7 v/ t5 yGeoServerHost = 127.0.0.1: ]9 t3 q' G5 z: E! w7 I
' O! J. n* v2 O! ?9 z7 o, o
* B4 {1 q/ r& U- P! Y5 R
# Куда будет пытатся коннектится клиент.
; w7 s* f( K1 Y8 y: m# Игнорируется при GeoData = 0 или GeoData = 1
% B7 I' K" U, _+ K% D! ZGeoClientTargetHost = 127.0.0.15 a/ n! W3 k1 d
. [# h) O+ J/ I* C" M$ t8 K* o- P
# Порт для геодаты.& K2 M4 y/ {7 B5 `5 k- C5 R# ^
# Сервер откроет на нем сокет.
1 A _7 P4 m2 C8 F- z6 s# Клиент будет пытатся подключится к нему.* O! j/ S) }1 V$ E: ?) b3 g6 P
# Игнорируется при GeoData = 0 или GeoData = 1$ c4 R% S; n+ J3 R
GeoPort = 9050% W! o% b! B, d
u5 z# u2 f7 L E+ T# B/ I; ^; k I2 \: f1 o8 B; a
# Сглаживает путь.. y2 N7 C) }) l" E$ a( v2 N# r
# Стоит отключать только для дебага.
/ Z7 y" Y2 y; @6 a( GPathClean = True
* K. V- P3 h I- ^
$ E" d# Y% C( h8 v8 N' k2 Y3 }6 o+ q7 w2 K! g; X3 P* E1 F4 c$ B8 y
# Обрабатывать ли двери в геодате
( z. x2 a8 o7 t' F' F' k- x# Настройка влияет на ГеймСервер
$ M3 x# Z* m1 i- k8 {" MAllowDoors = False
0 C1 u5 w, {% z" U8 x, T7 N9 c5 ^# z7 }8 h
: G! l C/ N; t2 q$ m8 Z
PathFindingBoost = True
: b/ _# l$ B' B+ T/ @- T9 J6 B, wPathFindArea = 250
5 t; ^3 t' h* g' v' \3 hВнимательно читаем,нам нужно это:
" H6 G/ n [& O; U
2 z; l& u# H# m1 X2 a! q* {' y+ V. f8 k/ S6 H$ |4 I* B
$ B! Y1 W+ ]; c6 r
0 f9 M4 b' p4 s7 p# Включает/отключает геодату и поиск пути.+ V {# m2 l1 O u
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata. j% L0 `5 a% W. @- g- h8 ~
# 0 = Геодата отключена.
) L( C9 o- }' w* _) ^2 f# 1 = Геодата будет загружена в геймсервер.
: @0 k7 M1 E9 Q! l! o& U7 {# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как5 P" Z G; |" l6 ^, I @
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами6 j) S( s1 z) d
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
8 I2 ]' q6 e) e1 h% f( J2 P5 Q# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.# F8 @: i$ j, c+ C. S9 d
GeoData = 0
9 V. p5 L* i1 z5 q8 ]
- N+ m! ~- I: ?4 L/ \% v) Q
8 V, i! D" j! D, @" [, u, a6 S
, K' ^! ?9 c* B$ l/ K: W; W6 l0 A( ]$ f
В этом параметре меняем 0 на 1.; f' o6 m' U! h5 ~* F
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:5 ?/ y# f: x% P! M O
# Хост для сервера геодаты.
# @! `0 e# p9 ]; V" ~$ u. _" b8 N# * Забиндит все интефейсы.0 i0 @. X* C) U1 b' s: \! U& J
# Игнорируется при GeoData = 0 или GeoData = 1
: F0 G2 d) ~$ K9 T) q/ m* u1 oGeoServerHost = 127.0.0.1) ~$ j, r7 d9 S! C3 n
( E) {1 m! J# n2 n! v0 H
1 K" u5 v" c6 f* D# Куда будет пытатся коннектится клиент./ h G7 |) o& e5 w
# Игнорируется при GeoData = 0 или GeoData = 1) S, t' P7 I [7 V2 H5 g8 Q
GeoClientTargetHost = 127.0.0.12 o$ O2 w, w$ q& B( N
6 I2 m" M2 p- z" b, ], Z( B! D
# Q: z7 L; X$ U8 |# Порт для геодаты.
8 g, I2 b5 C Q" B) C" k# Сервер откроет на нем сокет.- n( P0 p2 f& K- ?' H$ R
# Клиент будет пытатся подключится к нему.
' u- B# w2 {% a3 @' V p# Игнорируется при GeoData = 0 или GeoData = 1
. z" t* n* T3 \GeoPort = 90503 W: m9 ~: _- d @& i/ g
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
4 n4 {0 F+ q5 |' X+ H: {. o$ c1 e6 }& y
1 ~" Q; e1 K$ w$ d# U/ H9 o& X8 U9 f" I+ o+ b
: q# d! P8 Q4 ?% F& O
java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
4 L( i5 m: p! [! Y" {; {3 f; q* ?, G
$ w% U, ]5 X' \& b! z' ^
& \/ t; w' v# A7 n# R9 ^- y4 b* @: p7 a5 @+ { V
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:
, {* d5 ]* M9 W5 I4 U5 A# N4 [( m7 i5 Y
6 p8 d7 S% G1 A: L; I- ?
1 |3 v& D; ~4 T; ]& |8 d0 l) G f" P
, R/ v+ z$ _+ t' t! [# Обрабатывать ли двери в геодате
5 j w3 q; @( h' {( C# Настройка влияет на ГеймСервер
& Z' | c% O! k, oAllowDoors = True+ E* S, h) g) s" h
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
3 B- ^4 B% U( w8 ^Пути размещения файлов геодаты:
% c4 O5 M. ~- |. C' o4 A. Y) l' N9 E
8 O4 }) w% b! _5 rC:\L2jServer\gameserver\data\geodata
/ r& q( j" j+ Y1 T8 X" [( C. J% o" D1 C
' j) v" I5 G c4 v, y
' @1 i7 j- V5 [
, d; U0 P7 }. D* JИ патчнода:% M0 y. I$ y. e4 x
6 D) a) P( A5 e8 c; h% t, [7 N* ^# Y5 y
C:\L2jServer\gameserver\data\pathnode
* i8 j; B+ ~; X3 n% u! ^4 D u, }* i3 r4 I' D" Y+ d
' g$ ?% Z; N1 x8 v, W# |- T% z, H
2 v. ^9 E5 x% R6 M. b! E7 ?) v- ~1 z+ o2 O, B
В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
. d3 q- |: Q$ w& ~3 a7 x! g
# E3 L( D/ V. z. U+ K
1 @! u! _) L6 @+ d& X! N8 u1 B
" _' o1 A, b" w7 a$ Z9 ~: l$ S: A% }
2 ?6 \. t8 J4 C5 y: R) l$ ^, K; c) W16_10. w, A. k r% e* G$ k
16_12' s$ X' b" p! u: P- R" j
16_181 m5 J1 B! b* @( b8 x, w1 l9 c: @6 Q
16_19
' i4 Z& f" _7 _* n16_20' r6 X/ [8 w. n {6 D: g, w& F8 l
16_21
# u3 ]" h8 L R9 c2 S0 l( H! M' o16_249 F4 y* Y% U5 I% d( ^% _
16_25
) t; j! z9 ?# w3 j6 V5 \/ r' I17_10
4 P! j' [/ d- g' m0 E$ k17_11
* u8 X" J% d' x& D% V3 A: G% @% D17_152 ]: U* n# O6 A2 _
17_16
; Y& n/ S' ?: I8 ?+ s* B( i) K6 L17_17
: W; L8 [! Q }; m& C3 u17_19
$ s. q3 A4 s: s6 k5 u0 x! j% s) `17_20
/ S! D) a" O$ E4 D17_21
, I, X" n. ~3 H- P! F, T17_22
7 o4 \; L9 D. ?' N! k17_231 ?+ J( |9 G1 M. ^
17_24% q6 R+ Y/ Y$ }' @# j7 ~. i @
17_25
% z$ z* ]. Z5 w18_10
N$ w+ V3 H1 ?+ W/ u" v18_11
- N' {, B( x2 k18_14$ l# h1 J" i! M% l) A
18_15
/ ~: U$ y% ^+ e2 R, h/ L- W2 R2 `18_16: R0 H* Z7 H& Y3 q" I/ j/ S8 Z
18_19
3 r4 `$ O+ V) T1 {18_20
! E; R8 A- m7 C# F$ U18_21* o1 t% a& X$ s z. D6 H' Q+ p
18_22
) l5 g1 Z' d( R( m( [% |3 L/ I; c4 R6 n18_23) e6 w" j% F5 Y
18_24
5 E" |& e$ I6 w1 f18_258 q! ?+ N$ |) f6 a+ ?. _$ |: H
19_10
, p3 |3 |' {5 c19_11
# k/ s- D$ O7 G9 c19_13
* J8 ^# `% @. L( S19_14
, T: L8 C. b0 M; d8 ~( p19_15- G, c4 O" Q) m$ |
19_16
2 e& T& _$ f& {* \" ~8 v# D# y3 y19_176 ~; B: t! n1 C' b3 }% ~
19_18
/ ]( v: W' v) d19_19
3 b1 E+ H% _6 A4 Y; [8 K19_20. d9 p6 l7 i. u' P; g) a
19_21
5 s1 G4 g+ k8 N e2 Z8 b19_224 p$ Q! E' t6 o
19_23
2 y+ P& P G! }2 l19_24$ c/ A$ V5 m* f! l, ?' r: X+ E! O
19_25% e% M- p/ q/ W" x6 u. N! @) J- G; C
19_26
: g8 t' K, K. |; B& ]20_10; G; \% y L) v4 k2 u d2 E9 z
20_11
: q' F6 x0 a' n) c6 C* t20 _13
+ s( n, \% i8 j" w3 q20_14( u6 T; `: K+ v4 _
20_15
8 Q2 {9 U5 k! I; w( R& }/ {" o20_165 S! j' M5 B# M1 l
20_17
& p$ z- y6 C5 w! H6 _9 F+ V5 R20_18
) M/ \6 r) Z' Q4 j" Z6 h9 k20_19
$ O. d, ^! u# W9 H20_207 \ L, A y5 w+ X0 B, [+ M
20_21, W" w+ Z" b4 `; J
20_22+ C, e. m' N# D: @# W/ J/ E
20_ 23+ ^/ v4 ^. c8 a# e# @/ d3 O) @
20_24- m# q$ a, m1 q2 J. H, i
20_25: f1 f2 z) @ q- h1 ]1 _& J
20_26
2 f/ a8 E9 B! U% u+ V* p, c2 F3 \' Q21_11, q( Z; f- S$ }, ?( W, d* S. Z3 F
21_14# j4 u' H8 L$ [
21_15 F: Y# t0 ~( o6 I
21_16
$ W9 ]% Z% s f% L+ z4 Y21_170 u5 B$ d; T2 V- K5 g
21_18% I/ S) Q. b# m4 T. c5 f
21_195 [( J5 @3 h1 y5 Y9 B
21_20% W) E, \& ?) N# K- C" i1 A
21_21
! [' o8 k1 {) Q# ~' x6 d21_22
: n: v7 y1 J# {. w. @- r1 K21_23
) J# s1 Q6 a% p' [( y9 E( q( Q21_24
8 n0 m" d \4 a' l; K. [! N8 U21_25
6 |' {4 l) J! ?1 [0 J/ c22_13. Z; U3 }( B( ^1 a; h. q
22_14% l# t: A+ ~4 u3 G8 b' B3 |$ g X: S" T
22_153 Z* ^$ b, g+ h9 l* p5 {* M
22_16
$ h r4 D2 V4 b' F22_17, f6 X# |" k9 ^ K/ t2 X
22_18' x2 t# s+ ?8 F: r' j1 A8 ?
22_191 w+ i" M+ _/ X7 o
22_20
7 q( Q b! F7 C/ A( p6 [( U22_21
+ J* { k: i7 p: w22_22
" V5 [7 ~& o: x4 D22_23- \+ U2 k) h) Z, ]$ z
22_248 A. X* O$ D% V1 T/ Q( ^
22_255 x3 `. v2 M% v# q* T8 c7 u/ u
23_11
( i) w0 w' Q3 x23_12. }2 k6 `: a7 m! G) k
23_130 V# \9 }/ [8 C2 S* e& ]% N0 N
23_14
) a6 Z* i" A1 j+ P0 Q23_15
" K2 i- I3 p2 a+ ?: j23_16' |2 v' f$ h* r9 `
23_17
$ r3 I( I; ^* R" ~$ Z23_18' r$ Y% E/ H' C4 C2 N4 y
23_19
+ l& W$ ~3 F1 R23_20
+ R# v0 r$ G; p23_21
7 L' G; D( ^+ ~2 M" T& ]23_22
, |6 z8 E1 b& s; j: F/ f23_237 z% A$ _) D: l( L6 Z8 e6 Z
23_24# J, Y( K& d7 \. j5 J8 V) F0 `# C
23_25. [9 c: w8 f( n
24_11
7 y r3 {2 Q' m& g7 _* R& A2 A& E4 q24_129 Q8 J5 R( U* G* S$ S8 ^; P
24_13/ p/ k: V! g/ }/ @! Y6 y
24_14" N# U& T% T; e1 R
24_15
0 i: j7 r+ c3 C0 p. l/ V3 }24_16
1 ~% a# K( G; Z5 D- a1 d; [24_17
" _" C U+ t; b& t' ^, {24_18
! \' `3 q6 J/ `24_19
( b6 Q' p: i- X24_20# k5 k+ S: c# q( ^/ l1 Q$ s: [
24_21
2 A) [. X7 I; s2 h7 t# c( s24_22
4 ~3 x* m$ d" W9 Q+ W# k! A) c24_23
/ I& Y: G* p! @2 V o5 U% q" e0 ^24_247 M$ d( q8 J% }1 W3 m: j- W
24_25( m' l+ D! X& K! u4 ?! L) h2 g
25_111 W( T/ ~. J( @+ p, W
25 _12
$ C, J5 U L/ Z" g* S25_141 Z# r$ ~7 x6 s2 A( n2 D& h3 H
25_150 R# u. e9 z6 {0 q
25_16
1 q& O4 c* t, ~: n6 N' ~. F9 ^$ f25_17
' p2 P; l( P$ M1 H8 v% x! U: s25_18
6 I/ b3 e# s0 {7 S25_19
; T# l' g/ v4 r9 f& }6 M25_20. `# ~. D9 e* J* P5 c4 r+ w0 r0 }4 I b
25_21
, h# j/ Z0 V) P, B2 v+ p25_23
1 U3 _* I' ?1 a! e& }26_ 11
9 |0 ~- |* S5 X6 R0 W. u, c+ l26_120 {5 C( Z9 l0 F" i2 O0 c/ u
26_14
& e( H( r' Z7 m" E3 b! Q0 K1 w" }3 F; |" e" Z2 K/ B
$ Q% J- d/ [0 h) N [ C8 u% K! `% a2 B1 o. y
8 L, v( s, L/ a3 O/ S# _
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
% j) b( @# u4 ^0 n6 Q8 y* fНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
' P& e8 s# V1 ]: f#------------------------------------------------------------- --------------' u2 c: t. l/ W( M4 Q% c
# Geodata/ g0 i) k7 z9 e
# ----------------------------------------------------------------------- ----) g) G7 M0 E- ]7 g, g* ~
# GeoData options:* t% j' g' g; n# T
# 0 = GeoData and PathFinding OFF (default)% O) v9 a" q. ]! F# B+ a
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
% A: q' l3 l% I% E# L2Playable movement. You need to download files for data/geodata folder.
$ c: R( h. ~8 v) x# Monsters can pass walls but not aggro (no line of sight) through them. w* N5 `4 H* i {
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode" s: O' E9 L% Y: K! r+ `
# files if CellPathFinding not enabled) and all character moves go through3 q- m0 E2 }! U, J8 i
# geodata checks (if a mob passes a wall, pathfinding didn't find a route* k/ h* i# H9 k S' T8 G7 p
# but we allow attack and returning home).+ U1 E) a3 d' | ?; X* o% `. r0 \
# Recommended server memory minimum 2 GB, rather 3 GB.
. O# P4 B; C, t t* @# Default: 0% ~$ n1 @8 _0 _) k6 s0 o- [
GeoData = 0+ E1 m8 K7 b5 s, A7 S
8 H2 x; _7 t5 m! ]
! d# J( \$ I% E" T9 K$ B
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.6 L% W) {# t8 N, T; ^+ @: K% ~4 K$ n
# 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.: b3 B' q4 x" }+ [
# Default: False
! T: P2 O% M" j2 L: l3 jCellPathFinding = False! `, t. m2 V( w
* Z: K3 h' H g
( W. ?* A$ f1 W( b# ?8 r
# True = Loads GeoData buffer's content into physical memory.+ ^- o. v2 [6 W" Q6 h" n4 f
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
$ c/ Y# R$ G% k& n K! r" G# Default: True
3 {4 P l- Y* k7 W' QForceGeodata = True
9 J' W3 n+ K+ H. z7 ]
z6 A% b0 K/ j+ w
4 [6 i: I" J0 y9 o& A$ I# This setting controls Client <--> Server Player coordinates synchronization:3 Q1 m8 K( R2 M& Z# H H
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
% ?4 H0 r$ ?1 ~( c6 m# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
" z$ O) Z$ |- o# ~! ~ M# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).& z3 I( p& |. K- w
# Server sends validation packet if client goes too far from server calculated coordinates.
0 h2 X+ G5 \! g" O: f# Default: -1
* X2 G0 [! _2 R7 S- L( Y5 r! `CoordSynchronize = -1
" i5 n1 V" k" S% }# Q* l) j. w. S5 {4 O+ ^ V
8 H7 \# p' E/ H. L
0 f n, c9 o7 V0 I$ y- T
. ], q$ R* N8 N% o7 oGeoData = 09 E8 g5 ?0 G; K$ j
3 z% y& Y% V2 D2 u! \1 X% E! ^- A: V% z# B) p% X
. [+ e. g/ p- O s" _
9 j& Y' T# S a2 pСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
; o& s# O m+ o# f1 S; I7 d* X2 @Ставим 2 если пачнод присутствует, так же включаем эту настройку:
0 N! G% [! |. j: i1 @
; `0 R& ?& M ]: E9 I& \) Z* X w" U6 g" M _
; C" c F2 a. P2 d( ]3 ]3 e: t0 y" S
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.3 A) `3 e4 E L+ ?$ z' t; D
# 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.
& s6 A! Z* l5 _! {# Default: False
( H) y8 p5 h, F- L* I8 e% WCellPathFinding = False7 L- ~/ W' ~2 X: r4 _
4 O7 u& }; `8 H1 M( N" I. q1 {: `6 w5 E. A+ c: R
. L( j1 Q1 M7 ?$ L5 V" ~3 V: @- y3 H" K2 \
& W+ t7 c( N0 ^ ?0 o) P8 D! gСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
( L- c/ t0 I' |5 r0 p yПожалуй всё подробно написал, спецы дополняем если что то не учел.
9 o9 e; a% b" `. ^
2 M* b7 Y- C i8 Q4 C
. z+ F( W' y. a( k4 U' r/ `& \1 AНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.1 a; A0 h3 [8 i8 g {
! H% b( j/ a; r$ l0 A/ E
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.+ k: G' a2 e9 `& m$ N/ s/ ]/ |
V' G% ~5 c7 M/ o# t |
|