Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   l2jserver - как убрать копирайты в игре? (https://forum.zone-game.info/showthread.php?t=1298)

KeMnS 13.07.2008 22:45

l2jserver - как убрать копирайты в игре?
 
l2jserver - как убрать копирайты в игре?
Многие скажут, что мол сборка бесплатная и они должны быть как знак благодарности тем, кто над ней работает. Полностью соглашусь с этим, но я над ней тоже интенсивно работаю, и есть игроки которые догадываются пошарить на форуме этой команды, и им за счёт этого, удаётся найти неприятные моменты этой сборки, которые мне выходят боком.
Вобщем так и не смог я найти тот файл, который отвечает за это, в конфигах тоже не обнаружил, скорее всего проглядел.
Поэтому прошу помоши у тех кто знает, буду очень благодарен, даже простым намёкам.

PROGRAMMATOR 13.07.2008 23:03

Ответ: l2jserver - как убрать копирайты в игре?
 
KeMnS, за всё время программирования ява серверов. Отталкиваясь от исходников всех фрии эмуляторов, копирайты были в одном месте, это - EnterWorld.java

Находится это здесь: gameserver\clientpackets\

Конечно сразу не понятно будет, а где оно там? Но я подскажу :)

Ищем для начала вот эту строку:
PHP код:

sendPacket(new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE)); 

Наверное понял для чего она служит, да именно это, то самое сообщение в чате "Добро пожаловать в Lineage 2". Вот теперь удаляем после него строки:

PHP код:

activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==\n"));
activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=\n"));
        if (
Config.SERVER_VERSION != null)
        { 
activeChar.sendMessage(getText("TDJKIFNlcnZlciBWZXJzaW9uOg==")+"      "+Config.SERVER_VERSION);
        }
        if (
Config.DATAPACK_VERSION != null)
        {  
activeChar.sendMessage(getText("TDJKIERhdGFwYWNrIFZlcnNpb246")+"  "+Config.DATAPACK_VERSION);
        }
        
activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMDQtMjAwOA==\n")); 

Этим мы удалим сообщение типа "Made by ***" и версии датапака, а так же сервера.
Ну вот и всё :)

KeMnS 13.07.2008 23:24

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 13294)
KeMnS, за всё время программирования ява серверов. Отталкиваясь от исходников всех фрии эмуляторов, копирайты были в одном месте, это - EnterWorld.java

Находится это здесь: gameserver\clientpackets\

Конечно сразу не понятно будет, а где оно там? Но я подскажу :)

Ищем для начала вот эту строку:
PHP код:

sendPacket(new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE)); 

Наверное понял для чего она служит, да именно это, то самое сообщение в чате "Добро пожаловать в Lineage 2". Вот теперь удаляем после него строки:

PHP код:

activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==\n"));
activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=\n"));
        if (
Config.SERVER_VERSION != null)
        { 
activeChar.sendMessage(getText("TDJKIFNlcnZlciBWZXJzaW9uOg==")+"      "+Config.SERVER_VERSION);
        }
        if (
Config.DATAPACK_VERSION != null)
        {  
activeChar.sendMessage(getText("TDJKIERhdGFwYWNrIFZlcnNpb246")+"  "+Config.DATAPACK_VERSION);
        }
        
activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMDQtMjAwOA==\n")); 

Этим мы удалим сообщение типа "Made by ***" и версии датапака, а так же сервера.
Ну вот и всё :)

Благодарю.
Только путь до неё несколько другой L2_GameServer\java\net\sf\l2j\gameserver\clientpac kets

PROGRAMMATOR 13.07.2008 23:29

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от KeMnS (Сообщение 13295)
gameserver\clientpackets

Именно так я и написал, просто не указал \java\net\sf\l2j\ что само собой разумеется:)

Joker 13.07.2008 23:44

Ответ: l2jserver - как убрать копирайты в игре?
 
а как убрать копирайты l2jgroup сервер?

DarkLoki 14.07.2008 00:13

Ответ: l2jserver - как убрать копирайты в игре?
 
Joker
Да точно так же.

KeMnS 14.07.2008 00:41

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 13296)
Именно так я и написал, просто не указал \java\net\sf\l2j\ что само собой разумеется:)

Потому я и написал "несколько другой", а не например "совсем другой" =)
Ну вобщем не суть)

SubFocus 14.07.2008 00:42

Ответ: l2jserver - как убрать копирайты в игре?
 
токо нужно декомпилить l2jserver.jar токо зачем если с конфигов можно отключть копирайты

diz 14.07.2008 00:51

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от SubFocus (Сообщение 13318)
токо нужно декомпилить l2jserver.jar токо зачем если с конфигов можно отключть копирайты

можна отключить указание версии
а что ето за сервер и домашняя только копать нада

Joker 14.07.2008 01:24

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от DarkLoki (Сообщение 13307)
Да точно так же.

или я совсем тормаз или нет там такой папки)

PROGRAMMATOR 14.07.2008 01:33

Ответ: l2jserver - как убрать копирайты в игре?
 
