Хроники 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) Y; m; S+ \0 R1 t3 q/ I* _
Сборка L2 Java
3 @: ~. k8 x" z" r" `! Q/ N9 l" r) {4 t( ~
7 M9 n3 ~* b2 f
Доброго времени суток.
! m& I9 q( _& S$ F: P. w$ r& v' T7 R1 S2 f* E
/ s" q" Q. ]# l
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:1 i$ ], ^+ w3 [7 B/ B0 m' g0 {
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
N6 k( ^# e& Q& q; D- o6 U# TДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
( s' i8 I: X2 WПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.( `4 h9 Z9 N4 h" \5 i
* G8 f3 Y! s8 @Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
+ n: l' S0 b T. H
+ i) s6 ?2 R6 o5 Y, R
4 F! G- V% [% s4 J( ]На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
; r3 H% ?" W ?$ Y! y GГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...! o& Y: |2 E2 h9 V0 |5 ?8 [' u' M
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.) K; I* j l, G& L+ ~# w2 ]' _
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
! J: S `+ W1 k. \- z, P. |& L0 c9 e) M5 {" ~) ^
6 b) j/ l" s: {' e4 F3 wЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
) z& @3 m" r" C8 OКоличество файлов пачнода должно быть равно количеству файлов геодаты.
2 {) v7 y* x0 N; TЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
( m2 @% w. w/ X$ T! d, L5 lТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.& R! ~) C4 V6 {! E4 G' J
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.( H4 H; r5 {0 g7 P
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.( W6 S+ G" {: j( q4 B) v ?+ \" h
Установка геодаты на сборки без пачнода (Rebelion):3 H+ @4 k+ L# Y8 S9 ~) _
Покажу на примере L2Dream. \; ?# Y( k7 X
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
- V4 F) V: }& I* X$ S" J0 g+ s* d, z8 y' j
- u5 {/ a3 K. q: H: h$ ]7 h
C:\L2Dream\game\data\geodata; {% ^) t9 a$ }* x
# F$ F# M. F" C0 N
5 p; K% I0 @; V7 `) X _$ G
3 {7 r0 ^ j& s! C
" t- B5 Y: u, QНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.* ]( I/ x8 q; C' N% G
Настройка.
4 P3 A* g% a) i4 fИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
( U/ k' W. U X1 w9 v$ A#================================================= ================================================== ====
4 h- m/ D+ d) l# Даный файл является конфигуратором геодаты.$ S, M- s# K# R2 ?8 ]1 W& H! X2 c
#: O c+ @5 M7 f+ y6 h
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
; w1 I R0 M" @( Y# q#- |5 G( f+ z$ d
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
5 w$ |" \; M8 ] P, U$ V4 H# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
- o7 K& y0 s$ ~1 [+ i+ ~* E5 O$ E# Ну или просите прикрутить SSL.
7 _5 h' f6 T% l#================================================= ================================================== ====; ]5 g0 y, E8 e( L# r0 C. z w
4 U9 e4 o0 P I. k" S& D8 @. @& }/ K
7 _6 q% V l: S6 U) R \# Включает/отключает геодату и поиск пути.
/ v8 I$ w0 }" L6 e/ \. Z$ C% U) n# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata., @( U& c7 R9 T+ P! L' m8 a1 l0 c) r
# 0 = Геодата отключена.
|) C. q: N; T" ^/ v" Y# 1 = Геодата будет загружена в геймсервер.
r, l# r5 B g e% X# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
0 I$ [9 `- m x7 O# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
1 o) Y2 P: @& |# R8 x# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,' x! M% F- h( |: C8 T
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.; `* ?; V' i# W5 ^
GeoData = 0; v( [; f& ^% `: ? s% k
! u# r# H! m _' O; ~
: V: W% ]$ @, d/ M# Хост для сервера геодаты.% t$ K7 o9 e6 E4 a* s0 H
# * Забиндит все интефейсы.
. z! R+ m3 i# M# Игнорируется при GeoData = 0 или GeoData = 1
. J) u! G& t/ o6 kGeoServerHost = 127.0.0.1
; X- N& b6 O) e6 f# N2 D, T. w4 x& F# D( }3 u, w4 s5 N+ j
7 S: C5 j# U, X
# Куда будет пытатся коннектится клиент. ?% W5 Q* K/ D. F5 W. w5 W
# Игнорируется при GeoData = 0 или GeoData = 1- b5 {0 b+ u& k$ j$ r7 R
GeoClientTargetHost = 127.0.0.1$ L, X1 b% u. G6 n$ [) w( W# J6 i9 s
6 z. V( @' L) } z
5 n* u. }/ V+ N( T8 |
# Порт для геодаты.2 ?2 m' W/ f7 G8 }1 \, l. Y1 |: v7 q
# Сервер откроет на нем сокет.
9 Y$ d, f# w% T5 t" w# Клиент будет пытатся подключится к нему.1 k# u' O8 S" f! O
# Игнорируется при GeoData = 0 или GeoData = 1
, i+ k+ l$ u, O5 w: S LGeoPort = 9050
4 ^# S" u! k8 H7 |, E4 `" u
3 v4 o4 j9 I( ^! h3 G
T; j' H+ q6 F# Сглаживает путь.3 j' O6 o6 D5 g8 z
# Стоит отключать только для дебага.
6 t- o4 q% d2 j* K) NPathClean = True
0 Z( L4 f3 a% V% B% {7 U
3 |- I9 E$ H* o8 Q s& C' Y% n0 H' Z) M6 y; n: }5 ^$ i, U8 P( v
# Обрабатывать ли двери в геодате* q C6 D$ ]1 g; Y6 e, K5 Y
# Настройка влияет на ГеймСервер
5 N4 u. \: _- G$ R+ C' {: hAllowDoors = False
, h* Y* O$ l/ [" f$ A
# U, x3 V' {( X0 V, [. ~) q
; D. K5 [: V' E( {3 V2 H% nPathFindingBoost = True) B6 R4 L) \' K# t
PathFindArea = 250
; X- _- Z% e6 o- F& Y3 T- R6 |Внимательно читаем,нам нужно это:% o- q! s; @6 o n
' l6 I8 p) i, A+ C, V$ W+ v8 ] k' _# @( `$ v9 \
2 x z: d+ U; ?% V- s
6 S6 A+ u" [/ U! N: E# Включает/отключает геодату и поиск пути.* s2 T5 i5 l% M4 ?* _
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.4 W' I: z: O; w
# 0 = Геодата отключена.
" v) }# r: t+ B9 s' `" h, v# 1 = Геодата будет загружена в геймсервер.( H) @$ X8 M9 ~. G! N4 @
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как5 v( ]$ D- D7 m
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами' n+ A! V8 t$ Y4 x l, t1 C* t
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
: {, ], u* B) m6 A- c3 S# C# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
2 G9 u# F1 \; N4 _6 v4 e2 W; U# XGeoData = 0$ ]$ K* `% O* Y2 c" _, J
9 j6 _6 a. Y# [9 F& m, L _
, B/ M. ?' E0 ?. ~
- [* ?8 E2 L+ D: k
/ d0 K$ @+ l4 W. ~5 B
В этом параметре меняем 0 на 1.
3 N/ [" K7 \$ c* a1 d( _+ t2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
- G- I! A( G Y6 e# Хост для сервера геодаты., n$ V1 o- P) r1 ^/ ]
# * Забиндит все интефейсы.
( f) Q) G4 O+ M$ Z. v8 L# Игнорируется при GeoData = 0 или GeoData = 1: z e, Z& T& K) K8 R6 S/ J1 l
GeoServerHost = 127.0.0.1
1 G# m6 Q1 C3 N8 E* X
5 C0 p" f& a4 z# d% }4 l9 ~* I" k( A- \
# Куда будет пытатся коннектится клиент.
9 d$ o& b9 ?8 t% O# Игнорируется при GeoData = 0 или GeoData = 1* b4 C* V3 |, E, d! Q5 w4 t. k
GeoClientTargetHost = 127.0.0.1, @- E( U4 @. p8 [6 _1 q' t
' `- J8 J# ~2 {- f" Z$ U
$ Y2 F8 I# Z3 o% [* Y/ j- i: E }6 q# Порт для геодаты.
4 _- }8 l: c( N" j8 N. q# Сервер откроет на нем сокет.
?$ u' a, M7 |% Q( l2 j# Клиент будет пытатся подключится к нему.
e* t# U- a( n' j# Игнорируется при GeoData = 0 или GeoData = 14 ]' F) l' ?* T( \
GeoPort = 9050( `# b T: G- h% c S6 m: l: C9 K
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:9 ?: G5 I* V: K% X% t9 E) {' W
( P( K; E- t$ `
, Q5 Q$ D W. \8 S" X; x; P/ ]
7 k e" w, y: B- I1 B
0 X8 r0 E- r+ v7 w" _4 ^3 ljava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
" a4 Y9 ]* c+ A9 S( L t+ u+ E% ^; ^- g* w/ \8 l
, x! ?) @. u' E6 ]( W
! Y% m6 Y: |* D3 k
, r; b, G% V( I4 J8 b+ cДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:, w& J9 g9 d u* M0 y3 U- q
) c- D9 A% Y) p! U8 ~3 ?! g5 c4 e, E; ~. t( W
6 a3 N* r5 u& q' p# F# d4 O9 P7 C
0 g0 d3 a" I$ G6 ]% E# Обрабатывать ли двери в геодате+ d7 i5 e6 @, Z$ V, P$ g0 `0 D
# Настройка влияет на ГеймСервер
# D8 A3 o* ~7 [+ N" r8 a( f% bAllowDoors = True1 v% I0 X$ F6 P" K x
Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
$ |; k0 D$ ?2 }- e% O; AПути размещения файлов геодаты:
2 \- {2 C, V! Y# C& H
( b/ @& |; _0 {, M0 m* w
: J- F$ `. a x( M$ [C:\L2jServer\gameserver\data\geodata. S; {7 T. A2 \
; }# ~9 x! T' v& s" F h7 ~. n8 P8 H
$ ?- c9 G" @6 s; q2 E- T8 @% b* \! P3 i. W b
) M0 c7 [2 x3 w2 fИ патчнода:5 ^3 _/ }$ G2 V) R; p: \, ~8 @/ k
7 b3 t7 T8 U- m( m k. s/ ^! L8 u* r
: D: s1 N, B6 H+ ~0 fC:\L2jServer\gameserver\data\pathnode! g) b2 ?+ s" a
+ B$ J) M. y# _: r2 W: D* i0 s) F2 d* S# T7 I! T4 S4 z# `
9 ]/ f7 X- P0 o
( W( ~# [% y" q4 P( |% ^В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:& {0 T! B1 _# i! M: R4 Q
# r& c+ e/ F) q, q, b0 w
* o+ m8 c4 ^& L) K ]
& n' A: Q _; C) U
2 }; _0 O( O- F: `+ V7 }) f16_100 U' r' H/ ~2 t6 Y: i3 q7 D
16_12
4 y% z. b* n1 b. a, p16_189 h" _' n7 O8 u' a: T4 N3 h# s7 \
16_19
; G. Q$ k$ `1 Z6 J3 O% ^16_20
% O) m$ ?* w4 Z( u4 d% i7 @4 M& S16_21$ [5 L" Q# A- a5 M8 ~
16_24/ D9 s7 T- q" v! @' T) |8 D% \
16_25# p; X Q4 z6 q: V. Z' R# h3 H
17_109 U. o) Z4 @' u, |6 W' w0 x5 T$ d0 o$ `
17_11
- p( D. ^/ V% L$ @( w17_15% E& `, C; D C) z
17_16: g" i9 C' q) N5 X
17_17
3 z" |6 ~1 I& W! Q3 @7 D17_19
, I$ U2 f" i8 J1 Q! Y17_20
, Q% X/ X% a/ H9 @# l: v17_21* q5 u- ]! H3 h# l
17_22
: f/ x! j, |, L6 i8 H17_23
f' r) f& I5 ~$ Y3 I17_24 R4 R! _$ i' L. k: C: I
17_25
1 D& H5 [ [# ], b( O18_10
0 y1 f/ q: a; a& o18_11 `- E* m" Z9 x! p( N
18_14, f+ V: F* S9 e
18_15$ q6 p9 q1 v+ ^1 E
18_16
) R0 x$ M, l8 p' W5 b' r7 i18_19! B6 o( ?: Q3 |: x+ M( X
18_20
! q( o3 r9 R+ N7 }% J18_21+ n6 O# A* S; \( d
18_22* g) h7 o) R! }1 W+ v9 n- K3 u/ u
18_23
8 ?) P& l4 C( S2 A7 s: p G' r- _18_24
2 g6 o+ F* y8 v18_25$ m6 K. @8 y# z. s8 E5 {
19_10' y3 s1 _6 b* l$ _" y
19_115 ~; M- T! K3 z6 \& V+ W9 Q
19_13
9 J! O* \: `1 {' d, h' Y19_14
: Q2 C$ I( c: O. y19_15
& x* R0 g% s' r+ n19_16/ _9 x# t% b* g" ?6 c5 ?
19_179 y2 x& m/ i! q g( g7 n
19_18- u. f1 V5 z, \9 ?5 k- n! U% o
19_19
5 |9 ]2 [9 z7 q3 s# J9 x19_209 c+ i- H/ f( h: U9 Q/ f
19_21
0 P, x7 t4 z i2 m19_22
, t+ N: N* J' c% R19_23; P. A9 ~4 [- S7 Q5 l
19_24
# |. p0 f8 {3 T4 ?& Q) i) V19_25/ w/ G3 a9 E4 G3 z! ~' o
19_26
8 I4 `9 T1 _ X( c; p: n1 ?- e& K( a20_10
, X( A0 X4 S# u1 B) X, f20_11
) Z( w b( G2 R20 _13
6 s4 _* y5 s: a2 F* H$ |8 u* s a20_14
" Z) }0 ]4 T) y9 ^" s20_15# d+ U, C6 K" U( M& M9 s/ [( A
20_16
* f# ?! ]6 n4 T0 N, D7 R20_17
; o, Y' ]# y8 H* w; g W20_18
, X% N7 o" r- M) z4 X$ Z9 P0 P* Z20_19
1 B1 ?- [1 N& U/ v% N% @ ? ]20_20/ E w! u2 F9 S( ?; N+ n+ {6 b
20_21$ w- R' _+ C7 Q, }4 [- R8 i
20_22% W) \! W3 Q: n( w7 J5 _3 ]; _
20_ 23
( Z) d/ |$ n, a) Q& u7 F& g20_24% ]9 R5 e5 u- X) U% X) e* {4 u q
20_25+ M5 B, \: i, I2 ^
20_264 v( P z0 y* f& c. ~( b+ P; B( T8 E0 |
21_11& }2 C5 j8 {+ w9 q3 `0 ^0 I: r
21_14" T% ~+ x& f0 W0 U0 w( h, E' c/ V
21_15
) l, b2 E7 X0 r' Z1 k4 }6 u21_165 E! k( \& ~0 ~8 l6 o8 L9 d
21_17
; Y/ ~9 M- H/ ^$ x$ r( {+ `; k p21_18 R9 G" q& n" l; J- `3 @. U% `
21_19
1 f" `* l$ e- h5 v1 f0 G0 V* S" g21_200 E; H# G8 r# `: m# t0 E, E6 X# Y
21_21
# D- A" u* A) v' T+ i' E21_22' _& f: o2 ~6 W
21_23
8 [; [9 x/ ?5 @* h21_24( w% Z) @3 v+ D& j& g6 f
21_25
5 e7 z0 `1 N7 u8 q7 N9 [# b22_139 |6 n0 W( x! O! t2 _; Y+ q
22_14
" U' e: F3 @, S( v6 o4 O22_15
: o% B, C! k! T4 M8 P- i4 a22_16
) d% I& T0 S: F6 D22_17 P7 [ O7 x, l) g7 O) C5 G( J
22_183 K" ~8 e( R- v' y6 N# [
22_19
e) R5 `2 |. @/ T22_20% B( F4 Y9 D" ^
22_21# m; }- Q$ W4 \# P( V$ R
22_22
/ T. a) ~8 z' W6 o22_238 B1 ^% h" |, y0 x% b- Q
22_24
9 i# b+ X+ o2 s22_25$ J/ R( P( ?8 l; c( ?8 b5 b
23_11
; `, C6 S# s8 }' S0 ]) h23_12
; l& z" x5 z* z5 J0 K" D23_139 F+ T+ D3 ^' N% E3 R# q
23_14
5 c' r, P4 Q, |" a23_15# J# a/ e4 W, B% a: x9 y% d1 U
23_160 }, i& X# y6 Y4 y, z4 z% y( T0 h
23_17
n- g u" _! R% @, L0 t23_186 @) W) Q @6 ^! x+ P8 p3 F/ B
23_19: L* s, M( ^. h7 E9 Z$ S, |! T
23_208 k6 I4 c' r3 F) |7 ~- y- K
23_21
) w( Z# p4 B/ S9 X23_22
5 x4 V% c( Q' C3 F2 b3 Y3 G23_238 i2 P, u0 N( e7 H- k
23_246 M9 J) _9 t0 y/ C8 Z, t
23_25
" g, r$ @+ i d. c7 l24_11
6 e- C1 y# Q! S# `24_128 e/ P/ ~5 W5 \& F% J/ F
24_13% g8 j% u: {( ~ p& W' J+ g0 b
24_14, Q9 R3 s* c; x9 Z: `
24_15
?# j9 a) v+ z5 D: i+ x24_16
& d7 L2 g1 n6 o N% d m$ L24_175 g) n. H) o% @0 U
24_188 ~9 G$ q* |+ K: C& t3 w, `
24_19
, _. x' p1 r% j24_20
9 K# z D/ I: r0 b24_21% v/ O) n2 L; f, ^' L" ]
24_22
6 k3 V1 B. j4 X+ w24_233 y2 D& y2 K0 i( x7 ]% Q
24_24- [+ O: l' L* B$ y- V9 H
24_25
' R. H% f0 i, r% T+ m) D2 t25_11
/ j9 W8 `+ i! j, [25 _12
, O3 M$ ^( B4 ?: ?4 V25_146 g. Z, W9 B- C M/ N
25_15
! {3 c* t" H6 K+ K: d# z" B. c25_16& m. s- b2 _3 p9 ^. D M' @, [! c
25_174 J- T6 ~: y" F4 S" R
25_181 ?, [7 x' }( N6 N3 }$ y
25_19
9 {6 Z7 V4 Y( c8 B) ~25_20
( l8 n7 ^9 X# f# f4 L! @- I25_21
: |( ]8 k- Z1 F4 Q! F25_23
' w+ c9 @% h! L$ K26_ 11
; P3 B% Z* _4 K6 y3 g! R8 T; j8 o26_12
0 a/ S6 I6 ?9 d" i) j3 M3 ^5 T26_14
0 b+ G6 D: I' m1 l5 \
2 Y# w1 i$ K1 K" l, Q/ J6 q% M1 X) X' }
; }: o1 l2 F6 m5 H0 E4 W) S: Q0 |- @6 [6 c- C' a
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
: |: ?' P! v8 R+ e8 PНастройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:7 J1 `. v3 ^. L. j- E0 [
#------------------------------------------------------------- --------------/ Y0 m- |/ ]& G" k; ~ [* F; \
# Geodata
' H. `/ ~/ L# Y) y+ l3 V m# ----------------------------------------------------------------------- ----
% P2 ~% m. {. X5 u2 U" b p# GeoData options:
. V( D5 ?- ]1 d. K# 0 = GeoData and PathFinding OFF (default)+ h+ I i( N6 L5 ^ l" F8 K8 k' \6 X
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and, \" s! O( b& S* J9 D( J3 h/ x
# L2Playable movement. You need to download files for data/geodata folder.: I1 d7 v1 l G. Z* {2 n/ a! `
# Monsters can pass walls but not aggro (no line of sight) through them.$ y; G4 b0 O- y; H3 Z2 T0 w
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode/ w+ X3 l, O' X5 Y
# files if CellPathFinding not enabled) and all character moves go through9 E" ~% n5 N, ?9 K; W* n0 B
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
* Y2 a$ P3 @& s3 C# but we allow attack and returning home).
& {6 V" [: D8 _: H# Recommended server memory minimum 2 GB, rather 3 GB.
% l0 ?: i3 ]) h8 d0 s0 K" h l# Default: 0
% H0 h# A1 V9 T& y( n# k; u7 fGeoData = 0) O7 R9 m) I- |- @) R" x/ h" N
2 H* G4 Y; u& F8 J- O
. J0 s9 B7 N2 T5 u) D% n# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.# D; ^7 \$ N; M( q$ ?
# 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.2 t _/ N8 U7 Y( x# I
# Default: False7 w2 |$ G* A1 R8 r4 v& r
CellPathFinding = False6 S8 l# M# x T+ g. [+ S
6 D/ c, G5 s( _; E' I6 H2 S9 S
9 k- |* N4 N# f q8 r0 t; F# True = Loads GeoData buffer's content into physical memory. V& B! v a9 B. P \' D8 L" M
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory. Y S5 S1 V: n) `$ B( b
# Default: True
0 f' ?7 U( i% u7 A/ o! \7 rForceGeodata = True7 \: c5 K0 Q& \+ o: H
1 H D* s; D9 j: O7 W& n5 t% j$ X% b2 v9 F. s2 F6 O7 A! {$ c
# This setting controls Client <--> Server Player coordinates synchronization:
- m l j$ _ z( o% n! R3 v$ B# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
: }* N% ?0 T: i2 w, z! ~# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
+ M: K* v6 a c$ {3 G6 d# m# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1)." L& [$ h2 ~0 M, z
# Server sends validation packet if client goes too far from server calculated coordinates., r8 G( ~+ i3 L" q* ^
# Default: -12 `' v9 w8 P( g4 ~. f* J) Q
CoordSynchronize = -10 @9 N8 b0 `" j) u/ m6 c+ A
/ w4 r0 _! x) x7 f* O6 i4 ^9 y9 _! e! c7 ]# [ v# j4 a
/ m) y% h; D. |
1 z* B, I2 H qGeoData = 0$ m8 ~' |! c: n2 C* Q- Y" x( \
/ Z9 k& W8 }& Y+ C
7 `- x3 k$ F) K7 T5 f2 L* D: j) n1 c6 G t' f$ h ?* L
; A- Z3 g8 \7 H5 ]: ?! }& w w; `
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
/ ]/ }) p! J0 S6 ]Ставим 2 если пачнод присутствует, так же включаем эту настройку:" K4 P- A, Z2 D+ k! g) L
. B3 D3 V: @" s% k4 U
" K- f7 P R Q. ^: I# D+ U' U5 n3 ^8 t; `( V
7 `4 o8 @; K$ E1 D; Y- K# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
* Z! U" V' S8 [8 s! t( e# V" V8 e* 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.
2 ~. ^3 _3 E; t- d5 C) c R# Default: False3 C% L4 s! a+ z' _1 L1 |
CellPathFinding = False
, n$ H5 n( y H m4 D& A o! p3 G
7 X$ I6 n, {2 R1 u& u* _
! Q" F, m/ v7 w( K7 z* H9 H+ Q* H. y8 a8 X+ C$ ]
5 M# s5 N; c% }; o) \Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
/ ]) {+ Y0 R! N& P) G n6 cПожалуй всё подробно написал, спецы дополняем если что то не учел.
; w: o, x! ?1 c* A
$ X/ {) a/ f; ?- ^* A! H1 s
* v3 z; m7 E( C8 U! _Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки." |/ D4 A% k, J! E) v6 A T5 o8 J
- p7 X/ c* m, x; y# N+ N3 FИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.9 W. U1 Z$ R& C
, W9 g" f% {) N- x9 B0 x0 a2 A/ w/ l |
|