Sugestões para ligar o GeoData

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Sugestões para ligar o GeoData

Mensagem por yuri em Seg 3 Jan - 1:50:36

Olá povo.

Bem acho que todos já sabem. Mas este servidor atualmente não possui GeoData.

Então, após levar carreira de mobs em dungeons que atravessam parede (e as vezes morrer), atacar mobs arqueiros que são programados para correr e devido a ausencia do geo correm para baixo do chão desaparecendo ou me causando dano de queda ao persegui-los, jogadores que podem me atacar através das paredes, dentre outras coisas estranhos e toscas causadas por ausencia de noção de altura e obstaculos pelo servidor, segue abaixo para uso do admin e sua equipe de "engenharia" links e configurações do GeoData para serem utilizados no servidor, testadas por mim e pelo pessoal do L2J em servidores com mais de 100 players online (conta com multiboxes na história. Mas técnicamente isso é detalhe). Elas são simples e otimizadas para fazer o geo funcionar da melhor forma possível para os jogadores e para os recursos do servidor:

Link dos arquivos do GeoData:
[Você precisa estar registrado e conectado para ver este link.]

Obs.: O link apesar de ser do L2JFree é na verdade usado por todos os projetos L2J, pois o GeoData é o mapa do jogo e com isso é sempre o mesmo para qualquer fork. Desta forma quem mantem atualmente o mesmo é o L2JFree e todos o compartilham e contribuem.

O bom do GeoData é que apesar de ter que se baixar via SVN, não precisa "recompilar" o servidor para usa-lo, basta copiar os arquivos do diretório GeoData do SVN para o diretório GeoData do servidor, configurar e dar reboot no L2J que já vai funcionar de cara.

Seguem abaixo as configurações gerais do GeoData para evitar problemas comuns quando ele é utilizado:

Código:

# ---------------------------------------------------------------------------
# Geodata
# ---------------------------------------------------------------------------
# GeoData options:
# 0 = GeoData and PathFinding OFF (default)
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
#    L2Playable movement. You need to download files for data/geodata folder.
#    Monsters can pass walls but not aggro (no line of sight) through them.
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
#    files if CellPathFinding not enabled) and all character moves go through
#    geodata checks (if a mob passes a wall, pathfinding didn't find a route
#    but we allow attack and returning home).
#    Recommended server memory minimum 2 GB, rather 3 GB.
# Default: 0
GeoData = 2

# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
# 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.
# Default: False
CellPathFinding = True

# Pathfinding array buffers configuration
PathFindBuffers = 100x6;128x6;192x6;256x4;320x4;384x4;500x2

# Weight for nodes without obstacles far from walls
LowWeight = 0.5

# Weight for nodes near walls
MediumWeight = 2

# Weight for nodes with obstacles
HighWeight = 3

# Angle paths will be more "smart", but in cost of higher CPU utilization
AdvancedDiagonalStrategy = True

# Weight for diagonal movement. Used only with AdvancedDiagonalStrategy = True
# Default: LowWeight * sqrt(2)
DiagonalWeight = 0.707

# Maximum number of LOS postfilter passes, 0 will disable postfilter.
# Default: 3
MaxPostfilterPasses = 3

# Path debug function.
# Nodes known to pathfinder will be displayed as adena, constructed path as antidots.
# Number of the items show node cost * 10
# Potions display path after first stage filter
# Red potions - actual waypoints. Green potions - nodes removed by LOS postfilter
# This function FOR DEBUG PURPOSES ONLY, never use it on the live server !
DebugPath = False

# True = Loads GeoData buffer's content into physical memory.
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
# Default: True
ForceGeodata = False

# This setting controls Client <--> Server Player coordinates synchronization:
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).
# Server sends validation packet if client goes too far from server calculated coordinates.
# Default: -1
CoordSynchronize = 1

Obs. Sobre as configs acima:
GeoData = 2 - Liga o GeoData, (dâââ) sem ele nada funciona, se precisar desligar o geodata não precisa tirar os arquivos é só trocar para 0 de novo.

CellPathFinding = True - Ele resolve metade dos problemas que o GeoData causa, como diferenças entre os GeoData e o cliente, erros e buracos no GeoData, travamentos e etc. Pois com essa opção ligada, o servidor calcula em tempo real a rota e desta forma ele "arrodeia" estes problemas pois eles são considerados obstaculos pelo servidor e a rota é calculada para evita-los.
Também economiza pelo menos 50MB de ram do servidor, pois o mesmo não irá precisar carregar os arquivos de rota (pathfinders) e quanto ao aviso de ser mais pesado de se calcular (10xhavier) ignore, pois já testei num servidor com 150 players sem notar nenhuma diferença no consumo processamento, o pessoal do L2DC usa ele em servidores com mais de 1000 chars online sem problemas, só soluções. Na verdade esse aviso foi colocado a anos atrás quando o povo usava pentium 3 ou similares como servidores. Razz