Joker, если речь идет о скомпиленой сборке, то папка находится в l2jserver.jar который можно распаковать обычным архиватором типа 7Zip.

Milldi 24.07.2008 21:49

Ответ: l2jserver - как убрать копирайты в игре?
 
Что касается L2jgroup в интерлюдии у них в конфиге отключается я точно не помню но коментарий там вроде был примерно такой " показывать копирайт при входе " сейчас под рукой нету не могу посмотреть. Камаэлем не интересовался.

TBEPDb 26.07.2008 18:12

Ответ: l2jserver - как убрать копирайты в игре?
 
Единственный минус от копирайтов, это то что знают на какой сборке работает сервер, и проблемы безопасности связанные с этим.

GameMaster 01.08.2008 16:32

Ответ: l2jserver - как убрать копирайты в игре?
 
эмм... поцкажите мне... Вот я разархивировал L2JServer.jar иду в папку. там класс файлы. они зашифрованы. Их нужно переводить в java код? и если да то как закукожить обратно в *.class? и можно ли потом просто собрать класс файлы в 7z или rar формат и переименовать в jar? или там свой метод?

Joker 12.08.2008 03:39

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от GameMaster (Сообщение 15710)
эмм... поцкажите мне... Вот я разархивировал L2JServer.jar иду в папку. там класс файлы. они зашифрованы. Их нужно переводить в java код? и если да то как закукожить обратно в *.class? и можно ли потом просто собрать класс файлы в 7z или rar формат и переименовать в jar? или там свой метод?

да мне тоже оч интересно ктонить может обьяснить попадробнее как это сделать? спасибка гарантируется)

bucha 12.08.2008 07:44

Ответ: l2jserver - как убрать копирайты в игре?
 
все там есть просто в компиленой сборке довольно проблематично это делать выбирать нужно исходный код править и компилить...Это будет правильно

dimanvolkov 12.08.2008 10:02

Ответ: l2jserver - как убрать копирайты в игре?
 
не каждый умеет компилить!

DarkLoki 12.08.2008 10:43

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от dimanvolkov (Сообщение 17245)
не каждый умеет компилить!

Админ , не умеющий компилить - не админ, а капуста.

Joker 12.08.2008 12:12

Ответ: l2jserver - как убрать копирайты в игре?
 
да я вапше сам играю 1 просто меня эти копирайты напрегают)
ктонить может сделать мануал?)

DarkLoki 12.08.2008 12:15

Ответ: l2jserver - как убрать копирайты в игре?
 
Joker
Без компила их не убрать.

MaxPayne 27.11.2008 14:20

Ответ: l2jserver - как убрать копирайты в игре?
 
Вот я скомпелировал с SVN файлы убрал копирайт.
Как мне обртано поменять .java на .class и скинуть все в .jar фаил?

gnummi 28.11.2008 00:58

Ответ: l2jserver - как убрать копирайты в игре?
 
Народ а можно будет сделать как нить мануал по этому вопросу ?)
и дайте пожалуйста ссылки на компиляторы))

MaxPayne 29.11.2008 10:36

Ответ: l2jserver - как убрать копирайты в игре?
 
Может быть кто нибуть поможет?

PROGRAMMATOR 29.11.2008 13:44

Ответ: l2jserver - как убрать копирайты в игре?
 
gnummi, читаем второй пост в теме, если не дойдет - закрываем страничку и забываем об этом.

MaxPayne, сложно набрать в поиске "компиляция"?

drakola 09.03.2009 16:40

Ответ: l2jserver - как убрать копирайты в игре?
 
а как убрать капиройты в сборки l2jfree
вот вам файл EnterWorld
Код:

