↑ ↓

AionServer-4.7.5.1 (Nemesiss; исход) 2015-09-17

Nemesiss

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    Offline

    Alenheym Старший сержант Команда форума Модератор

    1.180
    385
    244
    Кредиты:
    $31.306,00
    Репутация:
    40
    AionServer-4.7.5.1 (исход)
    Опубликовано: 16.09.2015г

    Основано на исходниках AionCore.
    ChatServer компилированный.


    Please login or register to view links
     
    Последнее редактирование: 3 май 2016
  2. Offline

    sabarMxa Рядовой

    4
    0
    34
    Кредиты:
    $154,00
    Репутация:
    -1

    I'm not Russian, not english. I will only Chinese.
    I just want to know " import com.darkness.gameserver.services.custom.cp.*; "
    It is empty, and when I try to compile it, they don't exist. All the compiler can not pass, I want to know what to do. I am a novice, thank you!
     
  3. Offline

    NickDrake Рядовой

    30
    4
    36
    Кредиты:
    $154,00
    Репутация:
    0
    delete from files next strings, marked red+underline:
    /**
    * This file is part of Aion-Lightning <aion-lightning.org>.
    *
    * Aion-Lightning 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 2 of the License, or (at your option) any
    * later version.
    *
    * Aion-Lightning 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
    * Aion-Lightning. If not, see <Please login or register to view links.
    *
    *
    * Credits goes to all Open Source Core Developer Groups listed below Please do
    * not change here something, ragarding the developer credits, except the
    * "developed by XXXX". Even if you edit a lot of files in this source, you
    * still have no rights to call it as "your Core". Everybody knows that this
    * Emulator Core was developed by Aion Lightning
    *
    * @-Aion-Unique-
    * @-Aion-Lightning
    * @Aion-Engine
    * @Aion-Extreme
    * @Aion-NextGen
    * @Aion-Core Dev.
    */
    package com.darkness.gameserver;

    import ch.lambdaj.*;
    import ch.qos.logback.classic.*;
    import ch.qos.logback.classic.joran.*;
    import ch.qos.logback.core.joran.spi.*;
    import com.darkness.commons.database.*;
    import com.darkness.commons.database.dao.*;
    import com.darkness.commons.network.*;
    import com.darkness.commons.services.*;
    import com.darkness.commons.utils.*;
    import com.darkness.gameserver.ai2.*;
    import com.darkness.gameserver.cache.*;
    import com.darkness.gameserver.configs.*;
    import com.darkness.gameserver.configs.main.*;
    import com.darkness.gameserver.configs.network.*;
    import com.darkness.gameserver.dao.*;
    import com.darkness.gameserver.dataholders.*;
    import com.darkness.gameserver.eventengine.events.*;
    import com.darkness.gameserver.instance.*;
    import com.darkness.gameserver.model.*;
    import com.darkness.gameserver.model.house.*;
    import com.darkness.gameserver.model.siege.*;
    import com.darkness.gameserver.network.*;
    import com.darkness.gameserver.network.aion.*;
    import com.darkness.gameserver.network.chatserver.*;
    import com.darkness.gameserver.network.loginserver.*;
    import com.darkness.gameserver.questEngine.*;
    import com.darkness.gameserver.services.*;
    import com.darkness.gameserver.services.abyss.*;
    import com.darkness.gameserver.services.custom.*;
    import com.darkness.gameserver.services.custom.cp.*;
    import com.darkness.gameserver.services.custom.ffa.*;
    import com.darkness.gameserver.services.drop.*;
    import com.darkness.gameserver.services.ecfunctions.*;
    import com.darkness.gameserver.services.instance.*;
    import com.darkness.gameserver.services.player.*;
    import com.darkness.gameserver.services.reward.*;
    import com.darkness.gameserver.services.transfers.*;
    import com.darkness.gameserver.spawnengine.*;
    import com.darkness.gameserver.taskmanager.fromdb.*;
    import com.darkness.gameserver.taskmanager.tasks.*;
    import com.darkness.gameserver.utils.*;
    import com.darkness.gameserver.utils.chathandlers.*;
    import com.darkness.gameserver.utils.cron.*;
    import com.darkness.gameserver.utils.gametime.*;
    import com.darkness.gameserver.utils.i18n.*;
    import com.darkness.gameserver.utils.idfactory.*;
    import com.darkness.gameserver.utils.javaagent.*;
    import com.darkness.gameserver.world.*;
    import com.darkness.gameserver.world.geo.*;
    import com.darkness.gameserver.world.zone.*;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import java.util.concurrent.*;
    import java.util.zip.*;
    import org.slf4j.Logger;
    import org.slf4j.*;

    /**
    * <tt>GameServer </tt> is the main class of the application and represents the
    * whole game server.<br>
    * This class is also an entry point with main() method.
    *
    * @author -Nemesiss-
    * @authors Online, Darkness, Treals.
    * @author cura
    * @authors Online, Darkness, Treals. - reworked and removed the trash
    */
    public class GameServer {

    private static final Logger log = LoggerFactory.getLogger(GameServer.class);
    public static HashSet<String> npcs_count = new HashSet<String>();

    private static void initalizeLoggger() {
    new File("./log/backup/").mkdirs();
    File[] files = new File("log").listFiles(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
    return name.endsWith(".log");
    }
    });

    if (files != null && files.length > 0) {
    byte[] buf = new byte[1024];
    try {
    String outFilename = "./log/backup/" + new SimpleDateFormat("yyyy-MM-dd HHmmss").format(new Date()) + ".zip";
    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
    out.setMethod(ZipOutputStream.DEFLATED);
    out.setLevel(Deflater.BEST_COMPRESSION);

    for (File logFile : files) {
    FileInputStream in = new FileInputStream(logFile);
    out.putNextEntry(new ZipEntry(logFile.getName()));
    int len;
    while ((len = in.read(buf)) > 0) {
    out.write(buf, 0, len);
    }
    out.closeEntry();
    in.close();
    logFile.delete();
    }
    out.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    try {
    JoranConfigurator configurator = new JoranConfigurator();
    configurator.setContext(lc);
    lc.reset();
    configurator.doConfigure("config/slf4j-logback.xml");
    } catch (JoranException je) {
    throw new RuntimeException("Failed to configure loggers, shutting down...", je);
    }
    }

    /**
    * Launching method for GameServer
    *
    * @param args arguments, not used
    */
    public static void main(String[] args) {
    long start = System.currentTimeMillis();

    Lambda.enableJitting(true);
    final GameEngine[] parallelEngines = new GameEngine[]{
    QuestEngine.getInstance(), InstanceEngine.getInstance(),
    AI2Engine.getInstance(), ChatProcessor.getInstance()
    };

    final CountDownLatch progressLatch = new CountDownLatch(parallelEngines.length);
    initalizeLoggger();
    initUtilityServicesAndConfig();
    Util.printSection("===========DATA============");
    DataManager.getInstance();
    IDFactory.getInstance();
    Util.printSection("===========================");
    Util.printSection("===========WORLD===========");
    ZoneService.getInstance().load(null);
    GeoService.getInstance().initializeGeo();
    System.gc();
    World.getInstance();
    DropRegistrationService.getInstance();
    Util.printSection("===========================");
    Util.printSection("==========CLEANING=========");
    GameServer gs = new GameServer();
    DAOManager.getDAO(PlayerDAO.class).setPlayersOffline(false);
    DatabaseCleaningService.getInstance();
    BannedMacManager.getInstance();
    Util.printSection("===========================");
    Util.printSection("==========ENGINES==========");
    for (int i = 0; i < parallelEngines.length; i++) {
    final int index = i;
    ThreadPoolManager.getInstance().execute(new Runnable() {
    @Override
    public void run() {
    parallelEngines[index].load(progressLatch);
    }
    });
    }

    try {
    progressLatch.await();
    } catch (InterruptedException e1) {
    e1.printStackTrace();
    }
    Util.printSection("===========================");
    // This is loading only siege location data
    // No Siege schedule or spawns
    Util.printSection("=========LOCATIONS=========");
    BaseService.getInstance().initBaseLocations();
    InvasionRaidService.getInstance().initRaidLocations();
    SiegeService.getInstance().initSiegeLocations();
    VortexService.getInstance().initVortexLocations();
    RiftService.getInstance().initRiftLocations();
    Util.printSection("===========================");
    Util.printSection("==========SPAWNS===========");
    SpawnEngine.spawnAll();
    RiftService.getInstance().initRifts();
    InstanceRiftSpawnManager.spawnAll();
    TemporarySpawnEngine.spawnAll();
    if (SiegeConfig.SIEGE_ENABLED) {
    ShieldService.getInstance().spawnAll();
    }
    Util.printSection("===========================");
    Util.printSection("==========SIEGES===========");
    // Init Sieges... It's separated due to spawn engine.
    // It should not spawn siege NPCs
    SiegeService.getInstance().initSieges();
    BaseService.getInstance().initBases();
    InvasionRaidService.getInstance().initRaids();
    SerialKillerService.getInstance().initSerialKillers();
    DisputeLandService.getInstance().init();
    Util.printSection("===========================");
    Util.printSection("===========TASKS===========");
    PacketBroadcaster.getInstance();
    PeriodicSaveService.getInstance();
    AbyssRankUpdateService.getInstance().scheduleUpdate();
    TaskFromDBManager.getInstance();
    Util.printSection("===========================");
    Util.printSection("==========SERVICES=========");
    LimitedItemTradeService.getInstance().start();
    if (CustomConfig.LIMITS_ENABLED) {
    PlayerLimitService.getInstance().scheduleUpdate();
    }
    GameTimeManager.startClock();
    GameTimeService.getInstance();
    AnnouncementService.getInstance();
    DebugService.getInstance();
    WeatherService.getInstance();
    BrokerService.getInstance();
    Influence.getInstance();
    ExchangeService.getInstance();
    FatigueService.getInstance();
    //PetitionService.getInstance();
    if (AIConfig.SHOUTS_ENABLE) {
    NpcShoutsService.getInstance();
    }
    InstanceService.load();
    FlyRingService.getInstance();
    LanguageHandler.getInstance();
    CuringZoneService.getInstance();
    RoadService.getInstance();
    HTMLCache.getInstance();
    if (CustomConfig.ENABLE_REWARD_SERVICE) {
    RewardService.getInstance();
    }
    if (EventsConfig.EVENT_ENABLED) {
    PlayerEventService.getInstance();
    }
    if (EventsConfig.ENABLE_EVENT_SERVICE) {
    EventService.getInstance().start();
    }
    if (WeddingsConfig.WEDDINGS_ENABLE) {
    WeddingService.getInstance();
    }
    if (AutoGroupConfig.AUTO_GROUP_ENABLE && AutoGroupConfig.DREDGION2_ENABLE) {
    DredgionService.getInstance().start();
    }
    if (AutoGroupConfig.AUTO_GROUP_ENABLE && AutoGroupConfig.KAMAR_ENABLE) {
    KamarBattlefieldService.getInstance().start();
    }
    if (AutoGroupConfig.AUTO_GROUP_ENABLE && AutoGroupConfig.OPHIDAN_ENABLE) {
    OphidanBridgeService.getInstance().start();
    }
    if (AutoGroupConfig.AUTO_GROUP_ENABLE && AutoGroupConfig.IRONWALL_ENABLE) {
    IronWallWarFrontService.getInstance().start();
    }
    if (CustomConfig.EVENT_MODE) {
    EventManager.getInstance().Init();
    log.info("EventManager is Turn ON");
    }
    if (CustomConfig.ENABLE_FFA_GROUP) {
    FfaGroupService.initializeFfaGroup();
    }

    if (CustomConfig.FFA_MODE) {
    FfaPlayers.getInstance();
    }

    if (CustomConfig.ENABLE_FFA_LEGION) {
    FfaLegionService.initializeFfaLegion();
    }

    if (CustomConfig.NEW_PVP_MODE) {
    NewSpawn.spawn();
    }

    if (CustomConfig.NEW_PVP_2) {
    MixFight.initializeFfaGroup();
    MixFight6.initializeFfaGroup();
    PvPLocationService.initialize();
    }

    if (CapturePointsConfig.CP_ENABLE) {
    CapturePointsServices.initialize();
    }


    if (CustomConfig.NPC_CLERIC_ENABLE) {
    NewSpawn.npcCleric();
    }

    LivePartyConcertHall.getInstance().init();
    AdminService.getInstance();
    PlayerTransferService.getInstance();
    Util.printSection("===========================");
    Util.printSection("==========HOUSING==========");
    HousingBidService.getInstance().start();
    MaintenanceTask.getInstance();
    TownService.getInstance();
    ChallengeTaskService.getInstance();
    Util.printSection("===========================");
    Util.printSection("==========CUSTOMS==========");
    WordFilterService.getInstance();
    SupportService.getInstance();
    OnlineBonus.getInstance();
    Util.printSection("===========================");
    Util.printSection("===========SYSTEM==========");
    System.gc();
    AEInfos.printAllInfos();

    Util.printSection("GameServerLog");
    log.info("Aion Darkness GameServer started in " + (System.currentTimeMillis() - start) / 1000 + " seconds.");
    try {
    ZCXInfo.getInfo();
    } catch (IOException e) {
    e.printStackTrace();
    }

    gs.startServers();

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

    ZCXInfo.checkForRatioLimitation();
    onStartup();
    }

    /**
    * Starts servers for connection with aion client and login\chat server.
    */
    private void startServers() {
    Util.printSection("===========NETWORK=========");
    NioServer nioServer = new NioServer(NetworkConfig.NIO_READ_WRITE_THREADS, new ServerCfg(NetworkConfig.GAME_BIND_ADDRESS, NetworkConfig.GAME_PORT, "Game Connections", new GameConnectionFactoryImpl()));

    LoginServer ls = LoginServer.getInstance();
    ChatServer cs = ChatServer.getInstance();

    ls.setNioServer(nioServer);
    cs.setNioServer(nioServer);

    // Nio must go first
    nioServer.connect();
    ls.connect();

    if (GSConfig.ENABLE_CHAT_SERVER) {
    cs.connect();
    }
    Util.printSection("===========================");
    }

    /**
    * Initialize all helper services, that are not directly related to aion gs,
    * which includes:
    * <ul>
    * <li>Logging</li>
    * <li>Database factory</li>
    * <li>Thread pool</li>
    * </ul>
    * This method also initializes {@link Config}
    */
    private static void initUtilityServicesAndConfig() {
    // Set default uncaught exception handler
    Thread.setDefaultUncaughtExceptionHandler(new ThreadUncaughtExceptionHandler());

    // make sure that callback code was initialized
    if (JavaAgentUtils.isConfigured()) {
    log.info("JavaAgent [Callback Support] is configured.");
    }

    // Initialize cron service
    CronService.initSingleton(ThreadPoolManagerRunnableRunner.class);

    Util.printSection("===========CONFIG==========");
    // init config
    Config.load();
    // DateTime zone override from configs
    DateTimeUtil.init();
    // Second should be database factory
    Util.printSection("===========================");
    Util.printSection("==========DATABASE=========");
    DatabaseFactory.init();
    // Initialize DAOs
    DAOManager.init();
    // Initialize thread pools
    Util.printSection("===========================");
    Util.printSection("==========THREADS==========");
    ThreadConfig.load();
    ThreadPoolManager.getInstance();
    Util.printSection("===========================");
    }

    private static Set<StartupHook> startUpHooks = new HashSet<StartupHook>();

    public synchronized static void addStartupHook(StartupHook hook) {
    if (startUpHooks != null) {
    startUpHooks.add(hook);
    } else {
    hook.onStartup();
    }
    }

    private synchronized static void onStartup() {
    final Set<StartupHook> startupHooks = startUpHooks;

    startUpHooks = null;

    for (StartupHook hook : startupHooks) {
    hook.onStartup();
    }
    }

    public interface StartupHook {

    public void onStartup();
    }
    }

    [/CODE]
    /**
    * This file is part of Aion-Lightning <aion-lightning.org>.
    *
    * Aion-Lightning 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 2 of the License, or
    * (at your option) any later version.
    *
    * Aion-Lightning 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 Aion-Lightning.
    * If not, see <Please login or register to view links.
    *
    *
    * Credits goes to all Open Source Core Developer Groups listed below
    * Please do not change here something, ragarding the developer credits, except the "developed by XXXX".
    * Even if you edit a lot of files in this source, you still have no rights to call it as "your Core".
    * Everybody knows that this Emulator Core was developed by Aion Lightning
    * @-Aion-Unique-
    * @-Aion-Lightning
    * @Aion-Engine
    * @Aion-Extreme
    * @Aion-NextGen
    * @Aion-Core Dev.
    */
    package com.darkness.gameserver.network.aion.clientpackets;

    import com.darkness.gameserver.model.gameobjects.player.Player;
    import com.darkness.gameserver.model.gameobjects.player.ReviveType;
    import com.darkness.gameserver.network.PacketLoggerService;
    import com.darkness.gameserver.network.aion.AionClientPacket;
    import com.darkness.gameserver.network.aion.AionConnection.State;
    import com.darkness.gameserver.services.player.PlayerReviveService;
    import com.darkness.gameserver.services.custom.cp.CapturePointsServices;

    /**
    * @authors Online, Darkness, Treals., orz, avol, Simple
    */
    public class CM_REVIVE extends AionClientPacket {

    private int reviveId;

    /**
    * Constructs new instance of <tt>CM_REVIVE </tt> packet
    *
    * @param opcode
    */
    public CM_REVIVE(int opcode, State state, State... restStates) {
    super(opcode, state, restStates);
    }

    /**
    * {@inheritDoc}
    */
    @Override
    protected void readImpl() {
    PacketLoggerService.getInstance().logPacketCM(this.getPacketName());
    reviveId = readC();
    }

    /**
    * {@inheritDoc}
    */
    @Override
    protected void runImpl() {
    Player activePlayer = getConnection().getActivePlayer();

    if (!activePlayer.getLifeStats().isAlreadyDead()) {
    return;
    }

    if (CapturePointsServices.isCpLocation(activePlayer)) {
    CapturePointsServices.onRevive(activePlayer);
    return;
    }


    ReviveType reviveType = ReviveType.getReviveTypeById(reviveId);

    switch (reviveType) {
    case BIND_REVIVE:
    case OBELISK_REVIVE:
    PlayerReviveService.bindRevive(activePlayer);
    break;
    case REBIRTH_REVIVE:
    PlayerReviveService.rebirthRevive(activePlayer);
    break;
    case ITEM_SELF_REVIVE:
    PlayerReviveService.itemSelfRevive(activePlayer);
    break;
    case SKILL_REVIVE:
    PlayerReviveService.skillRevive(activePlayer);
    break;
    case KISK_REVIVE:
    PlayerReviveService.kiskRevive(activePlayer);
    break;
    case INSTANCE_REVIVE:
    PlayerReviveService.instanceRevive(activePlayer);
    break;
    default:
    break;
    }

    }
    }
     
  4. Offline

    sabarMxa Рядовой

    4
    0
    34
    Кредиты:
    $154,00
    Репутация:
    -1
    Thanks for your help, I have succeeded in compiling. But it is missing a lot of files, XML and 111 of the relevant documents appear wrong. Although I try to modify it in accordance with the error message it gives, there are many errors. I think this release is great, due to my lack of ability, I am very sorry! I will continue to learn to enhance their own! Thank you for your help!
     
  5. TopicStarter Overlay
    Offline

    Alenheym Старший сержант Команда форума Модератор

    1.180
    385
    244
    Кредиты:
    $31.306,00
    Репутация:
    40
    В связи с тем, что NickDrake, DarkNet и Sauro опровергают своё авторство данной сборки, а так же по личным просьбам, я переименовываю сборку на Nemesiss, так как это первый ник в списке авторов этой сборки.
    Для того, что бы люди не путались напоминаю, что сборка ранее называлась: AionClassic и darkaion.
     
  6. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Столько шума из ничего ...

    Я конечно понимаю , у этой истории корни глубоко ушли в мэйк , и что иметь хоть какое то понятие о произошедшем сливщику сборки пришлось бы описать всё по новой ....
    Но по сути - сборка давно нигде не стоит , ревизия этой сборки морально устарела для обоих сервер где она могла стоять/стояла .

    Основа этой сборки AC(Aion-Core) , по сути и авторство им . Но всё таки , кое что там поправлено , кое что доделано .
    По этому я бы назвал эту ревизию - darkness по её импортам (import com.darkness.gameserver.*) .А то не ровен час зайдет Nemesiss и будет отрицать свой причастие :D.

    Вполне не плохо ... Darkness - 4.7.5.1
     
  7. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Please login or register to view links , я думаю её ещё проще было бы удалить совсем (чем разгребать чужие разборки) , а тот кто снова выложит пусть сам доказывает своё участие или не участие в этой сборке ;).
     
  8. Offline

    yayaya Ефрейтор Команда форума

    587
    183
    76
    Кредиты:
    $20.524,68
    Репутация:
    38
    в любом случае это хлам...
     
  9. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    :beer2-38:

    Ну так и я о том же , удалить и все темы связанные с этой сборкой .
    На мэйке Pr00f так и сделал .
     
  10. Offline

    Sauro Ефрейтор

    175
    114
    76
    Кредиты:
    $15.198,00
    Репутация:
    2
    Proof зря удалил и сам удалился не слуху не духу но это отдельная история и так же подлая.Proof гад, мог хотя бы базу кому то передать или как то решить с теми у кого лицензия.Так же не красиво поступил со многими и даже с хоста удалил все. И нечего удалять не надо и работа общая многих и кому надо может продолжить. Please login or register to view links не сдержал слова, еще и пытался конкурировать и спецом корявил ядро. Стимул разработки шел за мои деньги но разрабатывал Please login or register to view links и нам решать удалить или нет.Если исход удалиться то и делать здесь нечего будет а так захожу и смотрю.Я надеюсь этот форум будет по круче мейка, только нужно время.
     
  11. Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    за кривизну подрались ппц)
     
  12. TopicStarter Overlay
    Offline

    Alenheym Старший сержант Команда форума Модератор

    1.180
    385
    244
    Кредиты:
    $31.306,00
    Репутация:
    40
    Тема закрыта.
     
Статус темы:
Закрыта.