Хроники 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$ u# y. v, |) x% T, B; J& V; @
Сборка L2 Java
8 ] v! ^- X- s( H5 i' e: Y( i& H: ^3 R6 i5 N, g
8 K2 ~! e1 r% q% _: u1 T- YДоброго времени суток.
& V ]) O, e& A+ Y- t/ z. y2 y6 K1 _; {
% O; S6 V2 l9 @- Q6 {" M4 x) r9 I
Часто появляются вопросы на "стёртую до бороды" тему геодаты, зачем она нужна, какая есть и куда пихать. Пример будет на хрониках Interlude:
+ t8 z; D9 H# S& a Q: h4 i6 WВозьмём две основные *_conv.dat и *.l2j, первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.3 s0 j9 L$ Y% H7 a+ f& ^+ _
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
' {3 v& Y6 N( ~- q6 xПо скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
" X& ^; u( L! h3 {2 |2 l5 q$ z: V
, o/ Z4 I4 P# g& s* f/ y: L! TВся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
: h2 w; s$ U1 Q# l n! i$ L+ |2 X
# ^6 {5 [7 }4 OНа картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.0 d8 Y- n) g0 p0 f2 |4 p
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
$ O% e& j2 ~6 x2 y7 B% Y: l8 DРабота геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.* J: y; |1 }3 B* n! c, h
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.0 @6 j) I0 Z; ~: C' h' o
' V3 \' |+ t1 H* f- [ A+ I$ H. X' e0 e% x2 r" o6 ]
Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.- R+ P! X# X" ]! k8 h0 |
Количество файлов пачнода должно быть равно количеству файлов геодаты.
1 f d ~- N4 n( [$ Y" mЕсть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.5 u6 b. ~7 Y; @
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.1 U! }* n& B: r: {" h4 w4 m
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu, L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
% A* y' R( E, z+ b" Y3 jТаким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
2 V) z& e1 r8 ]& m6 ]& m, M- d y2 eУстановка геодаты на сборки без пачнода (Rebelion):
9 w V* A! W" t& N: A0 R4 WПокажу на примере L2Dream." V1 E3 O% w0 e' K4 u) v
Путь куда закинуть гео,сами файлы ( пути и папки могут отличаться, в зависимости от сборок) *.l2j:
; N! L& O1 j( b8 H7 C* r
' [2 S) W- F0 }. C/ Z' B3 U' |5 Y: e8 ~& G# H3 S/ h
C:\L2Dream\game\data\geodata0 @2 N9 S& A9 t4 ]
+ A$ t8 k8 m3 A6 e y9 h- U( t- g1 h) F# W$ x. w+ ?9 I
. T7 b6 O/ ?0 h4 O0 f( `
$ P9 H( z( B" \! O6 P5 `2 EНе в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал. y/ A! J5 p2 ]0 }
Настройка.4 q6 F6 j$ X! {* U* X$ V
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:! c `2 D2 h, K: U/ b. V+ p0 }4 y
#================================================= ================================================== ====
. R0 w) P9 l/ |- g4 P, Z# Даный файл является конфигуратором геодаты.
+ t0 y3 @" n6 N% ]6 G4 a#9 Y$ I5 z4 i9 ?, f# G! R
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
0 R- S; C% U: L/ h6 n& Y( C! T/ J#
4 y, p, K) q4 x% ], M# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
7 a7 z/ z$ |# j( P4 z# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.0 J3 u, m! h$ k- w! C$ }
# Ну или просите прикрутить SSL.
) M q8 i5 ]6 Z& c#================================================= ================================================== ====
- ~" [- v( }6 q2 B# J. n% @0 F: L8 f3 j4 M8 D: z/ P
- b$ j+ n& v0 d/ \* j# Включает/отключает геодату и поиск пути.
, |; E$ J& u2 g8 {& P# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.6 z1 T: n3 G* G8 Y' {& |; V5 m" F
# 0 = Геодата отключена.
; {9 p4 ]# s. I5 c$ |# 1 = Геодата будет загружена в геймсервер.5 v) t3 F4 P3 l5 z" M) R- e; w
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как7 L& O6 u' X( @" B, A" N1 j
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами _1 f8 r. `5 R
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока, c( i1 z- u& v& B4 Q+ X2 H! q2 Z
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
8 w7 l e- i' j5 k* n }$ g- LGeoData = 02 n" `, a. Q- [& l& B
+ e/ `8 Q* V: X+ O: @
, Y4 C* W$ b1 u1 b. \" g
# Хост для сервера геодаты.
* R& H% T4 o; w5 x# a2 d& Q1 L5 f# f" d# * Забиндит все интефейсы.: w$ x# ~$ p, D1 ~5 l
# Игнорируется при GeoData = 0 или GeoData = 1
y* m$ W: T: W$ k/ ZGeoServerHost = 127.0.0.1
/ x. m+ C7 G6 K$ M: p0 }1 Y6 d p
0 ]% \" A8 ~ N5 G: b( c# Куда будет пытатся коннектится клиент.
6 ]# @ a) z# B& c) \# Игнорируется при GeoData = 0 или GeoData = 1( E( \1 m" N6 t) v( c+ l
GeoClientTargetHost = 127.0.0.1! ~" E" ], \- V; ^. O1 E
# u6 y+ f, ]! F4 k+ J
6 N3 \* c2 ~& t$ t# V" f/ i
# Порт для геодаты.
, u9 I4 o: V8 o# Сервер откроет на нем сокет. A7 V2 M) |5 W* p: A- R( l
# Клиент будет пытатся подключится к нему.
( X. |. a) Y; w# Игнорируется при GeoData = 0 или GeoData = 1
, D& u1 H6 ~: y. K) {2 rGeoPort = 90504 r( ?7 L, _) p0 a) n$ U; G
2 H$ c4 B1 f. U, f0 J
8 q6 t( p" R) A, b9 ?# Сглаживает путь.# S& D' y. W& d D. z1 X
# Стоит отключать только для дебага.0 [4 v8 W+ E5 Y+ z; X
PathClean = True0 h0 a9 t. e1 `2 H3 v* m. k0 c
, ~0 W% z" Y( T9 [) @2 z' d& y- I3 i) s5 Y6 t9 y% a V
# Обрабатывать ли двери в геодате! L' u" e7 l" a: g
# Настройка влияет на ГеймСервер" e8 ~/ @6 l8 n M: O! p
AllowDoors = False* j6 ~4 Y/ h7 A2 Q$ y8 Y
2 |" S+ `' H/ v4 X5 w8 G
4 R8 C$ A1 H/ ^' TPathFindingBoost = True
% p& n$ A6 e1 W: oPathFindArea = 250
" ~: ]' }( c1 ~' y# M6 v0 s! b0 @Внимательно читаем,нам нужно это:0 d4 l& f) }# o D1 u* d) T
: e- [% b- h+ v# ^* u$ | r1 K) c6 U
/ U4 a3 u9 v R' d8 k" _, O' H$ ]
2 ~ z% u; e1 k- {2 I# g: L; \* T, B9 W; @8 N. I
# Включает/отключает геодату и поиск пути.
Z, z! Z) s4 L% B0 T) d+ T E# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.7 `+ A0 c6 ?; }+ n9 L- ^
# 0 = Геодата отключена.8 e$ ?4 k( R/ Z5 C+ u
# 1 = Геодата будет загружена в геймсервер.
+ O! G6 x& B$ \' j# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как4 m& c9 Z3 ~. x2 r$ e% t, B; Q
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
0 @4 o( @+ T0 p/ `- ?5 E% p# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,9 u' K6 D+ H7 E: L
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.5 |) X$ A7 k# }7 U" N6 y
GeoData = 0/ T/ d% W) _- A" N/ w2 p
/ o+ G1 J! S5 o9 ?+ k
3 g/ ^ q N. a' V; o1 A( j
/ p0 M M6 |! d3 n3 |9 D+ c
, q( @2 r6 w$ L) W! tВ этом параметре меняем 0 на 1.
9 V9 E6 h4 \+ P4 w2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
" L/ S9 G. j9 P) Z8 R8 M# Хост для сервера геодаты.
* j1 x$ M4 ^7 M- D# * Забиндит все интефейсы.
* C( H6 [6 e4 o" c- F# Игнорируется при GeoData = 0 или GeoData = 1
5 `8 p1 y# L8 A2 ?( r: yGeoServerHost = 127.0.0.1
; z# W) X K: m6 @$ j% K
% ^4 r8 Z" D6 B. u! ~1 Y
/ b0 z' A |, {. L0 x! d# Куда будет пытатся коннектится клиент.
$ g/ e5 g5 F" @- u, e# Игнорируется при GeoData = 0 или GeoData = 1
" U1 Y0 x) j* n& c2 z. @: [GeoClientTargetHost = 127.0.0.1
' Q( r- ]# s U0 I: N, D! K7 @1 b- w
, | [. Y/ W" P, [0 m2 ]0 C1 z+ ~1 y) Z6 Y
# Порт для геодаты.
$ i$ C/ B. A, N" i. B+ M6 V! u# Сервер откроет на нем сокет.% [0 \; p9 H% _ ?
# Клиент будет пытатся подключится к нему.
: C7 H7 O$ y: A5 X5 d# Игнорируется при GeoData = 0 или GeoData = 1
$ _5 |& E* S4 m+ Q# E0 j6 @GeoPort = 9050
% m/ e2 {: w7 @0 A+ A( Q# IЗдесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:2 J2 M6 l: I: s9 p
* O# o' T) L5 R7 W
+ B( n$ c' C$ `* a
8 B/ K; L/ e& U2 ?8 o
9 K x: u% A" n& A! Bjava -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer
/ v- f% q8 W1 t+ P; S! l% Q8 X
( i$ c- z8 U9 X+ Q6 o) n6 ~3 Q. d4 M' m6 A
3 F/ ]7 b, f' J9 m# i
; | P1 b0 [% d6 {9 LДвери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:) L) j+ R: ~1 V2 u3 W- f! |0 T" Q
+ o! _3 D5 b# `% s9 ?) w( p Y
! w' l+ ]3 ~& r$ S. N
( B" c$ ^. l' e( v
8 a( [- ~7 g" k# Обрабатывать ли двери в геодате; U2 L1 t6 \8 _! O; V
# Настройка влияет на ГеймСервер$ T2 s, W- r+ h3 U* N7 n+ U
AllowDoors = True
+ q4 L Z0 {* w9 n V& }/ \4 zТеперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.% i7 \/ }. {* i( |+ B! D. O! q
Пути размещения файлов геодаты:
& Y6 o, M1 c0 m" L$ c# R. k+ R) K
" K$ M& T, H! J3 {/ T- y! ^
C:\L2jServer\gameserver\data\geodata
( l2 j3 S l: B0 D& K# Z9 f9 w' d$ X$ i
( `) `. V" w% q) M% ]* W
/ [- H7 P9 i) ]+ l1 I
5 w9 P- l& J: L1 }, B& ~
И патчнода:
; t0 A% p, z9 P7 N7 d' Z
. @) }* r1 l& a9 r( G% j" j
$ ?6 k: `& G; eC:\L2jServer\gameserver\data\pathnode
1 q' ~7 g! F5 p! c& V: d" ^1 T! J! A& k5 [
( E, ^/ Y/ C& o( Y8 a6 A4 g
. Z/ J0 r8 |+ P9 w" C' U$ b
; b) q4 H, t" A. `В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:
+ W/ a# L9 N# z; Y4 n, s, \7 ~" U; i2 [, W' E4 c
! O9 e) b1 M) K1 `4 |' c$ N4 l8 `4 D' }, l' p4 N4 Q
7 V! n# b `% ]* ~$ i+ s' U4 y* t. x16_109 h$ L2 j9 x. b* p/ B' A
16_12
8 f! ?/ G8 S* Y4 D$ K6 B, A9 s16_18
6 h3 n4 H! ?/ t+ }16_19
; b) ~& r" S1 [' Z K/ Z, l$ C16_201 b3 [2 r( m' C! `/ m( K
16_21/ d2 a" e9 r- h6 m# S" J* [
16_24
$ l; V4 i9 v" w; y1 O4 `" u16_25
+ W4 H3 G+ i6 m9 O0 F17_10
. B' ~% a: Z; \- }$ `% C% D# g17_11
: z0 d0 G2 D# x {9 u+ j17_15# {' C) r8 Z. y3 h! z
17_16( ~6 J6 |9 a/ Q; K
17_17 V: k! i4 O1 \2 \2 R$ L
17_19
. y1 Z8 [. A. I: Z6 N17_20
( i5 s3 O" v! @# f6 f; ~3 V- P$ c17_21
" Q7 i' T9 d) z8 G5 _" n4 Z' a$ A2 [17_22
% p( p7 j4 v% {1 {# J17_23
. k7 S+ ^. \' b) j; o3 v# h- T17_244 P) x6 C- x! @# m$ \8 R5 r
17_25. Z* A4 I. m* n7 ~3 {" ~- f
18_10! `* D2 k6 K& r4 ]
18_11 u4 X: T8 Y3 P; O
18_14
. d9 j) m" |( e2 A8 }# A18_15. u: z& _4 u; g. d. u% J6 R+ e! ]
18_16
3 g' L4 G1 N3 |; ?% N18_19
) U5 A9 s% E% A/ M6 n' j18_20
8 t: R: Z) t2 Y( @9 v- G18_21
+ t$ p0 S/ R% [# ~' A) o18_22
9 K- G' G% [7 R8 D C18_23
5 Y7 q3 F+ m0 K18_24" f# T( A/ ?$ M# E
18_25
2 x* [0 l8 H% o/ g" B, w19_10* {( Q7 E" m5 C$ P. {
19_11. O/ g: n3 f; E4 b7 ?
19_13
8 ~' \! t, w$ r/ {! N, _19_141 ]# H7 t' }1 t: X# ^( `! O
19_15
+ ]: _7 h. o! A& n8 }0 Q19_16, K' ^: @! d3 S* H7 k! o3 p7 K( \
19_170 j$ m, \3 A9 O) m2 m" h
19_18
8 }5 O6 y! q- b( m, r19_19
0 s2 F8 t: [$ }3 [2 X8 O19_207 f6 U3 B' @) z2 w) P' v' d. q
19_21( r# P# n& x- \) l, |
19_22
% y3 E8 }$ K8 K19_237 [8 V0 I% J( A9 `
19_24, e8 v, D5 g5 q/ Q
19_25+ A M2 Y3 l5 i" \, H+ U
19_26
' p$ A! U7 x1 n4 N3 C20_10
d( y2 p+ p. T9 g7 X20_11% ~/ ^* F5 z3 W$ ]5 V
20 _13
1 W/ R2 M4 p) b5 w& S& b20_14
; g1 ?% E" p- o" z8 z r/ t20_15
6 Y ]7 y" ?/ u; F0 V& E20_16; K8 g$ M9 O4 S
20_17* p# H- d5 k6 r v# F( \' k0 r) ?
20_18" ?3 R( x* S6 y N5 ?: u
20_19
, w5 K1 q2 @0 R3 W20_20
: W- Q- ^8 {$ \/ q l20_21* W$ R" q# c7 b( V, H+ }
20_22
8 g2 g6 l4 e" ~1 s8 q* S20_ 23
) n9 S/ P2 W! c5 L( m20_24
6 A, o0 U+ O# u3 L5 m+ x20_25* }# @6 _# b3 `
20_26) E6 G* F' U) ^( o; X, {3 N* B/ V9 U
21_11
0 p) r: y5 S+ y/ Y: Y. i9 Q+ ^! o21_14& [* J$ H% g, Z; v9 c/ g+ S6 u
21_15+ b# S0 T/ ]7 _( W5 L: J9 ~, K
21_16
7 E+ K) U" l& V# S& ^21_17# P" u! E4 C- b. J. h6 S/ z* T
21_18' @) x6 g, h( {2 _+ i6 G5 u
21_19
: T7 m; O1 D; @ E6 W: d21_20 `( E6 p4 J0 q o6 l" f6 o
21_21
( r9 a( l5 A8 D/ A# ?$ U1 h21_22( z( O% w* l F0 F
21_23
0 R8 c& T9 a0 G* p$ K/ E21_24
6 l9 U H) X& M" A) `2 T21_25
7 x- E& k5 N3 U5 h+ e2 m6 ?22_137 C0 w7 b5 x6 D; `
22_14$ p! c. ^0 I) T) G" N/ v2 }5 _# P
22_15' r% q) J- P" c; P7 }' D
22_169 i* [" A) h/ \ D( T2 M: h
22_17# m$ a2 o/ e( Y5 Z$ g6 P* R
22_18
7 _( [) [. W! i7 r# g6 h/ s+ Z22_19
- M4 s* Q ^/ }" L) x. |' G# q22_20
' z$ t0 [7 }. w/ ?' y( b22_21
& p* T( [2 a) U, r! R% v22_22% \( F1 D+ k% l, n3 a3 m, Z; _' t
22_23
. u6 o& A* A! A* d8 F22_24* v5 R* I) s! N3 C0 \1 w; m
22_25/ h5 l. ?3 V' H/ N
23_11
- s9 b. s; n. I0 S9 @. z3 ]7 N. U23_12
. {/ }; j& B i6 J: _23_13
; T5 U5 _6 o2 b; n3 w23_14' B" N* s6 b C- H. a
23_15
4 X3 i: {* X! f/ f$ b23_16: e* q4 D6 n) f$ U/ a$ s- z$ y/ q
23_17& ?' a2 {3 F6 F+ S2 D
23_18$ u) q6 c2 S" S/ `* q5 w, b, b% d* M6 _5 _
23_19
4 S3 P" `) Y/ @ i3 ?7 I23_20, i6 W1 r3 r, S, \
23_215 C a3 V9 N0 t7 r! ]- W2 I7 J4 B
23_22: b3 L/ m3 {: }
23_234 N" n6 n q, t0 |+ A
23_249 K; I8 a/ H" r P/ R# h
23_25
/ p* R/ F7 x C24_11
, O$ a" K: i, P+ Y. H' _24_12
$ w/ q% C" ~1 e" A/ [24_13
& F% _$ y" c" r# I1 Q24_140 x8 W1 r' E! v- Q8 x6 e
24_15
2 N3 `$ Q. t% T8 Y/ a- z/ p24_16
3 M. d0 d4 q N. h' y24_17
/ D- m0 H) n: V. {7 ~: M, k' D, [9 g24_18
" M' Q& |6 }" U+ V3 o; w24_19
5 E' m; e+ D1 M$ j$ R, i: l/ c24_20
6 o; a. A3 m; }! m& H. T& Z24_21) K, [. D2 C( y! J
24_229 X l) ~$ {; O. c! @ X$ U
24_23+ p3 j* o* N3 r. ~! \/ B
24_24
) C" z, |6 E5 N24_25
9 U3 l8 l8 S* G% {8 R; r25_11+ ^; u+ b* a8 ^ s" L* b2 j
25 _12
$ s$ C% h6 g/ _3 L4 L5 [0 U" I25_147 i: ~5 l. y1 j# n; c( z
25_15! {; R# i7 B. I2 R# z& n& h+ G9 u
25_16
3 A8 T1 z& c% z5 h1 m. y25_17
1 \; A1 M* C# |25_18
; S) [+ W) `& E, g# Q25_19
6 }+ M( e9 y) L25_20! @6 R/ ~# B' P% y* w; P/ s0 \8 D F4 c
25_21
1 C9 ]6 {& t" n+ z25_23; P$ m$ V8 C+ _; x: e& M, D
26_ 112 U- \: K" a- C( f6 E
26_12+ k2 V' T4 U$ t: g; H. H8 P
26_14
8 L. f+ P3 l( m) g; q; b, P& y# ~; |# Y2 z. p* i) c
( h) N' I' j- Y! \( D& q3 {6 D: l( M" n0 x* T' e9 H; X9 R& Z
0 g0 O% Y; o9 {7 g% t' cВ этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
/ |3 v. o, U0 y1 R" Q M7 Z5 `Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:9 e8 R- b, f ~+ i
#------------------------------------------------------------- --------------! H/ [; L* T" h6 u# p9 d7 L$ v$ h
# Geodata
; ^ F& u7 q5 x" |) ^# ----------------------------------------------------------------------- ----4 `1 D3 w% e6 K$ P& o
# GeoData options:
: L. o& u: f7 X( E# 0 = GeoData and PathFinding OFF (default) S! w2 H0 C' ]6 _2 \- u
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
5 T/ W+ X6 b. c2 E# L2Playable movement. You need to download files for data/geodata folder.; f2 n" Q+ ]2 f2 j8 x
# Monsters can pass walls but not aggro (no line of sight) through them.
& G1 g1 Z( k5 B) ^% t# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
! A( y1 a" H- y. e; |# files if CellPathFinding not enabled) and all character moves go through
8 y% J) B4 }2 u5 y# geodata checks (if a mob passes a wall, pathfinding didn't find a route
+ }2 V. P x! D$ k# j" b7 B# but we allow attack and returning home)." d" y! `5 n( q- b$ D/ o
# Recommended server memory minimum 2 GB, rather 3 GB.
$ n9 [2 w/ X4 C6 ]# Default: 0& x3 j$ _# C2 u: [% v+ V
GeoData = 0 u% ^0 p1 j! N
6 v/ Y6 i* ^) i# B3 F- K- u! `
: {! W( _- K# Q4 v: S. y* Q# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.) b) E5 s/ k# Q1 y' z
# 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.& J+ @% n0 T" Z& p; _
# Default: False
/ L4 x, \1 p9 QCellPathFinding = False
# a' ~8 V4 [6 d6 [) ?. t) k2 w/ Q7 j; T) _; z1 V: d- n( y
3 Q8 T0 U; X3 P" G: |# True = Loads GeoData buffer's content into physical memory.+ f+ p- Q- c0 S! u5 J* P5 O }! ]
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
& v1 _1 F0 D' N# Default: True
0 S5 H1 w- Q; @& eForceGeodata = True% @& h% \" {4 e: q8 d- G
( G' k- |5 d* ~* m5 y; }( C/ j; W
/ A2 k) I( a1 B' V
# This setting controls Client <--> Server Player coordinates synchronization:
* T% Q8 p8 G8 ]/ F) c; D' O4 m3 T# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.; K/ Z# r1 j6 k: A! Q
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
, R% u" b/ v) f1 s, o# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).8 ?" v4 ~/ }+ s' w5 T. t
# Server sends validation packet if client goes too far from server calculated coordinates.
- e% r2 N9 J9 v# Default: -1) m. a% x8 z6 l. L) S2 l* u. r
CoordSynchronize = -1) W& d; d& V; C% r$ z
) ^' X6 d/ k! O6 a
$ J4 j9 O2 G% E
3 K& ^# M% C; S0 \
; @* r1 M9 `3 Z/ K, ^GeoData = 0
/ w" c! X+ ~3 H2 a8 s) @" i) g4 E2 K; ~
' @% u2 M9 v9 K- ~, v2 J* \" J# V- T5 o, n9 Q
& s% O7 v3 E3 ~
Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.$ o- Q8 f6 Z" l' f
Ставим 2 если пачнод присутствует, так же включаем эту настройку:
" S5 e" X8 o# g) e, \! k- l
" h5 q: J% V$ J1 X g; S% J+ t3 F4 F. k. X: |4 b
/ Y8 }7 R# O# z u' b9 Z
/ G! V* l. ]. w- M' ^) d# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.7 u# i( z, B% I$ 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.
/ k; k b' H5 U: c# Default: False# c8 |+ d& L% x
CellPathFinding = False6 |0 b+ g5 L: y; S; Y# M$ r
( A" i+ |! Q$ A; v: B/ z
9 `* o* ^* a: o5 A
( G& f- i5 W/ y7 ]6 [" O! p, E5 t& d+ ?
Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
8 C- @+ B: |! y! y g* Q. JПожалуй всё подробно написал, спецы дополняем если что то не учел.
* A+ j7 u) y) _: f) g) r8 o3 m) p7 W7 Z
1 r$ y* T) T9 ^2 z2 n NНе забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.6 B4 |2 K+ D5 o2 R
5 J6 r b" l4 K+ j( p: F. M1 P* O6 u
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.
9 w4 t' E& x) q& M
+ V" g$ a+ W9 m1 w5 a; A |
|