/*
 * 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.l2jfree.gameserver.network.clientpackets;

import java.io.File;

import com.l2jfree.Config;
import com.l2jfree.gameserver.Announcements;
import com.l2jfree.gameserver.L2JfreeInfo;
import com.l2jfree.gameserver.SevenSigns;
import com.l2jfree.gameserver.TaskPriority;
import com.l2jfree.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jfree.gameserver.datatables.GmListTable;
import com.l2jfree.gameserver.datatables.SkillTable;
import com.l2jfree.gameserver.handler.AdminCommandHandler;
import com.l2jfree.gameserver.instancemanager.ClanHallManager;
import com.l2jfree.gameserver.instancemanager.CoupleManager;
import com.l2jfree.gameserver.instancemanager.CrownManager;
import com.l2jfree.gameserver.instancemanager.CursedWeaponsManager;
import com.l2jfree.gameserver.instancemanager.DimensionalRiftManager;
import com.l2jfree.gameserver.instancemanager.FortManager;
import com.l2jfree.gameserver.instancemanager.FortSiegeManager;
import com.l2jfree.gameserver.instancemanager.InstanceManager;
import com.l2jfree.gameserver.instancemanager.PetitionManager;
import com.l2jfree.gameserver.instancemanager.SiegeManager;
import com.l2jfree.gameserver.model.L2Clan;
import com.l2jfree.gameserver.model.L2ClanMember;
import com.l2jfree.gameserver.model.L2FriendList;
import com.l2jfree.gameserver.model.L2ItemInstance;
import com.l2jfree.gameserver.model.L2ShortCut;
import com.l2jfree.gameserver.model.L2World;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.model.entity.ClanHall;
import com.l2jfree.gameserver.model.entity.Couple;
import com.l2jfree.gameserver.model.entity.Fort;
import com.l2jfree.gameserver.model.entity.FortSiege;
import com.l2jfree.gameserver.model.entity.Hero;
import com.l2jfree.gameserver.model.entity.L2Event;
import com.l2jfree.gameserver.model.entity.Siege;
import com.l2jfree.gameserver.model.entity.events.CTF;
import com.l2jfree.gameserver.model.entity.events.DM;
import com.l2jfree.gameserver.model.entity.events.TvT;
import com.l2jfree.gameserver.model.mapregion.TeleportWhereType;
import com.l2jfree.gameserver.model.olympiad.Olympiad;
import com.l2jfree.gameserver.model.quest.Quest;
import com.l2jfree.gameserver.model.quest.QuestState;
import com.l2jfree.gameserver.model.restriction.ObjectRestrictions;
import com.l2jfree.gameserver.network.SystemMessageId;
import com.l2jfree.gameserver.network.serverpackets.ClientSetTime;
import com.l2jfree.gameserver.network.serverpackets.Die;
import com.l2jfree.gameserver.network.serverpackets.EtcStatusUpdate;
import com.l2jfree.gameserver.network.serverpackets.ExBasicActionList;
import com.l2jfree.gameserver.network.serverpackets.ExStorageMaxCount;
import com.l2jfree.gameserver.network.serverpackets.FriendList;
import com.l2jfree.gameserver.network.serverpackets.GameGuardQuery;
import com.l2jfree.gameserver.network.serverpackets.HennaInfo;
import com.l2jfree.gameserver.network.serverpackets.ItemList;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfree.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jfree.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jfree.gameserver.network.serverpackets.PledgeStatusChanged;
import com.l2jfree.gameserver.network.serverpackets.QuestList;
import com.l2jfree.gameserver.network.serverpackets.ShortCutInit;
import com.l2jfree.gameserver.network.serverpackets.ShortCutRegister;
import com.l2jfree.gameserver.network.serverpackets.SkillCoolTime;
import com.l2jfree.gameserver.network.serverpackets.SystemMessage;
import com.l2jfree.gameserver.network.serverpackets.UserInfo;
import com.l2jfree.gameserver.util.FloodProtector;

/**
 * Enter World Packet Handler
 * <p>
 * 0000: 03
 * <p>
 * packet format rev656 cbdddd
 * <p>
 *
 * @version $Revision: 1.16.2.1.2.7 $ $Date: 2005/03/29 23:15:33 $
 */
public class EnterWorld extends L2GameClientPacket
{
        private static final String        _C__03_ENTERWORLD        = "[C] 03 EnterWorld";

        public TaskPriority getPriority()
        {
                return TaskPriority.PR_URGENT;
        }

        /**
        * @param decrypt
        */
        @Override
        protected void readImpl()
        {
                // this is just a trigger packet. it has no content
        }