ForceGeodata = False - Economiza memória. Mas sacrifica processamento, pois força o carregamento da áreas quando um jogador entra nela apenas ao invés de carregar tudo no boot do L2J. O uso depende da sua RAM, do seu HD e do seu bom-senso e conhecimento do servidor. Mas via regra o recomendado é, se tiver mais de 3GB de ram, ligue-o (true), se não tiver desligue-o (false). Se tiver muita ram. Mas o número de players aumentar a ponto da mamória ficar pouca, desligue-o (pois vai desligar as áreas que nunca tem ninguém, e com muitos player ele sempre vai ter as áreas usadas na memória, nem que seja como cache).

CoordSynchronize = 1 - Eu já tentei as 3 opções, e sem duvidas essa foi a melhor. Se deixar em 2, as diferenças entre o cliente e o GeoData vão fazer o char teleportar várias vezes, principalmente quando houver lag por culpa da conexão, se deixar em 0 vai dar bug de posição (bugposition), o que pode fazer os jogadores serem mortos a distancia, ou atacarem perto demais devido a diferença da distancia real entre eles (servidor) e a que eles acham que é (vista pelo cliente), sem contar que fica tosco um char melee atacando da PQP na tela. Já na 1 a posição é baseada pelos dados do cliente, o que evita o desincronismo e os bugs de posição, além de ajudar a detectar alguns bots que ficam presos na parede que não existe devido a falta de GeoData no programa de BOT.


Para evitar problemas de memória e melhorar o desempenho geral do servidor (independente do GeoData estar ligado ou não. Mas com o GeoData ligado gasta mais memória, é bom ajustar):
- Servidor Windows 32Bits com java 32bits com pelo menos 3GB de ram e dedicado apenas ao L2J:
Editar o arquivo startGameServer.bat e trocar o trecho "-Xms1024m -Xmx1024m" por seu "total de ram - 1GB". Exemplo, se forem 3G, a configuração ideal seria "-Xms2048m -Xmx2048m". Não adianta botar mais porque sistemas 32Bits, simplesmente não suportam.
- Servidor Linux 32Bits com java 32bits com pelo menos 2,5GB de ram e dedicado apenas ao L2J:
Editar o arquivo GameServer_loop.sh e trocar o trecho "-Xms1024m -Xmx1024m" por seu "total de ram - 500MB". Exemplo, se forem 2,5G ou mais, a configuração ideal seria "-Xms2048m -Xmx2048m". Não adianta botar mais porque sistemas 32Bits, simplesmente não suportam.
- Servidor Windows 64Bits com Java 64Bits com pelo menos 3GB de ram e dedicado apenas ao L2J:
Editar o arquivo startGameServer.bat e trocar o trecho "-Xms1024m -Xmx1024m" por seu "total de ram - 1GB". Exemplo, se forem 4G, a configuração ideal seria "-Xms3072m -Xmx3072m".
- Servidor Linux 64Bits com Java 64Bits com pelo menos 2,5GB de ram e dedicado apenas ao L2J:
Editar o arquivo GameServer_loop.sh e trocar o trecho "-Xms1024m -Xmx1024m" por seu "total de ram - 500MB". Exemplo, se forem 4G, a configuração ideal seria "-Xms3584m -Xmx3584m".

As configurações acima são baseadas num servidor relativamente limpo, apenas com os programas nescessários, (servidor web, MySQL, java, antivirus (no caso do windows) e FTP, além do próprio L2J). Mas em servidores otimizados e destribuidos é possível dar até mais memória pro java, exceto para sistemas 32Bits que não se pode dar mais do que 2048m ou vai dar pau no java, pois o SO não aguenta. Se precisar de mais troco o sistema operacional para um 64Bits.
Além disso, por ser mais enxuto e até por consequencia disto, mais leve e estavel, recomendo sistemas Linux 64Bits para serem usados como SO do L2J. Mas obviamente vai precisar saber ao menos configurar o servidor Linux se quiser usar.

Bem, é isso.

Espero que minhas sugestões ajudem a vocês a instalar e configurar o GeoData, e a mim e outros player a não ficar morrendo ou me ferrando pela falta dele.

Qualquer duvida é só perguntarem aqui ou mandar PM que eu faço o possível.

Obrigado.

yuri
Legionários

Mensagens : 18
Data de inscrição : 02/01/2011
Idade : 31
Localização : Recife

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sugestões para ligar o GeoData

Mensagem por arietis em Seg 3 Jan - 9:48:06

também percebi essas falhas de geodata
é meio chato estar upando e derrepente tomar dano do chao ou entao os mobs atravessando as paredes e atacando vc
não entendo do assunto o quanto o yuri parece entender
mas espero que a staff considere os concertos nessa area

arietis
Legionários

Mensagens : 66
Data de inscrição : 29/12/2010
Idade : 27
Localização : São Mateus/ES

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sugestões para ligar o GeoData

Mensagem por Shillen em Seg 3 Jan - 11:10:05

Bom dia,

O servidor está com a Geodata desligada para testes, pois foi constatado um problema.

Contudo, uma explicação mais específica sobre a engenharia do jogo, fica por conta do Kain (responsável por ela).

Mas desde já agradeço suas sugestões, pois dessa forma que crescemos.

Att,

Shillen
Admin

Mensagens : 175
Data de inscrição : 17/09/2010

Ver perfil do usuário http://www.l2-legion.com

Voltar ao Topo Ir em baixo

Re: Sugestões para ligar o GeoData

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum