Jump to content
  • 0

Game server console error


Question

Posted (edited)

Hi to all developers i have this console error when i target any npc in my server (acis pack) can any one help me?

 

 

Failed reading: [C] Action ; java.lang.NullPointerException
        at com.l2jmega.gameserver.instancemanager.RaidBossInfoManager.getRaidBossRespawnTime(RaidBossInfoManager.java:78)
        at com.l2jmega.gameserver.model.actor.Npc.horus(Npc.java:1983)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1498)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1437)
        at com.l2jmega.gameserver.model.actor.Npc.onAction(Npc.java:524)
        at com.l2jmega.gameserver.network.clientpackets.Action.runImpl(Action.java:117)
        at com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:52)
        at com.l2jmega.gameserver.network.L2GameClient.run(L2GameClient.java:843)
        at com.l2jmega.commons.concurrent.ThreadPool$TaskWrapper.run(ThreadPool.java:224)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

Edited by Vision

4 answers to this question

Recommended Posts

  • 0
Posted
6 hours ago, DocuWin said:

Hi to all developers i have this console error when i target any npc in my server (acis pack) can any one help me?

 

 

Failed reading: [C] Action ; java.lang.NullPointerException
        at com.l2jmega.gameserver.instancemanager.RaidBossInfoManager.getRaidBossRespawnTime(RaidBossInfoManager.java:78)
        at com.l2jmega.gameserver.model.actor.Npc.horus(Npc.java:1983)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1498)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1437)
        at com.l2jmega.gameserver.model.actor.Npc.onAction(Npc.java:524)
        at com.l2jmega.gameserver.network.clientpackets.Action.runImpl(Action.java:117)
        at com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:52)
        at com.l2jmega.gameserver.network.L2GameClient.run(L2GameClient.java:843)
        at com.l2jmega.commons.concurrent.ThreadPool$TaskWrapper.run(ThreadPool.java:224)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

Few things about the pack:

the pack you using has alot of problems and backdoors, i recommend you to find a developer to help you remove them

 

Few things about the error:

its a common NPE in Brasil people have got use to it and ignore them you did some action on this Horus boss and the developer did not predict that in some place the code would be "null" so here you have it, adding a null check will solve this

 

Few things on how to find that error:

look closely the error says that was generated on

com.l2jmega.gameserver.instancemanager.RaidBossInfoManager.getRaidBossRespawnTime(RaidBossInfoManager.java:78)

this gives you the place and the line to look what happent

respectively RaidBossInfoManager.java:78

so looking at this file on that line is what you have to do, then if you dont know what to do come back here and ask what to do on those lines.

OR

pay a developer to do this for you

 

:summon:@Kara br pack your expertise

  • 0
Posted
18 hours ago, DocuWin said:

Hi to all developers i have this console error when i target any npc in my server (acis pack) can any one help me?

 

 

Failed reading: [C] Action ; java.lang.NullPointerException
        at com.l2jmega.gameserver.instancemanager.RaidBossInfoManager.getRaidBossRespawnTime(RaidBossInfoManager.java:78)
        at com.l2jmega.gameserver.model.actor.Npc.horus(Npc.java:1983)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1498)
        at com.l2jmega.gameserver.model.actor.Npc.showChatWindow(Npc.java:1437)
        at com.l2jmega.gameserver.model.actor.Npc.onAction(Npc.java:524)
        at com.l2jmega.gameserver.network.clientpackets.Action.runImpl(Action.java:117)
        at com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:52)
        at com.l2jmega.gameserver.network.L2GameClient.run(L2GameClient.java:843)
        at com.l2jmega.commons.concurrent.ThreadPool$TaskWrapper.run(ThreadPool.java:224)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

 

Post the getRaidBossRespawnTime.java here. 

  • 0
Posted

@Kara

 

 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2jmega.gameserver.instancemanager;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;

import com.l2jmega.L2DatabaseFactory;

/**
 * @author rapfersan92
 */
public class RaidBossInfoManager
{
    private static final Logger _log = Logger.getLogger(RaidBossInfoManager.class.getName());
    
    private final Map<Integer, Long> _raidBosses;
    