        @Override
        protected void runImpl()
        {
                L2PcInstance activeChar = getClient().getActiveChar();
                if (activeChar == null)
                {
                        _log.warn("EnterWorld failed! activeChar is null...");
                        getClient().closeNow();
                        return;
                }

                // restore instance
                if (Config.RESTORE_PLAYER_INSTANCE)
                        activeChar.setInstanceId(InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId()));
                else
                {
                        int instanceId = InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId());
                        if (instanceId > 0)
                                InstanceManager.getInstance().getInstance(instanceId).removePlayer(activeChar.getObjectId());
                }

                // Restore Vitality
                if (Config.RECOVER_VITALITY_ON_RECONNECT)
                        activeChar.restoreVitality();

                // Register in flood protector
                FloodProtector.registerNewPlayer(activeChar.getObjectId());

                if (activeChar.isGM())
                {
                        if (Config.SHOW_GM_LOGIN)
                        {
                                String gmname = activeChar.getName();
                                String text = "GM " + gmname + " has logged on.";
                                Announcements.getInstance().announceToAll(text);
                        }
                        else
                        {
                                if (Config.GM_STARTUP_INVISIBLE
                                                && (!Config.ALT_PRIVILEGES_ADMIN && activeChar.getAccessLevel() >= Config.GM_GODMODE || Config.ALT_PRIVILEGES_ADMIN
                                                                && AdminCommandHandler.getInstance().checkPrivileges(activeChar, "admin_invisible")))
                                        activeChar.getAppearance().setInvisible();

                                if (Config.GM_STARTUP_SILENCE
                                                && (!Config.ALT_PRIVILEGES_ADMIN && activeChar.getAccessLevel() >= Config.GM_MENU || Config.ALT_PRIVILEGES_ADMIN
                                                                && AdminCommandHandler.getInstance().checkPrivileges(activeChar, "admin_silence")))
                                        activeChar.setMessageRefusal(true);
                        }

                        if (Config.GM_STARTUP_INVULNERABLE
                                        && (!Config.ALT_PRIVILEGES_ADMIN && activeChar.getAccessLevel() >= Config.GM_GODMODE || Config.ALT_PRIVILEGES_ADMIN
                                                        && AdminCommandHandler.getInstance().checkPrivileges(activeChar, "admin_invul")))
                                activeChar.setIsInvul(true);

                        if (Config.GM_NAME_COLOR_ENABLED)
                        {
                                if (activeChar.getAccessLevel() >= 100)
                                        activeChar.getAppearance().setNameColor(Config.ADMIN_NAME_COLOR);
                                else if (activeChar.getAccessLevel() >= 75)
                                        activeChar.getAppearance().setNameColor(Config.GM_NAME_COLOR);
                        }
                        if (Config.GM_TITLE_COLOR_ENABLED)
                        {
                                if (activeChar.getAccessLevel() >= 100)
                                        activeChar.getAppearance().setTitleColor(Config.ADMIN_TITLE_COLOR);
                                else if (activeChar.getAccessLevel() >= 75)
                                        activeChar.getAppearance().setTitleColor(Config.GM_TITLE_COLOR);
                        }

                        if (Config.GM_STARTUP_AUTO_LIST)
                                GmListTable.getInstance().addGm(activeChar, false);
                        else
                                GmListTable.getInstance().addGm(activeChar, true);
                }
                else if (activeChar.getClan() != null && activeChar.isClanLeader() && Config.CLAN_LEADER_COLOR_ENABLED
                                && activeChar.getClan().getLevel() >= Config.CLAN_LEADER_COLOR_CLAN_LEVEL)
                {
                        if (Config.CLAN_LEADER_COLORED == Config.ClanLeaderColored.name)
                                activeChar.getAppearance().setNameColor(Config.CLAN_LEADER_COLOR);
                        else
                                activeChar.getAppearance().setTitleColor(Config.CLAN_LEADER_COLOR);
                }
                if (activeChar.isCharViP())
                {
                        if (Config.CHAR_VIP_COLOR_ENABLED)
                                activeChar.getAppearance().setNameColor(Config.CHAR_VIP_COLOR);
                }

                if (activeChar.getStatus().getCurrentHp() < 0.5) // is dead
                        activeChar.setIsDead(true);

                // Restore character's siege state
                if (activeChar.getClan() != null)
                {
                        for (Siege siege : SiegeManager.getInstance().getSieges())
                        {
                                if (!siege.getIsInProgress())
                                        continue;
                                if (siege.checkIsAttacker(activeChar.getClan()))
                                        activeChar.setSiegeState((byte) 1);
                                else if (siege.checkIsDefender(activeChar.getClan()))
                                        activeChar.setSiegeState((byte) 2);
                        }

                        for (FortSiege fsiege : FortSiegeManager.getInstance().getSieges())
                        {
                                if (!fsiege.getIsInProgress())
                                        continue;
                                if (fsiege.checkIsAttacker(activeChar.getClan()))
                                        activeChar.setSiegeState((byte) 1);
                                else if (fsiege.checkIsDefender(activeChar.getClan()))
                                        activeChar.setSiegeState((byte) 2);
                        }
                }

                if (Hero.getInstance().getHeroes() != null && Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
                        activeChar.setHero(true);

                //Updating Seal of Strife Buff/Debuff
                if (SevenSigns.getInstance().isSealValidationPeriod())
                {
                        int owner = SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE);
                        if (owner != SevenSigns.CABAL_NULL)
                        {
                                int cabal = SevenSigns.getInstance().getPlayerCabal(activeChar);
                                if (cabal == owner)
                                        activeChar.addSkill(SkillTable.getInstance().getInfo(5074, 1), false);
                                else if (cabal != SevenSigns.CABAL_NULL)
                                        activeChar.addSkill(SkillTable.getInstance().getInfo(5075, 1), false);
                        }
                }

                sendPacket(new UserInfo(activeChar));

                // Send Macro List
                activeChar.getMacroses().sendUpdate();

                // Send Item List
                sendPacket(new ItemList(activeChar, false));

                // Send gg check (even if we are not going to check for reply)
                activeChar.queryGameGuard();

                // Send Shortcuts
                sendPacket(new ShortCutInit(activeChar));

                activeChar.sendSkillList();

                activeChar.sendPacket(new HennaInfo(activeChar));

                Quest.playerEnter(activeChar);
                activeChar.sendPacket(new QuestList(activeChar));
                loadTutorial(activeChar);

                if (Config.PLAYER_SPAWN_PROTECTION > 0)
                        activeChar.setProtection(true);

                activeChar.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());

                activeChar.getKnownList().updateKnownObjects();

                if (L2Event.active && L2Event.connectionLossData.containsKey(activeChar.getName()) && L2Event.isOnEvent(activeChar))
                        L2Event.restoreChar(activeChar);
                else if (L2Event.connectionLossData.containsKey(activeChar.getName()))
                        L2Event.restoreAndTeleChar(activeChar);

                activeChar.updateEffectIcons();

                activeChar.sendPacket(new EtcStatusUpdate(activeChar));

                //Expand Skill
                ExStorageMaxCount esmc = new ExStorageMaxCount(activeChar);
                activeChar.sendPacket(esmc);

                FriendList fl = new FriendList(activeChar);
                sendPacket(fl);

                SystemMessage sm = new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE);
                sendPacket(sm);

                // Send client time
                sendPacket(ClientSetTime.STATIC_PACKET);

                if (Config.SHOW_LICENSE)
                        L2JfreeInfo.versionInfo(activeChar);

                if (Config.SHOW_HTML_NEWBIE && activeChar.getLevel() < Config.LEVEL_HTML_NEWBIE)
                {
                        String Newbie_Path = "data/html/newbie.htm";
                        File mainText = new File(Config.DATAPACK_ROOT, Newbie_Path);
                        if (mainText.exists())
                        {
                                NpcHtmlMessage html = new NpcHtmlMessage(1);
                                html.setFile(Newbie_Path);
                                html.replace("%name%", activeChar.getName()); // replaces %name% with activeChar.getName(), so you can say like "welcome to the server %name%"
                                sendPacket(html);
                        }
                }
                else if (Config.SHOW_HTML_GM && activeChar.isGM())
                {
                        String Gm_Path = "data/html/gm.htm";
                        File mainText = new File(Config.DATAPACK_ROOT, Gm_Path); // Return the pathfile of the HTML file
                        if (mainText.exists())
                        {
                                NpcHtmlMessage html = new NpcHtmlMessage(1);
                                html.setFile(Gm_Path);
                                html.replace("%name%", activeChar.getName()); // replaces %name% with activeChar.getName(), so you can say like "welcome to the server %name%"
                                sendPacket(html);
                        }
                }
                else if (Config.SHOW_HTML_WELCOME)
                {
                        String Welcome_Path = "data/html/welcome.htm";
                        File mainText = new File(Config.DATAPACK_ROOT, Welcome_Path); // Return the pathfile of the HTML file
                        if (mainText.exists())
                        {
                                NpcHtmlMessage html = new NpcHtmlMessage(1);
                                html.setFile(Welcome_Path);
                                html.replace("%name%", activeChar.getName()); // replaces %name% with activeChar.getName(), so you can say like "welcome to the server %name%"
                                sendPacket(html);
                        }
                }

                // Resume paused restrictions
                ObjectRestrictions.getInstance().resumeTasks(activeChar.getObjectId());

                // check player skills
                if (Config.CHECK_SKILLS_ON_ENTER && !Config.ALT_GAME_SKILL_LEARN)
                        activeChar.checkAllowedSkills();

                // check for academy
                activeChar.academyCheck(activeChar.getClassId().getId());

                // check for crowns
                CrownManager.getInstance().checkCrowns(activeChar);

                SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar);
                Announcements.getInstance().showAnnouncements(activeChar);

                if (Config.ONLINE_PLAYERS_AT_STARTUP)
                {
                        sm = new SystemMessage(SystemMessageId.S1);
                        if (L2World.getInstance().getAllPlayers().size() == 1)
                                sm.addString("Player online: " + L2World.getInstance().getAllPlayers().size());
                        else
                                sm.addString("Players online: " + L2World.getInstance().getAllPlayers().size());
                        sendPacket(sm);
                }

                PetitionManager.getInstance().checkPetitionMessages(activeChar);

                if (activeChar.getClanId() != 0 && activeChar.getClan() != null)
                {
                        PledgeShowMemberListAll psmla = new PledgeShowMemberListAll(activeChar.getClan(), activeChar);
                        sendPacket(psmla);
                        PledgeStatusChanged psc = new PledgeStatusChanged(activeChar.getClan());
                        sendPacket(psc);
                }

                if (activeChar.isAlikeDead()) // dead or fake dead
                {
                        // no broadcast needed since the player will already spawn dead to others
                        Die d = new Die(activeChar);
                        sendPacket(d);
                }

                // engage and notify Partner
                if (Config.ALLOW_WEDDING)
                {
                        engage(activeChar);
                        notifyPartner(activeChar);

                        // Check if player is maried and remove if necessary Cupid's Bow
                        if (!activeChar.isMaried())
                        {
                                L2ItemInstance item = activeChar.getInventory().getItemByItemId(9140);
                                // Remove Cupid's Bow
                                if (item != null)
                                {
                                        activeChar.destroyItem("Removing Cupid's Bow", item, activeChar, true);
                                        activeChar.getInventory().updateDatabase();
                                        // Log it
                                        _log.info("Character " + activeChar.getName() + " of account " + activeChar.getAccountName() + " got Cupid's Bow removed.");
                                }
                        }
                }

                // notify Friends
                notifyFriends(activeChar);

                //notify Clanmembers
                notifyClanMembers(activeChar);
                //notify sponsor or apprentice
                notifySponsorOrApprentice(activeChar);

                activeChar.onPlayerEnter();

                sendPacket(new SkillCoolTime(activeChar));

                if (Olympiad.getInstance().playerInStadia(activeChar))
                {
                        activeChar.doRevive();
                        activeChar.teleToLocation(TeleportWhereType.Town);
                        activeChar.sendMessage("You have been teleported to the nearest town due to you being in an Olympiad Stadium.");
                }

                if (DimensionalRiftManager.getInstance().checkIfInRiftZone(activeChar.getX(), activeChar.getY(), activeChar.getZ(), true)) // Exclude waiting room
                {
                        DimensionalRiftManager.getInstance().teleportToWaitingRoom(activeChar);
                }

                if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis())
                {
                        sm = new SystemMessage(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED);
                        activeChar.sendPacket(sm);
                }

                if (activeChar.getClan() != null)
                {
                        //Sets the apropriate Pledge Class for the clannie (e.g. Viscount, Count, Baron, Marquiz)
                        activeChar.setPledgeClass(L2ClanMember.getCurrentPledgeClass(activeChar));

                        // Add message if clanHall not paid. Possibly this is custom...
                        ClanHall clanHall = ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan());
                        if (clanHall != null)
                        {
                                if (!clanHall.getPaid())
                                        activeChar.sendPacket(new SystemMessage(
                                                        SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW));
                        }
                }

                updateShortCuts(activeChar);

                // remove combat flag before teleporting
                L2ItemInstance flag = activeChar.getInventory().getItemByItemId(9819);
                if (flag != null)
                {
                        Fort fort = FortManager.getInstance().getFort(activeChar);
                        if (fort != null)
                        {
                                FortSiegeManager.getInstance().dropCombatFlag(activeChar);
                        }
                        else
                        {
                                int slot = flag.getItem().getBodyPart();
                                activeChar.getInventory().unEquipItemInBodySlotAndRecord(slot);
                                activeChar.destroyItem("CombatFlag", flag, null, true);
                        }
                }
                if (!activeChar.isGM() && activeChar.getSiegeState() < 2 && SiegeManager.getInstance().checkIfInZone(activeChar))
                {
                        // Attacker or spectator logging in to a siege zone. Actually should be checked for inside castle only?
                        activeChar.teleToLocation(TeleportWhereType.Town);
                        //activeChar.sendMessage("You have been teleported to the nearest town due to you being in siege zone"); - custom
                }

                RegionBBSManager.getInstance().changeCommunityBoard();

                if (Config.GAMEGUARD_ENFORCE)
                {
                        activeChar.sendPacket(GameGuardQuery.STATIC_PACKET);
                }

                if (TvT._savePlayers.contains(activeChar.getName()))
                        TvT.addDisconnectedPlayer(activeChar);

                if (CTF._savePlayers.contains(activeChar.getName()))
                        CTF.addDisconnectedPlayer(activeChar);

                if (DM._savePlayers.contains(activeChar.getName()))
                        DM.addDisconnectedPlayer(activeChar);

                if (!activeChar.isTransformed())
                {
                        activeChar.regiveTemporarySkills();
                        // Send Action list
                        activeChar.sendPacket(ExBasicActionList.DEFAULT_ACTION_LIST);
                }
                else
                {
                        activeChar.sendPacket(ExBasicActionList.TRANSFORMED_ACTION_LIST);
                }

                if (activeChar.isCursedWeaponEquipped())
                {
                        CursedWeaponsManager.getInstance().getCursedWeapon(activeChar.getCursedWeaponEquippedId()).cursedOnLogin();
                }
        }

        /**
        * @param activeChar
        */
        private void engage(L2PcInstance cha)
        {
                int _chaid = cha.getObjectId();

                for (Couple cl : CoupleManager.getInstance().getCouples())
                {
                        if (cl.getPlayer1Id() == _chaid || cl.getPlayer2Id() == _chaid)
                        {
                                if (cl.getMaried())
                                        cha.setMaried(true);

                                cha.setCoupleId(cl.getId());

                                if (cl.getPlayer1Id() == _chaid)
                                {
                                        cha.setPartnerId(cl.getPlayer2Id());
                                }
                                else
                                {
                                        cha.setPartnerId(cl.getPlayer1Id());
                                }
                        }
                }
        }

        /**
        * @param activeChar partnerid
        */
        private void notifyPartner(L2PcInstance cha)
        {
                if (cha.getPartnerId() != 0)
                {

                        L2PcInstance partner = L2World.getInstance().getPlayer(cha.getPartnerId());

                        if (partner != null)
                                partner.sendMessage("Your Partner " + cha.getName() + " has logged in.");
                }
        }

        /**
        * @param activeChar
        */
        private void notifyFriends(L2PcInstance cha)
        {
                SystemMessage sm = new SystemMessage(SystemMessageId.FRIEND_S1_HAS_LOGGED_IN);
                sm.addString(cha.getName());

                for (String friendName : L2FriendList.getFriendListNames(cha))
                {
                        L2PcInstance friend = L2World.getInstance().getPlayer(friendName);
                        if (friend != null) //friend logged in.
                        {
                                friend.sendPacket(new FriendList(friend));
                                friend.sendPacket(sm);
                        }
                }

                sm = null;
        }

        /**
        * @param activeChar
        */
        private void notifyClanMembers(L2PcInstance activeChar)
        {
                L2Clan clan = activeChar.getClan();
                if (clan != null)
                {
                        L2ClanMember clanmember = clan.getClanMember(activeChar.getObjectId());
                        if (clanmember != null)
                        {
                                clanmember.setPlayerInstance(activeChar);
                                SystemMessage msg = new SystemMessage(SystemMessageId.CLAN_MEMBER_S1_LOGGED_IN);
                                msg.addString(activeChar.getName());
                                clan.broadcastToOtherOnlineMembers(msg, activeChar);
                                msg = null;
                                clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar);
                                if (clan.isNoticeEnabled() && clan.getNotice() != "")
                                        sendPacket(new NpcHtmlMessage(1, "<html><title>Clan Announcements</title><body><br><center><font color=\"CCAA00\">"
                                                        + activeChar.getClan().getName() + "</font> <font color=\"6655FF\">Clan Alert Message</font></center><br>"
                                                        + "<img src=\"L2UI.SquareWhite\" width=270 height=1><br>" + activeChar.getClan().getNotice() + "</body></html>"));
                        }
                }
        }

        /**
        * @param activeChar
        */
        private void notifySponsorOrApprentice(L2PcInstance activeChar)
        {
                if (activeChar.getSponsor() != 0)
                {
                        L2PcInstance sponsor = L2World.getInstance().getPlayer(activeChar.getSponsor());

                        if (sponsor != null)
                        {
                                SystemMessage msg = new SystemMessage(SystemMessageId.YOUR_APPRENTICE_S1_HAS_LOGGED_IN);
                                msg.addString(activeChar.getName());
                                sponsor.sendPacket(msg);
                        }
                }
                else if (activeChar.getApprentice() != 0)
                {
                        L2PcInstance apprentice = L2World.getInstance().getPlayer(activeChar.getApprentice());

                        if (apprentice != null)
                        {
                                SystemMessage msg = new SystemMessage(SystemMessageId.YOUR_SPONSOR_C1_HAS_LOGGED_IN);
                                msg.addString(activeChar.getName());
                                apprentice.sendPacket(msg);
                        }
                }
        }

        /**
        * CT1 doesn't update shortcuts so we need to reregister them to the client
        *
        * @param activeChar
        */
        private void updateShortCuts(L2PcInstance activeChar)
        {
                L2ShortCut[] allShortCuts = activeChar.getAllShortCuts();

                for (L2ShortCut sc : allShortCuts)
                {
                        activeChar.sendPacket(new ShortCutRegister(sc));
                }
        }

        private void loadTutorial(L2PcInstance player)
        {
                QuestState qs = player.getQuestState("255_Tutorial");
                if (qs != null)
                        qs.getQuest().notifyEvent("UC", null, player);
        }

        /* (non-Javadoc)
        * @see com.l2jfree.gameserver.clientpackets.ClientBasePacket#getType()
        */
        @Override
        public String getType()
        {
                return _C__03_ENTERWORLD;
        }
}


