Jump to content

Recommended Posts

Posted

I AM NOT JOKEING this guy mocked me and my project he was an complete scumbag so i am selling the latest revision of hi's project revision 3001.

contact me:

Skype:mavmdox

Yahoo:mavmdox

MSN:mavmdox@live.com

I will provide this as proof: it's hi's GameServer.java that starts the server decompiled and fixed so you can put whatever external ip you want.

package inproject.nuc;
import inproject.commons.lang.StatsUtils;
import inproject.commons.net.nio.impl.SelectorThread;
import inproject.commons.versioning.Version;
import inproject.nuc.cache.CrestCache;
import inproject.nuc.dao.CharacterDAO;
import inproject.nuc.dao.ItemsDAO;
import inproject.nuc.data.BoatHolder;
import inproject.nuc.data.xml.Parsers;
import inproject.nuc.data.xml.holder.EventHolder;
import inproject.nuc.data.xml.holder.ResidenceHolder;
import inproject.nuc.data.xml.holder.StaticObjectHolder;
import inproject.nuc.database.DatabaseFactory;
import inproject.nuc.geodata.GeoEngine;
import inproject.nuc.handler.admincommands.AdminCommandHandler;
import inproject.nuc.handler.items.ItemHandler;
import inproject.nuc.handler.usercommands.UserCommandHandler;
import inproject.nuc.handler.voicecommands.VoicedCommandHandler;
import inproject.nuc.idfactory.IdFactory;
import inproject.nuc.instancemanager.AutoSpawnManager;
import inproject.nuc.instancemanager.AwakingManager;
import inproject.nuc.instancemanager.BloodAltarManager;
import inproject.nuc.instancemanager.CastleManorManager;
import inproject.nuc.instancemanager.CoupleManager;
import inproject.nuc.instancemanager.CursedWeaponsManager;
import inproject.nuc.instancemanager.DelusionChamberManager;
import inproject.nuc.instancemanager.HellboundManager;
import inproject.nuc.instancemanager.PetitionManager;
import inproject.nuc.instancemanager.PlayerMessageStack;
import inproject.nuc.instancemanager.RaidBossSpawnManager;
import inproject.nuc.instancemanager.SoDManager;
import inproject.nuc.instancemanager.SoIManager;
import inproject.nuc.instancemanager.SpawnManager;
import inproject.nuc.instancemanager.games.FishingChampionShipManager;
import inproject.nuc.instancemanager.games.LotteryManager;
import inproject.nuc.instancemanager.games.MiniGameScoreManager;
import inproject.nuc.instancemanager.itemauction.ItemAuctionManager;
import inproject.nuc.instancemanager.naia.NaiaCoreManager;
import inproject.nuc.instancemanager.naia.NaiaTowerManager;
import inproject.nuc.listener.GameListener;
import inproject.nuc.loginservercon.LoginServerCommunication;
import inproject.nuc.model.World;
import inproject.nuc.model.entity.Hero;
import inproject.nuc.model.entity.MonsterRace;
import inproject.nuc.model.entity.olympiad.Olympiad;
import inproject.nuc.network.GameClient;
import inproject.nuc.network.GamePacketHandler;
import inproject.nuc.network.telnet.TelnetServer;
import inproject.nuc.scripts.Scripts;
import inproject.nuc.tables.AugmentationData;
import inproject.nuc.tables.CharTemplateTable;
import inproject.nuc.tables.ClanTable;
import inproject.nuc.tables.EnchantHPBonusTable;
import inproject.nuc.tables.LevelUpTable;
import inproject.nuc.tables.PetSkillsTable;
import inproject.nuc.tables.SkillTreeTable;
import inproject.nuc.taskmanager.ItemsAutoDestroy;
import inproject.nuc.taskmanager.TaskManager;
import inproject.nuc.taskmanager.tasks.RestoreOfflineTraders;
import inproject.nuc.utils.Strings;
import java.io.File;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.sql.Connection;
import net.sf.ehcache.CacheManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class GameServer
{
  public static final int LOGIN_SERVER_PROTOCOL = 2;
  private static final Logger _log = LoggerFactory.getLogger(GameServer.class);
  public static GameServer _instance;
  private final SelectorThread<GameClient>[] _selectorThreads;
  private Version version;
  private TelnetServer statusServer;
  private final GameServer.GameServerListenerList _listeners;
  private int _serverStarted;

  public SelectorThread<GameClient>[] getSelectorThreads()
  {
    return this._selectorThreads;
  }

  public int time() {
    return (int)(System.currentTimeMillis() / 1000L);
  }

  public int uptime() {
    return time() - this._serverStarted;
  }

  public GameServer() throws Exception
  {
    _instance = this;
    this._serverStarted = time();
    this._listeners = new GameServer.GameServerListenerList(this);

    new File("./log/").mkdir();

    this.version = new Version(GameServer.class);

    _log.info("=================================================");
    _log.info("Cracked by NightKhaos from the scumbags of Initiative-Project");
    _log.info("=================================================");
    _log.info("Database: checking connection to db...");
    _log.info("Database: checking network connection...");

    Config.load();

    checkFreePorts();

    Class.forName(Config.DATABASE_DRIVER).newInstance();
    DatabaseFactory.getInstance().getConnection().close();

    IdFactory localIdFactory = IdFactory.getInstance();
    if (!localIdFactory.isInitialized()) {
      _log.error("Could not read object IDs from DB. Please Check Your Data.");
      throw new Exception("Could not initialize the ID factory");
    }

    CacheManager.getInstance();
    ThreadPoolManager.getInstance();
    Scripts.getInstance();
    AwakingManager.getInstance();
    GeoEngine.load();
    Strings.reload();
    GameTimeController.getInstance();
    World.init();
    Parsers.parseAll();
    ItemsDAO.getInstance();
    CrestCache.getInstance();
    CharacterDAO.getInstance();
    ClanTable.getInstance();
    SkillTreeTable.getInstance();
    AugmentationData.getInstance();
    CharTemplateTable.getInstance();
    EnchantHPBonusTable.getInstance();
    LevelUpTable.getInstance();
    PetSkillsTable.getInstance();
    ItemAuctionManager.getInstance();
    SpawnManager.getInstance().spawnAll();
    BoatHolder.getInstance().spawnAll();
    StaticObjectHolder.getInstance().spawnAll();
    RaidBossSpawnManager.getInstance();
    Scripts.getInstance().init();
    Announcements.getInstance();
    DelusionChamberManager.getInstance();
    LotteryManager.getInstance();
    PlayerMessageStack.getInstance();

    if (Config.AUTODESTROY_ITEM_AFTER > 0) {
      ItemsAutoDestroy.getInstance();
    }
    MonsterRace.getInstance();

    AutoSpawnManager.getInstance();

    if (Config.ENABLE_OLYMPIAD) {
      Olympiad.load();
      Hero.getInstance();
    }

    PetitionManager.getInstance();

    CursedWeaponsManager.getInstance();

    if (!Config.ALLOW_WEDDING) {
      CoupleManager.getInstance();
      _log.info("CoupleManager initialized");
    }

    ItemHandler.getInstance();

    AdminCommandHandler.getInstance().log();
    UserCommandHandler.getInstance().log();
    VoicedCommandHandler.getInstance().log();

    TaskManager.getInstance();

    _log.info("=[Events]=========================================");
    ResidenceHolder.getInstance().callInit();
    EventHolder.getInstance().callInit();
    _log.info("==================================================");

    CastleManorManager.getInstance();

    Runtime.getRuntime().addShutdownHook(Shutdown.getInstance());

    _log.info("IdFactory: Free ObjectID's remaining: " + IdFactory.getInstance().size());

    CoupleManager.getInstance();

    if (Config.ALT_FISH_CHAMPIONSHIP_ENABLED) {
      FishingChampionShipManager.getInstance();
    }
    HellboundManager.getInstance();

    NaiaTowerManager.getInstance();
    NaiaCoreManager.getInstance();

    SoDManager.getInstance();
    SoIManager.getInstance();
    BloodAltarManager.getInstance();

    MiniGameScoreManager.getInstance();

    Shutdown.getInstance().schedule(Config.RESTART_AT_TIME, 2);

    _log.info("GameServer Started");
    _log.info("Maximum Numbers of Connected Players: " + Config.MAXIMUM_ONLINE_USERS);

    GamePacketHandler localGamePacketHandler = new GamePacketHandler();

    InetAddress localInetAddress = Config.GAMESERVER_HOSTNAME.equalsIgnoreCase("*") ? null : InetAddress.getByName(Config.GAMESERVER_HOSTNAME);

    this._selectorThreads = new SelectorThread[Config.PORTS_GAME.length];
    for (int i = 0; i < Config.PORTS_GAME.length; i++) {
      this._selectorThreads[i] = new SelectorThread(Config.SELECTOR_CONFIG, localGamePacketHandler, localGamePacketHandler, localGamePacketHandler, null);
      this._selectorThreads[i].openServerSocket(localInetAddress, Config.PORTS_GAME[i]);
      this._selectorThreads[i].start();
    }

    LoginServerCommunication.getInstance().start();

    if (Config.SERVICES_OFFLINE_TRADE_RESTORE_AFTER_RESTART) {
      ThreadPoolManager.getInstance().schedule(new RestoreOfflineTraders(), 30000L);
    }
    getListeners().onStart();

    if (Config.IS_TELNET_ENABLED)
      this.statusServer = new TelnetServer();
    else {
      _log.info("Telnet server is currently disabled.");
    }
    _log.info("=================================================");
    String str1 = StatsUtils.getMemUsage().toString();
    for (String str2 : str1.split("\n"))
      _log.info(str2);
    _log.info("=================================================");
  }

  public GameServer.GameServerListenerList getListeners()
  {
    return this._listeners;
  }

  public static GameServer getInstance() {
    return _instance;
  }

  public <T extends GameListener> boolean addListener(T paramT) {
    return this._listeners.add(paramT);
  }

  public <T extends GameListener> boolean removeListener(T paramT) {
    return this._listeners.remove(paramT);
  }

  public static void checkFreePorts() {
    int i = 0;
    while (i == 0)
      for (int m : Config.PORTS_GAME)
        try
        {
          ServerSocket localServerSocket;
          if (Config.GAMESERVER_HOSTNAME.equalsIgnoreCase("*"))
            localServerSocket = new ServerSocket(m);
          else
            localServerSocket = new ServerSocket(m, 50, InetAddress.getByName(Config.GAMESERVER_HOSTNAME));
          localServerSocket.close();
          i = 1;
        } catch (Exception localException) {
          _log.warn("Port " + m + " is allready binded. Please free it and restart server.");
          i = 0;
          try {
            Thread.sleep(1000L);
          } catch (InterruptedException localInterruptedException) {
          }
        }
  }

  public static void main(String[] paramArrayOfString) throws Exception {
    new GameServer();
  }

  public Version getVersion() {
    return this.version;
  }

  public TelnetServer getStatusServer() {
    return this.statusServer;
  }
}

I am sorry for the people who bought the project from that guys, you should dispute the money on paypal

 

Posted

And we are glad to inform you that not a single project sponsor has not been issued by the version of 3001.  :)

Extradition shall be the day after the publication of information about the update :)

Posted

Source too?

 

Also prove it, like showing a pic or something.

 

you don't need the source as is not obufuscated, you can simply decompile and compile with "javac jar *"

and for twe12312 smth shut up:D and go bother some1 else:) wtb? no? shut up, btw 2 packs sold allready, with the money i will buy donate account here^^

 

you need this tool http://java.decompiler.free.fr/?q=jdeclipse

Posted

Strange, it should say:

Cracked by NightKhaos from the scumbags of Initiative-Project

depending on the GameServer.java you posted (    _log.info("Cracked by NightKhaos from the scumbags of Initiative-Project"); ).

 

Instead it says:

Developed by NightKhaos (mavndox@yahoo.com)

  • 1 month later...

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

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock