Хроники 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
2 M6 j$ h- k3 F C: Q- C3 _* MСборка L2 Java* v Q7 N4 U" x2 _3 Y. k' z9 m
. m, G5 \9 I A& U7 [
. L0 w8 `# Z0 A5 ]% f
Доброго времени суток.
1 i/ B0 p* n2 I2 |( f. W8 _% k/ U. O z! s. \
: q, C* F+ h$ g+ Q1 f$ }! \2 cЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
# `+ ^; x# L5 EВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
- @, L9 f: ]/ X: [) o% B- BДля чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.! ]& G. R) R) x: H3 Q4 }. {: W
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру. s; a. g& b; z, T0 a" P0 ?+ n
1 y" p* ~6 o; bВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
6 w9 Z- Z2 f o, s% ]9 j6 z+ h9 L& k; H- Z, L$ b
, h# F& M2 U- u. v! k4 A
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
& ]8 I3 E. j2 y6 `# D% wГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...3 |! { E \7 s
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
" R$ j* z: a( X, B5 @. \, u9 Q) EУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.
! M: L0 d, G, S( {: y, ` ~+ _/ x; g; x5 l S& i
! E8 t7 _6 L/ ^1 X; |7 z8 f' ^5 y# gЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.4 |1 h2 Q R$ G6 R2 g0 ^
Количество файлов пачнода должно быть равно количеству файлов геодаты.
: T4 Q# c, b( Z/ M1 j3 jЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
: N9 f" N/ e7 U# A! NТаким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.6 W! S D; c" u) U+ ^$ ]7 c
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
9 T: M5 A2 ]8 o jТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.7 Q' k5 H; J+ _& X) a
Установка геодаты на сборки без пачнода (Rebelion):
& v: r8 _6 Q3 h! u, h% LПокажу на примере L2Dream.! C; ?* p! a1 F# A
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
' x6 q: q3 h% a5 M
% a V$ L8 @3 C& H, O, s7 U6 G/ H2 ~8 V% v. d7 P/ ^
C:\L2Dream\game\data\geodata
( y9 A6 b8 _+ N4 N( j
& q0 J! }7 E, p6 D \
9 B8 ^6 @2 J6 H2 a8 I5 N4 f5 ~% d- N& |
+ e) D/ R1 D3 Q5 u1 K0 n- y8 e9 |, f2 M lНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.* N0 f# b( B; f8 P( ?( H9 m
Настройка.
; w1 D. k" j; N$ t3 y2 U: K6 G) Y8 n1 uИдем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:- J$ v$ o/ f M2 H |% O
#================================================= ================================================== ====
1 m# c% e( z" c9 k0 S# Даный файл является конфигуратором геодаты.7 {9 o6 R" x4 \0 A4 ]
#
" V% D" c( p9 y. e1 K; d# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
# _. y1 e4 S8 Q, M5 O) W#
8 J4 V9 }. t5 N- s% P9 q8 |5 O D# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).' c0 K* ?' }. s+ L% O
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
9 e4 {# B7 ], z( B. Z# Ну или просите прикрутить SSL.
, a& R. I, }0 x#================================================= ================================================== ====
: a4 ]* F& Q8 a3 v1 u2 i. s1 ? L6 `! x0 P
8 L: {! I) Q! Y% @
# Включает/отключает геодату и поиск пути.5 I+ o- R; y1 `, B5 d. ^
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
% c1 U. R; e# j$ W- h5 l+ e# 0 = Геодата отключена.
* j8 e' \0 Q3 G; ^8 `0 |# 1 = Геодата будет загружена в геймсервер.
% o) i" |* n4 p. V# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как$ Q, d+ \* v1 G2 D! |- v' ]+ V$ |
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
- I) T; m8 z$ u( o: L# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
- x7 V( X: }+ u" T% T7 z8 O# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
) } N. q5 i! qGeoData = 0
" ^: g% a3 m. R! M0 }; U% N7 e* z ]& \- w- p# @5 ^ [
0 T' H+ A3 p' t0 ]
# Хост для сервера геодаты., q2 C- E# d2 C- x( y
# * Забиндит все интефейсы.
: Z% J1 o' z! h" `# Игнорируется при GeoData = 0 или GeoData = 1
; l; {1 ~3 T' P; L% d$ \GeoServerHost = 127.0.0.1+ `7 R6 \7 N8 t3 Y. ~# Q& F* C7 ]: D
6 R7 Y5 @, d: F1 W. j) A, [2 Y, _; y
) P8 r+ {- ] E# Куда будет пытатся коннектится клиент./ h2 y% O; y4 {& F# g
# Игнорируется при GeoData = 0 или GeoData = 1. H2 w$ y* x# j$ K: \
GeoClientTargetHost = 127.0.0.1( ?' \ f7 S2 H3 B6 X% a
* }3 t( _ `9 I7 _: C
" F- E, q8 C$ n" t
# Порт для геодаты.5 }6 L7 m9 R. c6 _: a2 k0 r
# Сервер откроет на нем сокет.9 X1 E6 k* F0 D4 C
# Клиент будет пытатся подключится к нему.
. {5 @, k4 ?1 ?) m) @1 ?# Игнорируется при GeoData = 0 или GeoData = 1' m9 L; U) v! Y/ K
GeoPort = 90504 P4 r# ~: h" V) U) G" Z
$ V& i7 `4 j$ I( t$ E4 a: D8 ~6 A/ G2 B: f
# Сглаживает путь.
1 _' E1 d0 l0 Y J# t% K# Стоит отключать только для дебага.6 v) W. k5 M* v3 i! D. C- H
PathClean = True
9 v' O L7 ~9 u# S% E$ F! D" |/ e7 m
m) D$ T% ^% W* o
# v1 G1 V* X' l# Обрабатывать ли двери в геодате1 o) n; S$ c+ ^) N8 d
# Настройка влияет на ГеймСервер
5 l- Y$ ` r- r8 d1 T& wAllowDoors = False( X5 C3 ^" D3 Z( e! ?. [4 X- F
0 N* I# Q) w: r; A0 r. T8 D* @
7 W! g: U. q) \" `" N( `7 ~
PathFindingBoost = True! \9 F( G* R- R7 [
PathFindArea = 250
& ?- ~5 v0 a; Y* g7 ~Внимательно читаем,нам нужно это:! ^# H1 u+ S& _6 u5 _/ v
3 R; P; d3 H- Y; ^
3 b. C" c) l6 I. m0 D* ~! }; c
- X" e5 e# c8 Z0 T t' B
k O) W: _( N' O3 N# Включает/отключает геодату и поиск пути.- Q# O: N5 b! w3 k- p* f
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
% j8 W8 p! G2 j" y# 0 = Геодата отключена.4 E8 E2 W, E4 c
# 1 = Геодата будет загружена в геймсервер.
. ^- ^0 J4 Z! m" d# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как% o. i4 e x+ q8 y
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами l' h, G" M% J( P9 C0 x1 i$ g8 S. S
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,3 E% A+ E# j* y. @
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока. I9 |; \* m; t$ Y0 a
GeoData = 0
* Z, l, s3 E8 d4 }: E! U9 @: C+ x; \, L0 x4 Q1 V
: t- B: N; _( l2 O& r0 u
0 B3 O& _8 Q8 B6 w' I/ P6 U, X( t% X, S. U( a0 W' l
В этом параметре меняем 0 на 1.$ |7 p# w M d! r+ [
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:2 _* y- P2 {; `2 M/ l1 D. \
# Хост для сервера геодаты.
9 e( N& E, _: D" n# * Забиндит все интефейсы.
& q! b) K- H/ p5 i7 W# Игнорируется при GeoData = 0 или GeoData = 1
! D; Z' H$ t; A' EGeoServerHost = 127.0.0.12 S- w( M0 N/ @* H( p
7 S- S: e. h# }0 t; ]
* L! g9 o) E0 M, I, m
# Куда будет пытатся коннектится клиент.
: c0 c/ h( e/ m s# Игнорируется при GeoData = 0 или GeoData = 1
% O/ }+ y* z* d; ]" }# E5 ~7 QGeoClientTargetHost = 127.0.0.13 m1 y6 ~% E C2 A {; i! v3 n
4 E4 ~3 V$ q. w7 } h% Q- ^
/ v2 W; k/ K: {! l& s% `# Порт для геодаты.0 b N, K/ v. @5 ?
# Сервер откроет на нем сокет.' T5 f/ `3 \- Z( d
# Клиент будет пытатся подключится к нему.
0 @. } a( E# c/ k4 w# Игнорируется при GeoData = 0 или GeoData = 1( w, s" O4 u8 i' ^1 E; ]( Z
GeoPort = 90507 Z# w$ c# H2 L% p" H/ |
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:0 Y, B& ~' ~8 y% y0 }+ K5 A' y
: o& V/ Y2 h0 Z6 \- D- I$ l! g3 b& J7 ]8 X( u' H/ t
( T, ^' d+ B# ]' _$ w& X1 k
' }$ X1 `, E$ K1 I8 P4 B: bjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
& M3 e( M5 F7 A: o
* r3 s0 c& H7 R% r: ?. q; N6 n& @+ w6 b; C0 H, I6 Z
( @8 B( H% K" Z$ s1 H( x' I( R; | {
$ \8 ~+ u0 D5 Z6 w
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:6 e2 k, p& X$ m; U9 H9 e
% p. M8 u: o3 q" L8 G1 f! k
7 \; H# u+ k5 A g) }( @" N' W" }
+ O9 s, @1 y% F8 M' S* U6 v* x; z' T+ w* q- ^7 u+ x9 ^4 y- ~
# Обрабатывать ли двери в геодате, d; i# Q1 J/ V% ]
# Настройка влияет на ГеймСервер
$ a7 d0 Z. w3 C( w3 h+ d8 KAllowDoors = True
9 I2 [' C5 i! s& PТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
) W! K! p6 o$ O; ^' {) A7 y; k, MПути размещения файлов геодаты:# x4 r d f4 J: D% y4 r- Z+ Z- J
! v. g$ O5 J% o4 U& G
" Q5 t; x$ s, A7 C' M' a' d
C:\L2jServer\gameserver\data\geodata
7 X! n3 O: w0 q2 ?6 g1 @7 f; O4 Z) \( u6 b" ^/ B
4 H. n6 P! e" d1 \2 @+ Q
0 h& z9 G, u, X) T) z- j
9 n" d4 O m1 i; v8 ~5 O* o* zИ патчнода:
+ i7 D1 ?5 k* z: [( c& t& B3 O/ `& p9 H1 l, G- Y) l4 h
: G j6 W/ `4 g1 K5 a! C" i; p
C:\L2jServer\gameserver\data\pathnode
* b0 l+ w# r8 @$ u8 \$ B. I
+ x. ]- P& {; T5 m' j( }& A$ t( S7 C1 ?3 [$ D r
( I8 C5 i0 U1 X) [7 o& G8 g
+ d& r& v6 I* C0 |& n. \В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
4 t0 a, U3 n% W" R( A4 j u3 e6 |- n5 S/ m; A+ P/ T
1 u/ X: s. H3 O( L: r) { E. r1 u
' K( I3 u' I2 e
16_10* N0 P ~7 v% o* F7 l
16_127 j9 Y% N8 F- J2 G$ m5 C6 }" ]
16_18) f7 }# K/ Y' n) ]5 E4 B
16_19, l% c1 V( u R
16_20% h( G7 Y$ y# P" E" S9 B
16_21
# C* R' Q$ \7 i! U16_24
( k5 M* `' T( W# d9 U. N5 b+ j16_25
o* j3 L: Q8 E% M: R- k6 ^17_10/ A8 t0 Y) b( s+ p
17_11
- v) Z5 _- i4 A1 ?: m, _# u( M17_15! Y- @) T' y4 c1 I
17_166 `& N) j7 ^& P
17_17
' z, q8 F$ h- t& P17_19: a' t( b1 ?- P2 a5 W3 d9 U
17_20
5 V# P' P9 X5 g% [* Y- Z( \17_21
- p" y9 P/ v2 ?# W17_22
+ t# H4 ~7 ?7 n! H0 f17_23/ o+ T" S' D" p2 i$ d! Q$ h
17_24+ K+ p, A4 ^ v# \7 P0 ]3 o3 ~ A
17_25/ _3 F. p4 b1 _) N) E) S: Q2 Q" D
18_10
" b1 U3 j( e/ [6 x18_11" T a+ U/ n* B! h4 v. N; Q
18_14$ |& s K1 X: D* G, M3 T: _5 {
18_15
: `! B; A* y! I, g. O& u18_160 J: \* d/ A& H( @7 J
18_19
I, r; v' \% I- V18_20
5 w) Z1 e/ b0 I& \& h. X! D18_214 u+ c* P1 v8 q+ s
18_22
$ v* ]2 a' c: T* r8 _8 J18_23/ E! j9 L) @! s* ?/ V, L% ~; E7 B% ^
18_24/ o3 m7 f2 N& h# R
18_259 _9 a! E* l( ~! h1 c8 }# Q, L9 S
19_105 _0 H3 J% y C: `; C
19_11
M& |4 i4 Y9 h. R5 n: x19_13- t- s7 c! `* D' Y6 ^
19_14
- x/ U n T: N) g3 a( X19_15( _4 r9 ]9 r' W5 a; }2 T. B
19_16" f$ z5 G8 i# s
19_17
! W! r, R' [" k5 [19_18
+ Z6 l/ C# _4 S3 G+ U1 U$ L( f19_19
6 n s1 {4 d* h/ b2 G19_20
1 y8 n- @/ h& P6 ~2 m1 H/ J19_210 C9 z3 u# N; e! G& [/ [) ^- l
19_224 P% I; j7 X- t
19_23
% ~0 _3 J9 A2 _( Q19_247 M, Y& n- H) a" J/ x. f
19_25& n0 J! S4 H2 n% v! I
19_261 g. b( y/ @4 _1 K
20_10- J/ g: i! R3 \. g
20_11
; N7 T7 k9 {' s! k7 l5 U20 _13
+ |" r: Y5 T6 A0 a/ i# d, z) f20_14
0 h2 x \! e; e. J2 P9 E' I20_15
: m: ~6 d1 i) w) I7 C) L20_16; `+ t7 O0 h1 b( H! Y! l6 O
20_177 D3 \# m5 h, @- b3 i
20_183 `9 k8 K& ~1 A5 S, \3 y! P# r7 Q$ A+ C
20_19
4 v8 B; g8 a% n* E20_20/ b( E+ @8 X" S; `
20_218 \; k2 A* [/ _7 D; j% [; B
20_221 M3 n, n6 R# m8 c: J
20_ 23( s3 e3 w4 x$ E- f! ^
20_24
! o) L( z+ |" y' S& m- f$ K8 ^+ c20_250 `1 A+ h& o$ F6 \- ?
20_26! v: w- p0 I3 d1 d* q J
21_11
" D, v0 I/ {. p" ?4 y21_14
; L: D0 g( I( o! N# _0 V( K" A21_15+ N5 Y" @5 Z3 y4 t4 D. k
21_16/ x$ F' N; d4 b0 x
21_17% g# D L, {" U% B) f2 r* v9 D
21_18$ F2 u/ S( Q: T: F6 S* v
21_19
8 r* ?& Z5 I, c6 b5 Q& N21_20
$ W$ Y4 Q l3 M0 B' Q( W# E21_21$ E; [* [9 |9 h: v/ X& _
21_22
" l6 d2 N; D x" |3 I; o7 M21_23' v$ {+ z* t- d" B {
21_24
# P" C( O( S9 V+ U. J7 D21_25
! ~ r; @+ j( x6 v22_13
5 d0 t2 O0 P1 X! y7 j5 ?22_14
# `1 G+ h7 m2 G8 z/ B' S6 ^9 x22_15
. }7 w" l' G* n" I* H' T* J22_16, k6 ]9 y0 H+ U7 M( T- N2 |! P
22_17
+ `/ j9 z- p* l3 z22_18
1 \* X) X; O6 F0 r& H( R: J4 Y22_19
$ o/ D0 l% f' U$ J/ Z22_20& m8 {# k* T/ R7 w" u, e$ c4 v
22_21' `# \( a+ R8 }
22_22
, |# C2 Y/ S# z8 v: d4 c22_23. S, J/ _; _ ?3 i g
22_24
# E8 z" l5 C& _/ o( a2 [$ Q22_25
' x$ P5 i p U3 C( I! e3 ^23_11
w6 o0 P4 V' p' N; \23_12& ~% [* J$ g9 a! y3 t0 p
23_13
, T) W" ]0 @( ]! m6 c6 N1 i23_14
2 w& E5 T; \7 k# T9 S) e23_159 [% Z4 L' G/ d. w, c% {3 E
23_166 N. j# p* w" M6 c9 E- a9 X
23_17
+ f* x' G4 @2 [& h- i23_18
1 M8 k! P& \6 H8 K, h. m23_19# r4 n1 v8 l5 B5 z6 E- O. q( R
23_20
& W; r2 Y5 B0 I' t9 _8 l8 e3 P% I23_21) q, c" h6 [' j6 ]6 k7 T
23_22: O) B1 N0 r: E1 ~9 `$ E
23_23
# X% S) M3 J3 W5 \% n! {6 {, {+ p23_24
: u4 f8 M: ]+ Q6 q6 b23_25/ d4 i% X( L7 M: [) }
24_11! q& V y5 V- M* F z3 \( E* A- O( t/ C
24_120 E; p3 B% w9 @+ ] u% x4 V3 D" l5 Y
24_13
9 P8 B$ }% P% r+ m24_142 e- r! }4 E3 h7 ? ]
24_15
0 i" V7 E1 V: E1 C: ^- o8 X24_16
6 D. t& j6 I2 d1 |6 p1 X24_17
& W$ j1 X" Y" c9 y- a' G* U& J24_18
3 X" E2 T% y) N3 P) V24_19
4 g$ x9 z5 c& x9 Q+ h" R. C24_207 B; `# h/ B3 t4 k3 ^8 m( ]
24_21* R9 j. G# n: J3 I/ {& f
24_22
! Y' k& e3 m0 l24_23
3 W, m" P3 v1 F/ y8 V& k5 n24_245 I8 T) o8 ]: Y2 S. s1 T9 [( I+ |
24_25
1 O+ e2 V6 }6 R. i; ]25_110 A4 c" m4 J% j3 E! ?; Q
25 _126 K! o+ e# O+ `+ `8 u& X# w* `
25_14
; I% r8 }- R& [25_15
% E2 L8 i3 x, X, V; _! F9 K25_16
, `0 {" g6 N* u. ~% s1 a0 `/ [. T25_17% L- s0 F$ z5 m' a& |' W' F
25_180 f; b% ?4 g# f D @6 F
25_19
+ m& z* W8 n2 [1 ~25_202 I1 S/ \! r; J: M
25_21/ V- t+ _; s: g" x( V$ T ^% ~
25_23
5 S n: g1 y2 y9 S" @3 u% P26_ 114 H) [2 `' Q8 W- p: ^8 Z/ M
26_12
, _) _) w1 a3 d. s- n8 M26_14* T* T4 X) g. H0 m
7 c( ?3 L- a% v+ E% d% t" {" T) R0 |. s, y3 d2 G
) \9 s6 b9 n- _* [4 y+ o% r1 d* B$ }' U* K' M
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.8 u9 A9 v$ `# ~7 k9 j
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
+ h' K5 h3 h3 e. y8 A#------------------------------------------------------------- --------------: G* p" B2 W" a* e" v( G \; x A# ^
# Geodata0 b3 Y9 \8 N: g! Z! z2 k. y
# ----------------------------------------------------------------------- ----
' ^0 h" _) D9 G+ {5 ?6 z, x& v5 ]# GeoData options:
# J+ [6 t9 `1 w2 N; D* m; @8 p# 0 = GeoData and PathFinding OFF (default)
9 b# s% D# h5 N6 m- O8 |6 W9 C# 1 = GeoData is used to check Line Of Sight (LOS) targeting and6 N/ X& {( @* W+ } V( J. B
# L2Playable movement. You need to download files for data/geodata folder.
0 W. L. x. l, x" c3 u4 S# Monsters can pass walls but not aggro (no line of sight) through them.
# |/ B1 j0 U2 _$ D) N. B- a1 L# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode. ^" t* ~/ `# R) S( E. x
# files if CellPathFinding not enabled) and all character moves go through
- f4 c1 Y. W1 o# geodata checks (if a mob passes a wall, pathfinding didn't find a route' |- h0 t3 k/ Q' |3 j
# but we allow attack and returning home).
& h% Q, `3 a m, V9 w0 k# Recommended server memory minimum 2 GB, rather 3 GB.
1 b* g' T: o, f( U" {! j" L/ e# Default: 0
3 q' j; r9 C% L8 {7 i( Y- v! y. @GeoData = 0
9 \5 G2 N; F7 }$ f, ^' C& }- O' \3 s& W) r& o
1 |) c9 \- a3 R7 P9 ]! `( S
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.4 L7 |/ v& W/ L$ l' X* V7 [
# 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 j o: W c) y3 w* R* x% D
# Default: False
( ?1 k& v- `# z7 h" zCellPathFinding = False5 s+ }: B) X/ a8 b: ?0 A
0 c( G8 T) m, `
. @$ I; s+ ^ u; s" y& ~4 k9 B# True = Loads GeoData buffer's content into physical memory.
$ I" T# V: W, z3 j8 b: n" X# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.$ {5 w" @8 {9 p! p
# Default: True
( k0 @' y+ R, A0 G5 rForceGeodata = True
, |, t4 [5 l" x) o4 W
$ f9 a3 ~" ]* @6 E4 Q8 q8 e- w* ^# U+ G1 ]. }
# This setting controls Client <--> Server Player coordinates synchronization:9 V# F* N! T, Z3 A, u5 _
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
8 ^) j0 @- m% G0 y9 O3 {2 p( y# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
0 N! d; [, _" d# `$ F5 f7 V2 k- ?0 m# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).% ?6 _" j, B0 s0 V- i8 q1 x
# Server sends validation packet if client goes too far from server calculated coordinates.
/ [5 \; s; A: E$ J- w( ~7 i# Default: -1
+ F$ p$ a0 }3 {+ K9 ~$ RCoordSynchronize = -1* t# q# P0 ?6 y5 v3 _( |& F
/ `8 u6 ?( Z* y, c( n6 S
4 l6 i$ R6 z$ `) {' a9 A
! L( h8 {7 l! |# m0 l1 T7 D$ q* Q6 D1 B$ [0 Q- J, N, H
GeoData = 0/ |( P* c# u& Q4 u
; t% z* H! {) m
- q6 U: g5 E5 p" N8 L2 H
/ D% `4 d+ @! e4 R6 G& p. f# b# c/ `; e
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.0 g4 f& C3 A* G& M7 v/ w
Ставим 2 если пачнод присутствует, так же включаем эту настройку:6 a7 z( M: }1 n" }) n0 ^
& w; s- Z! L% h7 h
# r8 e: s4 ^6 }& J0 [
4 w- ~% ^9 v5 m* H1 G; P
# p) G9 \5 k- @7 W7 i* h0 }# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.; U! l# T# s! ^5 _3 V0 k) x' y
# 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. i- P! M9 L$ C0 y( K
# Default: False
5 N, K* D. |/ [CellPathFinding = False
; S- f r' N. _+ d! Q8 e" f. j, w) ]/ [3 y" ^
1 k3 M2 U7 R+ V) ]* _6 |
2 X# W3 \8 I' t! ]2 X5 c6 D" z( |8 o. f4 q9 a( I
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.' s+ P$ m F6 @5 } n6 m
Пожалуй всё подробно написал, спецы дополняем если что то не учел.' G6 Q8 K$ F& N2 {
+ U4 }7 j7 [) m6 P
7 ~0 g1 u: Z2 @3 j2 [% a
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.4 C% _/ |- z# z1 i
: w3 X( a9 l2 _. {0 NИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
; _& u- B. T* H6 s' d0 ?; e2 A4 w J; g7 ~8 A3 Z
|
|