lold 09.03.2009 17:15

Ответ: l2jserver - как убрать копирайты в игре?
 
config > options >

# Show server version + license when player enter game.
ShowLicense = True ( False )

drakola 09.03.2009 17:21

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от lold (Сообщение 29186)
config > options >

# Show server version + license when player enter game.
ShowLicense = True ( False )

мне нада убрать в исходниках а не в конфиге

DarkLoki 10.03.2009 13:01

Ответ: l2jserver - как убрать копирайты в игре?
 
drakola,
Ну так включи воображение найди где юзается параметр ShowLicense в исходниках и убери всё, что там не нужно. Потому что в этом куске кода я не вижу копирайтов в явном виде. о_О Ослеп?

Navakasi 03.08.2009 10:53

Ответ: l2jserver - как убрать копирайты в игре?
 
изменил я этот файл , ничего не изменилось (enterworld.java )
юзаю поиск, есть еще 1 файл ентер ворлд токо с сылкой L2_GameServer\build\classes\net\sf\l2j\gameserver\ network\clientpackets
чо делать?)

PROGRAMMATOR 03.08.2009 11:30

Ответ: l2jserver - как убрать копирайты в игре?
 
Такого быть не может, если убрали, то его нет.

Navakasi 03.08.2009 11:41

Ответ: l2jserver - как убрать копирайты в игре?
 
