Хроники 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+ g0 l0 T6 q g! D4 _: X: p
Сборка L2 Java
% ~" s+ ]6 v) s1 _" U8 \* p
/ n6 }. K$ B4 g1 Z9 v7 @; i* @# h
# ~$ U3 r, v: P' ~0 J7 }Доброго времени суток.
, u# O U+ d# X/ h' K# J& Y9 @3 G/ n! M1 {& B* j
% j! `$ l& L% d9 H9 bЧасто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:; Z2 `* w+ e% D0 `7 q8 m" U
Возьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.9 Q: b6 p* F$ u. G3 i) \* K
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
6 L) O1 W4 p! g5 i% A( tПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
2 n2 a0 D; d: U$ ~. a0 Q' m& f& i
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:% t, I# T- M" ?1 e$ L# r
& z, {) T' @2 d" E$ P8 m5 z2 u% A- i. y6 \6 ?
На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
# R" Z) Q4 N8 LГеодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...2 ]9 k) y+ I* E: R6 Z; V% r. J
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
% j/ n/ r; A$ D3 {7 a( \. _, }1 CУ разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.3 H/ ?- L/ A1 x, J8 l
& E4 W- ?$ r) Q" s) R3 Q3 T
+ @; e9 e p9 G6 P. N1 kЧто такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
3 e4 H3 L2 s$ ^2 u6 pКоличество файлов пачнода должно быть равно количеству файлов геодаты.
3 O" D1 ?# Z2 A0 N; M V1 v" `Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
8 X6 B8 K8 L! h$ _5 [/ C% ]Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.+ s# _9 f/ o4 G1 L+ ~
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.! u, V9 {2 k& ~# W% r
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.1 [' n$ k4 T2 ^6 [! d/ |) k
Установка геодаты на сборки без пачнода (Rebelion):2 v ]! o' [9 i: n3 j, L
Покажу на примере L2Dream.' V! G9 U! _+ C$ c9 k4 e( M" s
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
) _; @: h, s1 T5 u& e$ r; {; A. O* ?/ x7 |& B, P
/ k* b, o t# ~0 {2 j
C:\L2Dream\game\data\geodata( v o# Y- l1 q6 X5 K2 a: k
+ L' c# p4 o7 @+ O) U4 @. ?$ U% q6 m9 V o' ~
. y; U9 y. B$ Q7 T
4 t/ x5 j1 y6 r: F( _$ H; k$ ZНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.. L4 p! R* m8 _5 E' n/ f
Настройка.5 A2 [# t" @8 u8 r& a! p
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:* q+ |. x, D$ p$ i2 P
#================================================= ================================================== ====7 B* l i4 n, O3 v, q6 e
# Даный файл является конфигуратором геодаты.
. L* b) Y* ]2 b7 J#
/ Q: Q) i1 |6 S3 X/ E0 ?# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
2 M# N6 ~2 w, \ u4 b* Q7 M/ S% b#7 J) K- ]* V; ~1 s$ o; a
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
8 J7 o/ I. q! w3 V6 N* X# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.7 f6 Q: T. B8 N, K
# Ну или просите прикрутить SSL.
' @; H3 ?" S1 p) v; R#================================================= ================================================== ====
3 v3 E% s. x: f Q% X1 b6 i1 `( d4 r! B2 C( H/ v( `; K5 U7 F
4 C& T; ?( c1 a& x1 F- L* O
# Включает/отключает геодату и поиск пути.- o5 ]% W1 C4 B! b2 Y
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
; c( B7 Q; z4 n* }5 ]# 0 = Геодата отключена.) q- Q! d5 l( V' c# n' X0 d$ M
# 1 = Геодата будет загружена в геймсервер.
) X4 {% k b9 m% N# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как6 T7 P B2 C5 F7 S7 r& f1 M. p
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами# V! r( R. A% g( D
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
: Q# o9 Q, [8 t# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.# M; E: R: U8 E2 A# |( C
GeoData = 0) i! i7 H1 ^3 O4 i3 I
, U: U/ C5 d& R7 P3 m' d6 P0 i, {; M9 X8 `
# Хост для сервера геодаты.
$ O8 [+ ?' D" J4 k' U! ]# * Забиндит все интефейсы.
$ U) A8 p l( ~' I7 P2 s. X/ p# Игнорируется при GeoData = 0 или GeoData = 1
7 s6 r; K' U1 i2 S Z7 Q) XGeoServerHost = 127.0.0.1* H2 v5 ^% M* y. c# d; f
7 v1 g: x1 j/ {7 v! m# P, R8 C6 r# x& f
# Куда будет пытатся коннектится клиент.
' t7 t- H* `% G# E! Q# Игнорируется при GeoData = 0 или GeoData = 10 v5 {8 Q. P- f6 [$ @
GeoClientTargetHost = 127.0.0.1
2 b% C& l0 }. n ?$ [/ P3 n2 `! a$ Y
I1 E& y9 z& [
# Порт для геодаты.: k0 C, c: F, v* l8 @3 R0 v! t
# Сервер откроет на нем сокет., x+ ^/ I f0 R3 f$ m) X0 }( y
# Клиент будет пытатся подключится к нему.* X4 ]% ]" }8 w3 G$ m1 R
# Игнорируется при GeoData = 0 или GeoData = 1
: X' ^! b7 u( b0 R# C9 |9 w% WGeoPort = 9050
9 F: S5 H: H. G$ |1 {1 X9 h- B: `, T7 v
, _2 v* R( ~' r# Сглаживает путь.6 o6 ]; C, d# k0 b1 x9 Q6 V H
# Стоит отключать только для дебага.
% w) e4 q/ g1 o+ _PathClean = True0 l8 a7 F0 P4 l1 \4 E' S/ W
6 I3 `* H' F- u* z( b b7 C, G5 Z6 k( [3 v4 j5 n, t2 S
# Обрабатывать ли двери в геодате
: ^8 m" m: e' ~! k- l7 R2 Q# Настройка влияет на ГеймСервер, \3 H* O' Z! {6 i, f# m9 ~
AllowDoors = False' u7 @! J! b4 \. D
+ |, C' w/ L* r2 M" P N
( M" q* F" s& z$ j- pPathFindingBoost = True2 X {& ^. C3 {( ~) C, I/ l5 r
PathFindArea = 250& o1 R$ L& \) h( d0 }( | q
Внимательно читаем,нам нужно это:, L8 Y, l: ?1 Q+ W
2 ^7 d/ C! a- y# O; R& N% E. Z& t; r8 R) k% N" I( |
9 g; V* V0 U5 i, u4 ^6 ]! |( T0 _- _7 G7 v! b8 Z
# Включает/отключает геодату и поиск пути.
( c D! I$ T+ x( ]8 v) ~# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
. `5 N; @- T" d1 b+ ^; }# 0 = Геодата отключена.
! `! P' W/ i0 [+ b. Y3 \4 w# 1 = Геодата будет загружена в геймсервер.
3 n& f/ D; W/ `# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как) d, R, E* C3 J* b. K$ p+ J
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
6 {4 H$ Q& h5 m u# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,2 C4 ^6 N9 H9 U V
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
- v5 w* b W2 e, @GeoData = 0* G6 G8 s( `/ \3 V7 P( Z6 D
9 z* h/ z: V8 J. I! t, \0 q, G; {$ N% _' v' Z! L0 S- V
W; F* R6 ], U, {3 ~' D8 ^6 m8 `0 e; b( n) A- |
В этом параметре меняем 0 на 1.
! O) F# V% m3 S' _9 W$ m2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
+ @( M7 f3 O" j6 ~" [7 b2 b* s" D# Хост для сервера геодаты.6 Y* u N$ M7 n3 Q
# * Забиндит все интефейсы.5 i" W/ }9 J; C) m. ^
# Игнорируется при GeoData = 0 или GeoData = 19 y2 \. _$ O+ z* s3 q
GeoServerHost = 127.0.0.15 x; P( z. f, O5 g6 N( R/ y6 u
9 V5 }, k B: p( t E
5 A' O# J6 S0 [0 q3 D7 `. l. \7 c# Куда будет пытатся коннектится клиент.- t( O: x# ?* \$ k" b" M& M
# Игнорируется при GeoData = 0 или GeoData = 1
n4 ~( y F& i4 B: t1 DGeoClientTargetHost = 127.0.0.1
" W g h- B, D9 d$ ~- n
: ?5 f2 K; s t, U# u6 C. J9 W/ I% T& h: _4 L% |
# Порт для геодаты.. }+ \3 j& W; V% g3 N, }: T0 J6 n6 D
# Сервер откроет на нем сокет./ O* k/ G& Q9 d8 D3 d) c# e$ ]
# Клиент будет пытатся подключится к нему.
7 y9 u% [- |7 J% g; f+ H: H# Игнорируется при GeoData = 0 или GeoData = 10 F2 o2 ?( |8 {) B8 H0 m9 m. V% P
GeoPort = 9050
0 B/ Z5 N! d: C+ l7 p$ JЗдесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:
% U* F6 b, i% \6 D! A
. ?9 Y2 S4 d0 S0 ~+ w( f6 k3 Z, q/ f/ V, n
# y5 e! r) g$ k. L: I- s
k3 d, N9 J* L8 Wjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
" O1 Q) z8 \. u; d N
8 o/ d9 g& y: M# B% p1 J& V
7 H7 o0 y' K, Q" p( ~) C& S2 y8 }& d% v9 d
* \7 h: y7 l4 @9 f
Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:: K$ ^4 O- n! F7 v
; l: C- c9 D5 F
2 H1 x6 @8 e% ]3 `; m5 ?0 k5 m( }( F: I' p/ _
- k7 M! M" t4 Q6 ~+ Z0 l. q# Обрабатывать ли двери в геодате
! S& m5 Z2 L+ O: Z8 V4 J8 e5 `# Настройка влияет на ГеймСервер
2 M f- B3 `# ?$ I1 O5 \6 v" {AllowDoors = True
|& s3 S q, |; t" m4 f5 R7 W, [Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
$ V ^$ E' n o- X1 e8 mПути размещения файлов геодаты:
: n2 w$ m! @& r4 ?8 J* m
! Y8 K+ Z$ o9 w: Z0 R6 N# @1 ], d: ^9 O7 |( L Z ]# Z
C:\L2jServer\gameserver\data\geodata
2 |, L% u$ J h2 t( i" h$ k7 s
' T; I# {& C9 N0 l3 I
) w( @! S Z* ]2 m4 p
" ]) ~8 U# k0 ^' P4 u% [* X+ `2 W1 n
И патчнода:% y. d: j8 s K$ _" Z( @
$ y R/ ]: M7 u& ]# o* B( K. O' B& l$ e9 D/ R( }+ W' K; q
C:\L2jServer\gameserver\data\pathnode
7 u8 z9 k% A) J& |
9 C- V( ^- ^1 ~* i- R- f' Q" i. h8 m- c% }
$ o% \9 N( Y, K. R* {! X3 J; B/ z, I( P
! }7 U; _ y6 Q4 PВ папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
8 Y. R- w) J1 ?# h; o
" l3 Q6 @# b9 ~& ?$ r& c6 H
1 g# S% Q4 a8 h) |
6 F1 _ s4 U) ]; G7 i' P' q; S& G. b( E: {; M9 t8 M; }
16_10
8 C1 V) S5 c+ C1 \* x16_12
- v! Q P5 [8 m' |16_18/ t- f' B$ X$ s/ [
16_193 d3 _7 ^' }: {
16_20
/ M1 h! [# C: F P Q6 N16_219 R, ]4 X$ \+ m# K. O
16_24
7 x: F% \8 `1 x {4 H! ~( v16_25
/ H0 s! e8 z _- y5 y17_10
5 n. s A3 V# D. E- e& A17_11: m, U9 A1 D) {9 t" d
17_151 I% {" `/ k2 z3 R! @; ` f
17_16) u+ [) ^$ a0 |' N I& O
17_17& p( [6 y7 a; g& G
17_19) O1 Q+ i( \8 [$ d
17_20; S" x: z/ C2 v: q' R& T6 f& b
17_21
5 t" Q( V p! I; r. @17_22 z4 `8 r2 s( F! ?/ q
17_23
8 Y$ g- f" D# O+ W2 X q* ]17_24
2 Q6 q+ k/ E1 S! Z. a17_25) x T( E O/ K8 u
18_10
% n/ } x, g! h+ p18_11
; N. W( M5 @, L ?# b5 G# A5 a18_141 \6 m7 n* w8 P8 X0 o$ z
18_15
. W9 I' [" B+ A18_16
4 A/ Z2 y I2 B# n# G. B18_19
0 m0 `- e, h( _/ o/ T) W18_20
6 q! {; w7 V9 l: D: c+ I; O" k18_21
6 i* e6 |. ^* n18_221 T9 {- m+ D2 r
18_234 S% u6 o+ y( Q* X4 m
18_246 O+ Y- |0 [, b3 [. T1 W
18_257 p$ k! W l: Y! s& s/ }
19_10: I- N+ j+ t. ^7 }) f( b2 V |& E
19_11+ a: @: n7 N8 d4 S8 E
19_13' w2 i. v1 c& D- C
19_14
4 Y2 i8 N* ?3 v7 k' E19_15
( o( `: k" N2 v6 [, y" }+ s19_16
( G( W' W3 c& T T- K) P19_17
) f7 L. Y$ q- M, d3 E7 I19_18" h* @- y* @4 g. b0 K
19_19
1 v" z. J+ x) o* _2 p$ _* \6 Z19_20
- C! q: S" S. d5 G19_21' e: w- z+ ^0 N3 ]& p# [# ?
19_224 c& o I9 x" V4 t7 A/ X
19_23
P3 K7 {2 o+ i19_244 k" T4 r# u5 k# V
19_25! ^# m# { B, x. o
19_26! e/ r; j' n8 _
20_10. {! g& F2 S- J; S2 b }
20_11) f( e) }" ]$ S* E8 O
20 _13! B2 y2 n5 B; d* v. i4 m
20_14
7 {3 K3 d1 B0 N: {* m20_15
0 r1 e1 Z& [1 n7 n: m20_168 X t* i2 s# m" A9 u
20_17
* [; P& C; ^% b8 p1 y8 b* L# R20_18
* q( e1 l5 b& k# s6 B20_19
* [: g( O4 i; E9 H/ t* k20_20
6 A/ r6 R7 q6 d7 s4 C1 h6 s20_21
) S- l% t. `9 ^6 n4 \) E8 ~9 T20_22& j0 \, u2 O5 ?6 R
20_ 23
: L: X' E4 {8 \6 b' B20_24* X1 G. M1 q' f$ u
20_25: X& m# z# i) k7 @! o8 Z9 \
20_26! E6 J& t6 s1 v/ y
21_116 T% e+ |4 o& X
21_14
# h) S6 n0 D5 B6 b0 ?$ q- f; z( ]21_15& x8 r- y8 b& X' B1 H" h- O; _
21_16
# Q+ J& P$ e& a! y7 B21_17
; H; w7 u. L( K# d. S# l21_18" c5 h6 U* _0 h& b
21_19- b3 `# R# r Y# |# P2 B+ ^; |
21_20
) Y! Y# }, t# G6 [21_21% y: w- E% | j! z2 _
21_22
% q7 `+ ?8 [* H: F! f! B21_23
; S3 u" ^/ [$ O ^6 z5 z/ E21_24: D# f5 m' d9 F" P K
21_256 A5 U% a6 Z) d% w7 j4 B
22_13
- g* O% J8 r( L: X22_14
2 q2 }/ y3 C1 d3 `8 r- W$ [) `2 _22_15
- i% X4 {# e; }4 o5 v7 c22_16
2 H! u5 o- Q" l i& ?22_17
+ z9 Q: J* s; N9 O" a d' B22_18
6 C8 u8 C' B" o l7 ~22_196 c$ E: \- O/ T' [
22_204 e4 i3 p2 n2 w
22_21 W1 x2 p6 k) R; X. v1 ]8 n3 a- K
22_22
$ v; o, a2 v' \6 i1 a22_23
2 I( T9 E' j1 @, w5 I$ {" w22_24; }4 [! y9 P9 {+ C4 w
22_25
+ l& {1 P! P( ~2 x# P+ T23_11
3 X" o \, Y: D4 `) l: A23_12% J1 [7 ]$ C W7 P6 V
23_139 z" J9 { @! i) I; c" U, Q) h
23_14
l r, D5 c' v' h8 O& i" S23_15' S! }1 l' g* g' \3 H% J
23_16' Y# B3 s G# L0 f! g, w' f t
23_178 M0 @4 [4 j$ ^: i4 g% u& c+ g k
23_182 h& s' C' z3 d9 K1 B
23_19! Q S+ {0 K3 f' W( c
23_20
/ \1 {, T6 f2 f23_21% M! b/ B+ Z# R0 ]$ C
23_22
2 Q: `* l- R! R% ?23_23
+ k1 d7 o; ?' C! I' t. _, D- X23_249 _+ a' \3 K4 Y+ W: X/ m; E
23_25+ X7 \- G$ N2 Z2 v; U) G$ L2 x; X
24_11% Q/ z/ Y: y5 h2 m
24_12
" x" Y: H; I% Y0 C$ m# B$ Q0 C24_137 T2 j& w/ Z+ b4 u3 Y$ W$ K# ?5 p% u
24_14
1 t. [ ~2 V( s# m24_15 O }& j9 @" ?0 n# n3 t
24_16+ F+ `; a; b+ d3 S! Q" i
24_174 e$ ^1 q& |2 a9 _
24_18
7 C# B: R& W1 e7 e24_19
$ Q. w7 o" ]( ^. |( S7 I24_20( T& d6 J" }1 f! Q
24_21
- W# |$ x8 F0 R$ D4 m4 J, n: l8 N24_22
' s1 f; t. Z7 @ H( W% D/ I- a( u24_23
3 U$ P$ V5 j2 ~6 {' m/ c! V, q' `24_24
9 V( s* M V$ K- b24_25, U$ w0 P e7 L* \. t, m
25_11! |+ w, d2 B, `7 @; k
25 _12
! n; u' h* ]" A8 T25_14! ^7 @# i1 n* k+ b1 {9 @
25_157 D. ^# A6 _! k
25_16
/ V" t" }+ ^3 `4 f) @25_17
6 f- G% ?# |0 D9 h( E) O25_186 O$ n' a- A' A; n3 V1 U2 f1 M: ]7 ~$ F
25_194 Q5 `. y( T' _6 ]" A
25_20
) z2 h7 H6 s9 P b0 j, p+ v! e25_21
. l" R2 u" L5 R6 d25_23* B3 ^; t5 e T$ N. G
26_ 11( j A; B1 K+ t. K" S# n
26_12/ M. i- `) ], p0 r5 I
26_14
! x. P0 w7 b ?; \; u' k4 d# d$ p" g9 B: I* @3 L1 S4 k
. ?$ r" J3 `, r0 l6 N1 _, c
: z- y2 i/ H8 l& E9 ]; e5 j4 J( `
7 Z( ~$ ]3 r" n Z# j2 ^1 @& |В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.$ g$ {8 W0 i2 U/ [ L
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел: R. \2 s! N9 P6 ]8 l8 s0 J7 z
#------------------------------------------------------------- --------------
+ ^+ n. m" x& a! R" Z3 R# Geodata
) N5 w& i- d3 F$ J6 r5 z& L- k# ----------------------------------------------------------------------- ----
" f0 E! S% D/ N& A; Q4 [, k- `# GeoData options:* K2 Q/ O3 C& h2 h3 b Q% K. W5 y
# 0 = GeoData and PathFinding OFF (default)
, o3 Q6 y" M: c, L, J, z# J# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
) ?3 U' b- ]2 g5 j7 c8 g2 x# L2Playable movement. You need to download files for data/geodata folder.
[$ c' `+ U/ B& z& \# Monsters can pass walls but not aggro (no line of sight) through them.
5 t* n \, P& k3 T6 Q `9 K# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode, F( M6 o. r, P& v- j- O$ c4 J: J
# files if CellPathFinding not enabled) and all character moves go through
& a' k% J% c' }8 \! m" A# geodata checks (if a mob passes a wall, pathfinding didn't find a route
" V! A/ F! X. Y( \9 N6 l# but we allow attack and returning home).
( o$ r. U. i4 c( ?/ A# Recommended server memory minimum 2 GB, rather 3 GB.
/ i# P! l4 x( J: m8 i6 s# Default: 0
0 f" J+ U% k" g8 ^/ Y9 z9 mGeoData = 0( k: U- J8 q- K/ G/ |
$ f. N7 c: q( r7 ?
% u+ K( n d4 q+ \
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least., ~9 x- X a: k- L/ j
# 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.
" B7 c0 Q4 n0 O% a# Default: False2 A& U& e. r, B
CellPathFinding = False
: t2 ]' k$ o" U% l( E+ g1 n: `$ ]
8 E& a, c: G0 w$ a9 B9 P2 \. R9 v6 j; Z7 ]6 w* t+ X
# True = Loads GeoData buffer's content into physical memory.
9 j9 w; J6 X7 m4 E+ Q- Y, @! H. K& j# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
2 t5 @; O( _4 u, |) [7 Z# Default: True8 W6 Y" z; M& x# c
ForceGeodata = True
+ k2 f6 I, K: T- K
y1 Y6 S9 ]/ m- T# v h" k* _: R$ B
# This setting controls Client <--> Server Player coordinates synchronization:6 T( k& l. V3 o3 A3 V/ a
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
x9 h' _2 ^. ^; p! A) U# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
* Z3 o, w: h8 L$ [! X; s3 [$ o. \# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).* z* g& c6 g1 E1 q/ ?
# Server sends validation packet if client goes too far from server calculated coordinates.
6 U/ }$ ]' c1 T A, I1 }% l# e% l; d+ q# Default: -1
& ~/ ]' K/ a' P* c8 V4 FCoordSynchronize = -1 b1 Z$ ?! H. r3 d: ~
" [+ d& } u" K, p+ }+ a1 Y
, i) d1 Z$ m4 {/ y8 g, ^: b) q3 {9 O/ p
. } H4 Z: z- }1 @. ]GeoData = 0
5 b! [2 A+ _7 F: E& o, X
, c6 l. N) k( y8 _# Y0 V) e+ R: A5 w* @
; e( ]6 |* W3 i& U" J* J, ?7 A" V' o- X1 n( {4 v
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.& M1 I( Q# @6 o+ Q$ x n
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
5 a: f8 x- c5 @4 t u% P/ q& w P6 ]& c$ ~3 A1 X
! F8 i) L3 D3 m. D. O f6 |2 L9 \; f& I+ o
5 T% [4 m; @, d" o( S
# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
4 J1 s* t1 z. z' M) @2 a1 H$ G" U# 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.
/ D. k( \' g: y; e* l; c& I5 U$ T, N# Default: False i7 F; s" o" j, O) S
CellPathFinding = False a" T6 ?" z# o( A* p9 o8 n
! f2 u d1 n/ [
* f& i( W5 ]* j2 L4 w# H1 p+ y B4 h' }
8 f- H; c+ k- u3 | t
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
- d m; d4 l! I$ j! |1 I1 H* Y: hПожалуй всё подробно написал, спецы дополняем если что то не учел.7 A, R7 Z1 X/ f; {# U3 W5 G
) a( E5 \; {2 u3 S& Z6 r" \ N
4 n. P I: |/ @7 T
Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
+ @- a2 z; b- L g9 z L7 F/ Q+ [# O6 ~$ i" c6 ?
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.5 \7 g" k$ k9 ^6 [* ?8 Q5 R0 Y
; N" Z5 H" V a2 Z2 ^. z& D/ L8 V |
|