    public static RaidBossInfoManager getInstance()
    {
        return SingletonHolder._instance;
    }
    
    protected RaidBossInfoManager()
    {
        _raidBosses = new ConcurrentHashMap<>();
        load();
    }
    
    public void load()
    {
        try (Connection con = L2DatabaseFactory.getInstance().getConnection())
        {
            PreparedStatement statement;
            ResultSet rs;
            
            statement = con.prepareStatement("SELECT boss_id, respawn_time FROM grandboss_data UNION SELECT boss_id, respawn_time FROM raidboss_spawnlist ORDER BY boss_id");
            rs = statement.executeQuery();
            while (rs.next())
            {
                int bossId = rs.getInt("boss_id");
                    _raidBosses.put(bossId, rs.getLong("respawn_time"));
            }
            rs.close();
            statement.close();
        }
        catch (Exception e)
        {
            _log.warning("Exception: RaidBossInfoManager load: " + e);
        }
        
        _log.info("RaidBossInfoManager: Loaded " + _raidBosses.size() + " instances.");
    }
    
    public void updateRaidBossInfo(int bossId, long respawnTime)
    {
        _raidBosses.put(bossId, respawnTime);
    }
    
    public long getRaidBossRespawnTime(int bossId)
    {
        return _raidBosses.get(bossId);
    }
    
    private static class SingletonHolder
    {
        protected static final RaidBossInfoManager _instance = new RaidBossInfoManager();
    }
}
 

  • 0
Posted

getRaidBossRespawnTime return null because there is no such boss info. So basically it load data from SQL but for that specific ID (idk which) there is no info so it return null, either replace with a null check and return 0 or do your check at that method.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Acabei de liberar no TopL2.com o nosso MOD Oficial de VoteSystem, criado para servidores Lineage 2 que querem parar de sofrer com voto “fake” e reward entregue sem controle.   O que ele faz? O mod integra seu GameServer com o site TopL2, valida o voto do jogador e só então libera a recompensa — tudo com mais segurança, rastreio e controle.   Principais vantagens Voto verificado: o servidor confirma o voto registrado no site Reward mais seguro: evita abuso/duplicação e reduz exploit Cooldown configurável por jogador Logs e rastreio para auditoria e suporte   Instalação rápida, com arquivos organizados e prontos para copiar/aplicar   Disponível para download no https://TopL2.com   Se você é admin e quer profissionalizar seu sistema de votos e entregar reward com segurança, esse mod é pra você.  
    • Geia sas paidia eimai new edw mesa kai tha ithela na kanw mia erwtisi an kapoios mporei na me voithisei! Exw highfive (L2JMobius) kai thelw na valw custom weapons alla den exw sql file mporw na ta perasw xwris sql file kai na exw mono ta xml arxeia gia na ta valw stats/items?
    • ## [1.4.0] - 2026-01-28   ### ✨ New Features - **Vote System**: Lineage 2 servers can now use our vote–reward system. Players vote on the website and claim rewards in-game (1 vote = 1 claim) - **Vote Page**: On each server’s page (`/servers/<server>`), a **“Vote for Server”** button opens a dedicated vote page with cooldown info and optional Turnstile verification - **By Votes View**: The **“By Votes”** tab on the main page shows **actual vote counts** per server - **API Documentation**: New **API Docs** page at `/docs` (and footer link) with HMAC auth, endpoints, and examples for game server integration - **Vote API (My Servers)**: Server owners can open **“Vote API”** in My Servers to manage credentials, cooldown, allowed IPs, and open the docs   ### 🔄 Improvements - **Server Pages**: Single-server data is cached and loads faster; server pages can be opened by ID or by name (e.g. `/servers/my-server-name`) - **API Root**: Visiting the API root redirects to the docs URL configured in admin (default: site docs page) - **Admin Panel**: New **“Vote System”** tab for global settings (Turnstile, API security, default cooldown, docs URL)   ### 🔐 Security & Reliability - Turnstile (CAPTCHA) support for vote submissions to reduce abuse - HMAC-protected game server API for secure vote check/claim and stats
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..