ну файла то 2 java и class изменил я яву класс не немял, я просто первый день занялся этим вопросом с компилом и т д, поэтому могу очень многово недогонять ) но я способный ))))

PROGRAMMATOR 03.08.2009 12:56

Ответ: l2jserver - как убрать копирайты в игре?
 
Находите файл EnterWorld.java вот здесь:

Цитата:

L2_GameServer\java\net\sf\l2j\gameserver\network\c lientpackets\
Либо патч накатить:

[source=diff]
Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
================================================== =================
--- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 3301)
+++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy)
@@ -337,19 +337,6 @@
// Send client time
sendPacket(ClientSetTime.STATIC_PACKET);

- activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdX NlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg== \n"));
- activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZC BieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20= \n"));
-
- if (Config.DISPLAY_SERVER_VERSION)
- {
- if (Config.SERVER_VERSION != null)
- activeChar.sendMessage(getText("TDJKIFNlcnZlciBWZX JzaW9uOg==")+" "+Config.SERVER_VERSION);
-
- if (Config.DATAPACK_VERSION != null)
- activeChar.sendMessage(getText("TDJKIERhdGFwYWNrIF ZlcnNpb246")+" "+Config.DATAPACK_VERSION);
- }
- activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMD QtMjAwOQ==\n"));
-
SevenSigns.getInstance().sendCurrentPeriodMsg(acti veChar);
Announcements.getInstance().showAnnouncements(acti veChar);

