Хроники 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 Kamael3 S1 q* o1 C. R# a+ c1 b$ B, N
Сборка L2 Java
: {- T/ u) _. E# @( }% _! M6 Z. P; F+ R g7 \- P) i* |
* L1 l0 P! Q- n9 B* ?0 r ~Доброго времени суток.3 s2 D8 k4 U6 P. Z6 P6 V
# Y. d) ^$ Z2 q
% N0 {) ?* F- x* o3 f$ fЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
! ~! t$ B5 p YВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
+ P# i" G* f9 r) ], b3 W7 s1 ?Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее. U0 R' g1 ^2 K- d3 U5 n* ]
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.% M- |# d B4 C X! a- K1 s
& y& R6 D9 T$ k4 r$ s1 m" ]& E& M
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
% {; j; D5 Y3 {( R9 M1 t W' H* t/ L. g. c7 a
0 H4 S0 ^3 x5 d2 fНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково." t& d& C `- q$ v E* h K
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...( W- Z% @2 @9 U! V5 M
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.1 j# k3 d, l8 g2 H
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.8 P* k7 o- i$ d9 I
6 o: u8 {) Y7 b. M+ e
c1 O; \" O' N/ R+ G
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
* a# c% T8 `" e0 Y: A+ qКоличество файлов пачнода должно быть равно количеству файлов геодаты.0 A9 ?2 {! q2 U8 O! W7 \% q% N8 p0 {! [
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.* L2 B$ J/ ^! t+ s5 B- J2 V: c1 K
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.: A( c# a% C$ U4 @/ A/ a+ S* ^. A
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
1 o, O) E7 U# T) b* S. gТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
N% m% N: X/ G% N! g0 wУстановка геодаты на сборки без пачнода (Rebelion):+ h9 p! w- b: u
Покажу на примере L2Dream.
3 u( }( \+ [2 w, N% I( k" P( J5 ~Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:2 n, k5 U0 b- f9 @
& r& d8 E2 h. Y! g
: {/ b/ t# h3 Y
C:\L2Dream\game\data\geodata( \$ W0 N$ H2 I2 {1 \2 f' C) q8 R
. Z' h- U0 h& R0 C
; a1 d7 Y( @: ~9 |! ]1 h" L# o- |
' }8 D; I) y' D+ {. G. i$ \) b
; A: Z: ^4 S( x% L+ K% u0 U
Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.) K: o/ h6 y% r/ A _' O2 \
Настройка.. h5 B4 |7 T! _. L+ K
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
* y4 M/ Z0 L5 M" l3 H6 w#================================================= ================================================== ====1 L; r1 V% H: m; {1 T& n
# Даный файл является конфигуратором геодаты." a8 E" w0 D, t% Y% I
#( v4 x2 \. w0 V9 V
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.! w( r$ [! ]) r" \* o$ d" d o
#
( J7 N: P. _4 i# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).' g! l7 {* {% w5 s6 c
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
0 R/ m* ^& X2 i6 C8 g/ ]% u# Ну или просите прикрутить SSL. b* C1 G& \! d2 R& _' z6 \
#================================================= ================================================== ====
& }! k2 \* |/ [+ q5 k" ]8 [8 X0 \3 ]3 T) O4 Q' A$ [
( [. s/ l- \9 m/ V% B# Включает/отключает геодату и поиск пути.
1 @6 m @5 R. X! ?2 G# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
# V/ L) W1 T! x& D8 B& u( ^# 0 = Геодата отключена.
; U) I; u: z+ A" L# 1 = Геодата будет загружена в геймсервер.) Z1 d4 u/ H% c, g5 @) b! Y4 J
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
; P0 K) X7 m8 {% z0 u# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
$ u' O7 k1 w# l0 I8 }, Q0 n H- z# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
- z. c9 A2 C2 `# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
- U& `. M' x# IGeoData = 0; J% z/ |" y( ]# l
+ E h$ r0 w% C: {. r& H# x1 x, h, W8 k& Y
# Хост для сервера геодаты.
0 b) I/ @9 ^/ b% o6 ~# * Забиндит все интефейсы.$ W* h9 r. b ~9 e$ t- s
# Игнорируется при GeoData = 0 или GeoData = 1" C2 I8 l# P4 T# O8 s/ h0 E
GeoServerHost = 127.0.0.1
( r* U, ?# ]! r X! r z; M, W+ H, b* \% z% f
: W( S1 S( p2 X! p F! b0 _
# Куда будет пытатся коннектится клиент.7 |8 |2 c. L+ b5 k
# Игнорируется при GeoData = 0 или GeoData = 15 d& q6 s$ i( T8 X
GeoClientTargetHost = 127.0.0.1+ Y6 Z! b% |$ [
! |3 z1 T$ C; n: W* B9 V, i. W, a: T3 Y% D
# Порт для геодаты." E$ R0 a3 F3 T
# Сервер откроет на нем сокет.! |+ h; O3 Q6 c( Y0 h
# Клиент будет пытатся подключится к нему.
# w9 c- x1 R; N- h# Игнорируется при GeoData = 0 или GeoData = 1
6 o1 A4 g0 A7 C: J0 pGeoPort = 9050 U4 v" ?, l. u4 `7 U0 l
. J& [" S. c+ l# K+ W8 d( q5 \" q% x& l5 g
# Сглаживает путь.
+ ]8 @; I; K5 g2 [# Стоит отключать только для дебага.! Z1 U9 G: ~, c, W
PathClean = True
1 S3 Q0 j& }' i' w* S
- ~ n/ N7 ~+ G6 L1 g! q( U3 h; J) E7 @5 p- z. E$ K7 s9 O
# Обрабатывать ли двери в геодате
, I: H# d2 {* N& Z6 {9 \7 ^$ ~# Настройка влияет на ГеймСервер/ V- {1 M' i, i+ s7 w D# \ L
AllowDoors = False8 H0 A2 a5 V j
% L: ]9 l) P$ j% C% x. j* I+ w
! X! Y+ p1 [! c, ^" {PathFindingBoost = True
4 O& r( O1 M y6 @* i3 l" DPathFindArea = 2508 ~% O, [% V/ c& B2 I B
Внимательно читаем,нам нужно это:0 T/ c5 s# { A9 e- v( D
4 h+ I* J$ ] [" X
/ R2 S0 |7 q4 O, J( ~0 ^
! {. ~- c* q) f, r0 p; J
& e+ q- Z9 b' T: h# Включает/отключает геодату и поиск пути.
3 _7 M: F5 N; j. p0 `: d! ]# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
$ g& K; I7 T4 w. w3 Y+ @( M. K2 |# 0 = Геодата отключена.
' ^' V5 I5 b8 d% e: K# 1 = Геодата будет загружена в геймсервер.' t7 n" o( ?0 @4 n
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
; u) H/ w0 o: s2 r4 p- S) x' H8 m, F# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
$ ]( p i+ T$ i5 f4 l# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
! N' c) _2 P: P! k7 N6 u# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.! }- O' A' J1 z- ]+ B3 o2 L; X
GeoData = 0
7 j/ K) Q% F% g3 t z! M/ T: o; B2 S% ?, n8 T& ]0 d
* ]4 T8 ^( M0 a: e
; h/ p2 {+ k. T1 M
, a1 O( i) w& N3 f& V+ eВ этом параметре меняем 0 на 1.' V7 J6 w; I- v1 S G
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
/ B. a7 c6 n# K) |3 Z# Хост для сервера геодаты.
) ~5 s2 M# @, H T* J# * Забиндит все интефейсы.7 c( e1 ~4 X8 N& g$ Z3 G
# Игнорируется при GeoData = 0 или GeoData = 1 v+ o" k3 \" N1 o9 ^% Q
GeoServerHost = 127.0.0.14 |" [3 l; a6 d: G- G G E
/ w8 [0 D& S, a4 j0 F7 ?2 f1 Q" A/ _" {
# Куда будет пытатся коннектится клиент.2 b0 Z7 ~+ b$ k M+ z0 z
# Игнорируется при GeoData = 0 или GeoData = 1/ N2 w9 P5 i" X
GeoClientTargetHost = 127.0.0.10 W' r6 z) m8 N! ^0 G4 V2 _
' C- Z- y# \2 x7 L+ N* C" D5 ]
3 d$ x! M" O3 Y# _: {7 L# Порт для геодаты.
- D7 G2 a9 t7 `8 y1 A8 [# Сервер откроет на нем сокет.8 R1 `0 T: e) A4 I8 y0 Q+ [' Q
# Клиент будет пытатся подключится к нему.
: j9 L& q& e/ a' H7 O7 D# Игнорируется при GeoData = 0 или GeoData = 1& a0 v7 s9 o H+ Y
GeoPort = 9050 e7 ^! s0 X0 J' u3 [7 I
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:3 N' W( K6 c6 T5 v
8 h% M* Y# _8 @4 f# `: ~! U$ V$ l: u
# K, D8 T: @3 v8 b4 V
6 t6 X& ?6 A7 o/ v% Q
4 Q% ?2 Y1 G) H6 ?7 ]/ @7 y1 rjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
, m% L( u+ N2 L3 F" f; U# t' i: Z- \
$ Z) e# j/ b' ?3 K4 C- R* g8 w! _* e$ j. S2 _
* P* O! u' q+ H9 a8 g8 R( c
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:' Y: k, U' q) a! B
6 [% ^; @& t# J7 [" W2 |5 u+ ?, d& ?& z1 _; R+ `
: o {6 \, A7 F5 g$ R
: a# {! C- T+ w1 u/ `: T3 q# Обрабатывать ли двери в геодате/ }% n X2 M4 H. `4 N
# Настройка влияет на ГеймСервер
* w% ^( M0 E" w( vAllowDoors = True
$ ~! V- z: Y' s8 j( jТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
8 z+ a$ ^) P% x# zПути размещения файлов геодаты:
2 k: j+ V$ s: A' X
" r& w S+ @4 t8 z+ D' i
# ?1 ?5 |- C+ qC:\L2jServer\gameserver\data\geodata2 G' @' B6 j' n- I/ l
6 `5 q# ]( H0 J) @4 D4 U( I& [& O. _' h
1 y& c: D/ K+ l& P$ |. U* |
! I6 X' D7 j& b. a; vИ патчнода:+ N1 [) c! B& @& d" z# y) J
( U, [: ^0 H' x* L- V# X5 p8 V, L4 y" z+ Q% U" X. X
C:\L2jServer\gameserver\data\pathnode3 P5 ^- @" ~/ H6 S7 @+ Q4 c* Q' g
: i4 U/ s2 c4 O/ ^9 ^& Z
& n) @/ y; W, V$ d1 e! _# O3 m7 B+ i9 U/ C
1 P1 e K( {+ d a* cВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
2 D- X& W1 \: m- t6 D6 ~: s( ]. c! j3 O' _8 P( |
$ R: J+ |% \/ n+ ~# s4 ?
6 P$ s- [# L+ p. ?( x/ P E' p6 s# B* Y
16_10* b) N0 d+ ~$ }4 ^0 q' f4 K. T& {/ U
16_12& O5 A% w; j; Z: [3 b. H6 I! J0 z
16_18
: h, n+ K# z' ~. }16_197 Z% |0 M7 }& V! p* L6 c" C% a! c
16_20! e0 \6 q# ^. ?/ S, B, q
16_21
0 e6 d) Q" Y& R. G16_24# w: g0 N1 g, u% z t+ z$ U
16_25
" w. \: C3 N- P: h9 n1 H17_10
0 W% k, I3 V) s) a6 R' h17_11( ?6 y2 ]8 X. q$ A7 g
17_15: v, d8 [8 @# T: l# r; }3 a& L* v
17_163 U* q! ]3 L/ v9 U! b
17_17
5 E6 E; M6 |. L* _4 b$ X/ m17_19
% \$ L& r. G8 H0 ^3 g& ~17_20' w- h+ ~& y, R% W2 X! t
17_21# S5 P& k# T1 \/ B2 M3 ?" n' ^" y
17_22* ~" c0 J) U" o; b" L- O$ v' ]
17_23
/ P9 i/ P/ g- u+ F8 j5 V17_24
5 Q4 e! I) ?1 p: z$ }' Y; x- H; j17_25* F6 i; @& d1 J' j
18_10, W' o7 T: g6 d' @2 d0 E, |
18_11+ |. \( a: z; U5 K% ]
18_14
7 I2 P, r6 I. R/ W18_157 \- J* k' F. g) ]
18_16/ c8 M% ^4 U! J: o; @5 z7 h% E$ s
18_19: c" V; h* x' h1 _. m9 z, _0 {) h. G
18_20
, l+ ?% n( ?1 [6 a0 g18_21, F& z" F: u' O
18_22% w2 C" E. q4 a
18_238 p3 ^: C7 _- h5 x
18_242 h4 F; T7 j. X, A; R# B$ q( B
18_25
8 g$ i y6 v2 m6 K8 Z19_107 r% e4 j: B$ C' U- a) D G9 I9 F
19_11
& Y( O+ F- ?2 N6 o* t2 S19_13
9 N" w& J3 I# D6 c8 s6 C19_14
) Z4 a2 I4 X$ c' H. A19_155 ?1 u5 x4 v7 s& K' L
19_16
3 I5 B) P$ |: G9 h/ u' C# D19_17- y: ~- u) x2 O" |3 q9 J. y
19_18
5 `- P1 P2 S) I( b6 P; |19_19
; @: ]& S. k+ C1 H4 D19_20
( j1 F1 [4 Q5 a' l4 Z19_218 D. a& K+ N+ C9 {( b
19_225 J+ U+ }3 K( y: m* }( }
19_23/ M+ r) i8 m6 \
19_24
& k, C4 Z4 }/ g2 ]19_25/ `; E0 [0 U2 n! G
19_265 M" L9 W3 v2 h, |: g5 i
20_106 G; U! `2 Y; h \% W
20_11 s7 K4 ]/ q; a' D; e0 e
20 _13% e7 B& b1 P @- |
20_14
' }. ?8 U8 X V+ y2 F1 I20_150 \# F4 S% o. f; d' D4 u
20_16
7 j3 v5 w9 w: l8 [2 B20_17
2 V( X) M: H6 D0 `0 [20_18
8 J$ a% g4 s) W0 Q1 b20_19
' L* j. L$ X G$ k20_20
$ _/ B. T0 N6 S( @20_216 l* P4 o. x8 u
20_227 b! e6 }% P* i
20_ 23: }! H5 v9 n# g" Q9 ]" ?# O
20_24; ~- {4 [4 q* ]1 |" h0 b, v
20_25
% j, A- H2 O+ @. Q' v& ^$ g" y20_267 i, f3 d9 U! F% y. s( h: ?* n
21_11
& x0 X" K; _) ~' O7 ?21_143 @( {, r0 E1 E: i8 ^
21_15' d5 J& v$ J8 d% g! m6 {
21_16
+ M6 u0 \: q: Q3 Y21_17
( B; J& `; m) } r( `# T _5 Q0 L* U21_18
4 ~- v o' w' k3 C1 q7 \. u21_19* R; i' t* n( f
21_20$ D8 `0 L" n" g. T6 P' t- M, F
21_21* E/ ]; {- i8 @7 Z2 t& {7 g
21_22
% s* h% b& i2 H" m' s0 ^! k21_23
) `6 t2 b/ J" T% d21_24
# l* z" }" z8 F21_25
9 _( p+ `5 N u7 w* Q* ~22_13
! A) _/ V+ |+ r9 B: l8 U# b4 |* j22_14
7 w2 a) m+ b$ k7 U. b) b# n22_15
. P' o- Q( n4 p2 H22_16$ e. d2 h+ q1 k5 O7 @
22_17
0 S( D$ K9 U" d7 b22_18
8 W& e; J6 p) ` R2 e' D6 g6 Q22_19
0 f2 ]6 X8 d: n7 X* S$ q22_208 O+ j% z P2 ?5 A8 ?7 k, t# P
22_219 s: r+ k Y( [! q2 p0 G0 g# }
22_22
5 Q4 k: _* v/ @2 W- c$ _) S22_23$ J! m# M4 v, W* r2 R- m
22_24) m% z2 K# n5 E4 ]5 R
22_25' l/ d1 p2 ]$ s0 a7 B0 H! l! x# m
23_119 {! n6 I, Z4 i. F1 P2 d
23_122 g* I* ]' T. h" S+ ?
23_13( Z3 W" E3 \7 y0 w1 p5 t8 U) g
23_14
8 Q, l6 l3 p' L1 _7 Y23_15& z+ A& G) A, i- u9 J r. e' x3 f! l: o
23_16
. w6 y+ o5 F4 L# I1 X. I* b0 ]23_17
, F$ p/ c& X: u9 J2 @. I, w0 s23_18* T. b, q7 Q- E! A2 y
23_19
. z$ t: X/ w) F- N) y1 r' |* w* q23_208 x5 D L; }0 b" q* R ~# t
23_21
+ p4 T x. z/ K( ^3 P" y5 @23_22
4 g {/ x. m: g4 b6 q7 d! v+ z+ j+ Q23_23 p8 X9 A) o" K& S& W
23_24* t( f* V( l$ V. y9 Q; Z( n" k: o& G5 T
23_259 ?3 |" b9 r# P, x! J- {
24_11
/ \3 y/ D) `2 s ^24_12) K1 H9 X" w9 w0 S$ ^2 @
24_133 Z. c# n: K3 q
24_14! P; z3 {% P' L" n5 N+ I) c& R
24_15
5 m% K" q9 p h" X# c, i24_162 p& }4 }9 k8 b% g7 [; S8 N
24_17) ~( z7 J) |+ @. b* d1 z$ |0 Z
24_18
% o/ @1 b, P& K6 Y) g( b24_19
1 L( _# b6 o; J. r- f24_20
' D& k# ~! g$ Q% H0 o+ B6 K. m24_21! a* F! i* b- \4 _4 x0 M& _
24_22& g1 j% I! J; ^) Z4 i
24_230 E: }6 u1 e& M5 h
24_24
% g' O8 M* z0 G* i+ o* S# J24_25
9 b' J: i0 z& v' |3 m5 k, ~0 C6 E25_11' U& I; i/ M: i% i* I& Z. G
25 _12$ C& _; s* |" y' V, U6 `. ]7 K
25_14
, P- P& r% ~* p x2 u `25_15
, e5 f/ i4 Q% O( e5 t25_16
, R f5 G+ w q7 }2 G: V" a$ V25_17, G1 V8 v; b' Z3 e
25_18
) K8 @0 D# Q& y' {! j& x7 j25_19& c$ Q) T+ o- B" o/ j3 r% d' `2 J
25_20
8 s! [! J2 C5 M7 m3 D$ W6 C25_216 u7 x4 V4 D3 \5 |& n3 ]
25_238 R3 ]# z+ B+ g$ p$ t$ }( m
26_ 11- L0 k1 d Z2 K7 G' Q; v( C( A) |
26_12; g4 Z! H1 {/ U& k% m2 I3 }$ s
26_147 F5 }( Y1 ^! j, M" R, _& ~( z
( @3 I7 e m% y/ T; X/ p3 U# _5 m) G
, c; p. g& q, f
! V2 n4 M1 @5 N9 m( x# A( `0 W% |7 u+ z
В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает." `) m" I( v" O$ I& J! P( ]9 |
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:, h( p& d5 V- t6 B2 m( {$ y6 O0 _
#------------------------------------------------------------- --------------* r. U* Q, s; t+ C. f* A
# Geodata5 @0 Q+ D# k! b$ F8 C, x: _" M
# ----------------------------------------------------------------------- ----6 R3 ^& ^. c6 F+ T# R7 g
# GeoData options:
% }+ F! S- K( \3 V+ r f# 0 = GeoData and PathFinding OFF (default)3 D7 P- w. V' e, X
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
, J8 [3 k4 I2 T% r/ f8 s# L2Playable movement. You need to download files for data/geodata folder., ?) b, c! w5 M# _0 w, ]
# Monsters can pass walls but not aggro (no line of sight) through them.
% r$ Y- q+ t: l: P# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode9 r$ Z0 @# p6 R0 C' K- X% `
# files if CellPathFinding not enabled) and all character moves go through9 M5 @0 W# x3 K+ F2 F0 ]) J; j
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
6 J+ `% Z# E) ?4 r7 w" z/ n0 G# but we allow attack and returning home).# v) N0 M" L0 `; n. f E3 u( x
# Recommended server memory minimum 2 GB, rather 3 GB., v3 v4 L, N5 D* k. Y4 w
# Default: 0
8 b; H! Y* _0 |0 l, M0 j0 pGeoData = 05 V# }! r% D/ s, A6 g: x
; q* E1 i# N/ P* G. p
y6 r: v& y( t- t+ r
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
7 M2 {. h" r! ^# 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( Q+ G. B! O5 O9 t
# Default: False7 n9 F# p* z& G5 h
CellPathFinding = False
+ g) `# w$ f$ F, [. t) _0 s0 F6 t( y
& T& o5 V7 N6 X' g/ d* I
# True = Loads GeoData buffer's content into physical memory.. n6 ~8 n' U) q) o, a$ Z, e( p
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.9 Z& F( B" e0 a! V7 B
# Default: True
8 M6 t4 d: B+ L* ZForceGeodata = True
$ f2 N& x! h! `& |: F# Y5 {2 V, O/ b( `1 y& T4 D' C* X# @ P- \
, d b7 E3 u* k# This setting controls Client <--> Server Player coordinates synchronization:
3 D* U; U% n+ E3 w# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.. r) d6 i0 Z7 B1 n' L# b- d: i
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
6 ~0 j; M+ u! b$ N8 I7 M* o# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).$ m; Q6 E. r& n: S J) m
# Server sends validation packet if client goes too far from server calculated coordinates.1 M* l) G. M9 z- S: C
# Default: -1
4 o& d& z& t. @$ gCoordSynchronize = -1! b; V! I" a( M+ F: [( ?0 Z- V8 i
4 c& b- {8 a! y
$ b: e1 c8 V2 Y1 w2 _" m5 w. \. Q: ~& o# Y6 {
0 b) s( R6 z0 \+ _" } h
GeoData = 0: Z4 x& q9 D, s" [( |- e
! C5 `2 c$ B3 ~3 v/ w7 D9 V
. x2 @! d& E' x. w+ A$ P& P( b
* B4 W( w, G2 T% ]" s- n8 |& Q
) J$ R6 L3 m: N0 [, a* u) PСтавим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.& @8 A- {* `8 D% B: k' I
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
+ t. e4 \2 ~ j) q. P S% T+ l) l5 A6 n5 a9 U' D/ K: |. I0 B
- `+ @& o& p+ L, ?/ h1 J, m6 }& z! u- H5 G
7 |) V: |2 U L) Y. ?# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.3 M5 ?. }# w! y+ V$ l" L
# 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.
& X3 ~* H; y! n% g# Default: False0 p: H- K" Q+ D0 L+ t+ F
CellPathFinding = False: ]4 o) Q9 ]+ c$ @: [& j
' A. b3 F6 y2 | @) y+ z% u
9 M$ Z7 @, y" t
" I" ^- C6 M7 k! w1 X" ?
_0 g0 m: e! l- w0 fСтавим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
+ h. G v- E$ d K, H9 ~Пожалуй всё подробно написал, спецы дополняем если что то не учел.
$ l8 M0 [" ]/ Q5 o: r! m
% R2 ?2 r' b6 u1 q: }% ]0 L& e% M4 a: n7 \8 t( B1 U( M! W
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.3 b3 w4 U: Q5 J& R
( K# N7 W) ^+ d! t7 n0 }* RИ строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.# R7 C8 T I( \$ `, J
9 V4 D8 Q1 N3 p' V( }. s. K" L |
|