[/source]

Navakasi 03.08.2009 14:13

Ответ: l2jserver - как убрать копирайты в игре?
 
не помогло, мб я что то не правельно скомпилил?
как enterworld.class отредактить?

PROGRAMMATOR 03.08.2009 15:00

Ответ: l2jserver - как убрать копирайты в игре?
 
Для чего его редактировать? Вы должны редактировать .java

MarShallx 03.08.2009 15:18

Ответ: l2jserver - как убрать копирайты в игре?
 
Цитата:

Сообщение от Navakasi (Сообщение 38132)
не помогло, мб я что то не правельно скомпилил?
как enterworld.class отредактить?

*.class это уже скомпиленный *.java :)

Navakasi 03.08.2009 16:21

Ответ: l2jserver - как убрать копирайты в игре?
 
ну вообщем редактил я этот файл, не получаеться чот... и еще при логине другого перса тоже частично пишет ту батву, набор букв и цифр. С этим файлом после редакции над очто то делать?

MarShallx 03.08.2009 17:21

Ответ: l2jserver - как убрать копирайты в игре?
 
надо скомпилировать исходники с этим файлом..

hornet 03.08.2009 19:40

Ответ: l2jserver - как убрать копирайты в игре?
 
может не прально понял , но вариант декодировать .class файл как бы есть , вопрос только , а действительно зачем , когда можно все сделать до компиляции сервера , непосредственно в .java файлах ...

Navakasi 03.08.2009 19:59

Ответ: l2jserver - как убрать копирайты в игре?
 
Вложений: 1
Вообщем чо я уже токо не пробывал, даже удалял класс файл потом компилил.. смог убрать версию сервера через конфиг, кароче вот что осталось, такая мелочь, а как задолбала )
и еще строчка после велком ту ворлд оф линейдж появляетсья при логине других игроков в игру.

Oliama 04.08.2009 11:50

Ответ: l2jserver - как убрать копирайты в игре?
 
Перечитав тему я понел что многие не понимают преимущества компиляции!

Люди, поймите что компиляция - это просто подарок, вам дали возможность работать с открытым исходным кодом!
А теперь к делу! Как убрать копирайты на прородителе многих сервов l2j server и на его "отпрысках"?
Вот два способа:

Если есть Eclipse и svn, то есть можете работать с открытым исходным кодом то:
Лезем в {ваше имя проекта в Eclipse}\java\net\sf\l2j\gameserver\network\client packets\EnterWorld.java и там
гдето в серединке
activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdX NlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg== \n")); - это первая строка копирайтов
activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZC BieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20= \n")); - это вторая строка копирайтов
if (Config.DISPLAY_SERVER_VERSION)
{
if (Config.SERVER_VERSION != null)
activeChar.sendMessage(getText("TDJKIFNlcnZlciBWZX JzaW9uOg==")+" "+Config.SERVER_VERSION); -это копирайт с версией ядра

if (Config.DATAPACK_VERSION != null) и датапака
activeChar.sendMessage(getText("TDJKIERhdGFwYWNrIF ZlcnNpb246")+" "+Config.DATAPACK_VERSION);
}
activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMD QtMjAwOQ==\n")); - это Copyright 2005-2009
sendPacket(new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE)) ; - это приветствие в линяге, можно не удалять =) Редактируется в клиенте!


Теперь дальше, это не всё =)
Это кодировка Base - 64, http://www.base64.ru/, Вы можете вставить свои копирайты или убрать их нафиг как вы понимаете, Всё, больше не чего не могу сказать для "Компиляторов"

P.S.: Я себе вообще опцыю в конфигах прописал, типа вкл/выкл копирайты =)

ТЕПЕРЬ тем у кого нет компилятора, тогда открываем архиватором L2jserver.jar и идём по тому же пути \net\sf\l2j\gameserver\network\clientpackets\Enter World.class - далее разархивируем его, открываем прогой Notepad++ (желательно)
В нём скомпилировано всё в машинный код кроме самих копирайтов =)
То есть ищем к примеру в нём "Q29weXJpZ2h0IDIwMDQtMjAwOQ==" рядом сидят остальные копирайты, можно с ним сделать следующие:
1) Заменить на свой =) Кодировку Базу-64 я вам дал
2)Заменить все знаки на "=" - тогда будут одни пробелы,
3) Ни чё не делать с ними =)

Как сделали всё, обратно кидаем в архив этот EnterWorld.class и радуемся =)


Текущее время: 11:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot