当前位置: 首页>>代码示例>>Java>>正文


Java LoginServer类代码示例

本文整理汇总了Java中handling.login.LoginServer的典型用法代码示例。如果您正苦于以下问题:Java LoginServer类的具体用法?Java LoginServer怎么用?Java LoginServer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


LoginServer类属于handling.login包,在下文中一共展示了LoginServer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadCharactersInternal

import handling.login.LoginServer; //导入依赖的package包/类
private List<CharNameAndId> loadCharactersInternal(int serverId) {
	List<CharNameAndId> chars = new LinkedList<>();
	try {
		Connection con = DatabaseConnection.getConnection();
		try (PreparedStatement ps = con.prepareStatement("SELECT id, name, gm FROM characters WHERE accountid = ? AND world = ?")) {
			ps.setInt(1, accId);
			ps.setInt(2, serverId);
			try (ResultSet rs = ps.executeQuery()) {
				while (rs.next()) {
					chars.add(new CharNameAndId(rs.getString("name"), rs.getInt("id")));
					LoginServer.getLoginAuth(rs.getInt("id"));
				}
			}
		}
	} catch (SQLException e) {
		System.err.println("error loading characters internal");
	}
	return chars;
}
 
开发者ID:ergothvs,项目名称:Lucid2.0,代码行数:20,代码来源:MapleClient.java

示例2: forceChangeChannel

import handling.login.LoginServer; //导入依赖的package包/类
public void forceChangeChannel(final int channel) {
    final ChannelServer toch = ChannelServer.getInstance(channel);

    changeRemoval();

    final ChannelServer ch = ChannelServer.getInstance(client.getChannel());
    if (getMessenger() != null) {
        World.Messenger.silentLeaveMessenger(getMessenger().getId(), new MapleMessengerCharacter(this));
    }
    PlayerBuffStorage.addBuffsToStorage(getId(), getAllBuffs());
    PlayerBuffStorage.addCooldownsToStorage(getId(), getCooldowns());
    PlayerBuffStorage.addDiseaseToStorage(getId(), getAllDiseases());
    World.ChannelChange_Data(new CharacterTransfer(this), getId(), channel);
    ch.removePlayer(this);
    client.updateLoginState(MapleClient.CHANGE_CHANNEL, client.getSessionIPAddress());
    final String s = client.getSessionIPAddress();
    LoginServer.addIPAuth(s.substring(s.indexOf('/') + 1, s.length()));
    client.getSession().write(CField.getChannelChange(client, Integer.parseInt(toch.getIP().split(":")[1])));
    saveToDB(false, false);
    getMap().removePlayer(this);

    client.setPlayer(null);
    client.setReceiving(false);
}
 
开发者ID:ergothvs,项目名称:Lucid2.0,代码行数:25,代码来源:MapleCharacter.java

示例3: LeaveCS

import handling.login.LoginServer; //导入依赖的package包/类
public static void LeaveCS(final LittleEndianAccessor slea, final MapleClient c, final MapleCharacter chr) {
    CashShopServer.getPlayerStorage().deregisterPlayer(chr);
    c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION, c.getSessionIPAddress());

    try {

        World.ChannelChange_Data(new CharacterTransfer(chr), chr.getId(), c.getChannel());
        c.getSession().write(CField.getChannelChange(c, Integer.parseInt(ChannelServer.getInstance(c.getChannel()).getIP().split(":")[1])));
    } finally {
        final String s = c.getSessionIPAddress();
        LoginServer.addIPAuth(s.substring(s.indexOf('/') + 1, s.length()));
        chr.saveToDB(false, true);
        c.setPlayer(null);
        c.setReceiving(false);
    }
}
 
开发者ID:ergothvs,项目名称:Lucid2.0,代码行数:17,代码来源:CashShopOperation.java

示例4: ServerListRequest

import handling.login.LoginServer; //导入依赖的package包/类
private static void ServerListRequest(MapleClient c) {

        for (WorldOption servers : WorldOption.values()) {
            if (WorldOption.getById(servers.getWorld()).show() && servers != null) {
                c.getSession().write(LoginPacket.getServerList(servers.getWorld(), LoginServer.getLoad()));
            }
        }
        
        c.getSession().write(LoginPacket.getEndOfServerList());
        boolean hasCharacters = false;
        for (int world = 0; world < WorldOption.values().length; world++) {
            final List<MapleCharacter> chars = c.loadCharacters(world);
            if (chars != null) {
                hasCharacters = true;
                break;
            }
        }

        if (!hasCharacters) {
            c.getSession().write(LoginPacket.enableRecommended(WorldOption.recommended));
        }
        if (WorldOption.recommended >= 0) {
            c.getSession().write(LoginPacket.sendRecommended(WorldOption.recommended, WorldOption.recommendedmsg));
        }
	}
 
开发者ID:ergothvs,项目名称:Lucid2.0,代码行数:26,代码来源:ServerListRequest.java

示例5: handle

import handling.login.LoginServer; //导入依赖的package包/类
@PacketHandler(opcode = RecvPacketOpcode.SERVERSTATUS_REQUEST)
public static void handle(MapleClient c, LittleEndianAccessor lea) {
       // 0 = Select world normally
       // 1 = "Since there are many users, you may encounter some..."
       // 2 = "The concurrent users in this world have reached the max"
	
       final int numPlayer = LoginServer.getUsersOn();
       final int userLimit = LoginServer.getUserLimit();
       if (numPlayer >= userLimit) {
           c.getSession().write(LoginPacket.getServerStatus(2));
       } else if (numPlayer * 2 >= userLimit) {
           c.getSession().write(LoginPacket.getServerStatus(1));
       } else {
           c.getSession().write(LoginPacket.getServerStatus(0));
       }
	
}
 
开发者ID:ergothvs,项目名称:Lucid2.0,代码行数:18,代码来源:ServerStatusRequest.java

示例6: sessionOpened

import handling.login.LoginServer; //导入依赖的package包/类
@Override
public void sessionOpened(final IoSession session) throws Exception {
	
    // Start of IP checking
    final String address = session.getRemoteAddress().toString().split(":")[0];
    final short port = Short.parseShort(session.getServiceAddress().toString().split(":")[1]);
    
    if (LoginServer.isShutdown()) {
        session.close();
        return;
    }

    // IV used to decrypt packets from client.
    final byte ivRecv[] = new byte[]{(byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255)};
    
    // IV used to encrypt packets for client.
    final byte ivSend[] = new byte[]{(byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255), (byte) Randomizer.nextInt(255)};

    MapleClient client = new MapleClient(
            new MapleAESOFB(skey, ivSend, (short) (0xFFFF - ServerConstants.MAPLE_VERSION)),
            new MapleAESOFB(skey, ivRecv, ServerConstants.MAPLE_VERSION), session);
    client.setChannel(-1);

    MaplePacketDecoder.DecoderState decoderState = new MaplePacketDecoder.DecoderState();
    session.setAttribute(MaplePacketDecoder.DECODER_STATE_KEY, decoderState);
    
    session.write(LoginPacket.getHello(ServerConstants.MAPLE_VERSION, ivSend, ivRecv));
    session.setAttribute(MapleClient.CLIENT_KEY, client);
    session.setIdleTime(IdleStatus.READER_IDLE, 60);
    session.setIdleTime(IdleStatus.WRITER_IDLE, 60);

    System.out.println("Connection Established " + address + ":"+port);
}
 
开发者ID:Maxcloud,项目名称:Mushy,代码行数:34,代码来源:MapleServerHandler.java

示例7: loadCharactersInternal

import handling.login.LoginServer; //导入依赖的package包/类
private List<CharNameAndId> loadCharactersInternal(int serverId) {
    List chars = new LinkedList();
    try (PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("SELECT id, name, gm FROM characters WHERE accountid = ? AND world = ?")) {
        ps.setInt(1, this.accId);
        ps.setInt(2, serverId);
        try (ResultSet rs = ps.executeQuery()) {
            while (rs.next()) {
                chars.add(new CharNameAndId(rs.getString("name"), rs.getInt("id")));
                LoginServer.getLoginAuth(rs.getInt("id"));
            }
        }
        ps.close();
    } catch (SQLException e) {
        log.error("error loading characters internal", e);
    }
    return chars;
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:18,代码来源:MapleClient.java

示例8: changeChannel

import handling.login.LoginServer; //导入依赖的package包/类
public void changeChannel(int channel) {
        ChannelServer toch = ChannelServer.getInstance(channel);
        if ((channel == this.client.getChannel()) || (toch == null) || (toch.isShutdown())) {
            this.client.getSession().write(MaplePacketCreator.serverBlocked(1));
            return;
        }
        changeRemoval();
        ChannelServer ch = ChannelServer.getInstance(this.client.getChannel());
        if (getMessenger() != null) {
            WorldMessengerService.getInstance().silentLeaveMessenger(getMessenger().getId(), new MapleMessengerCharacter(this));
        }
        PlayerBuffStorage.addBuffsToStorage(getId(), getAllBuffs());
        PlayerBuffStorage.addCooldownsToStorage(getId(), getCooldowns());
        PlayerBuffStorage.addDiseaseToStorage(getId(), getAllDiseases());
//        this.cancelAllBuffs();
        World.ChannelChange_Data(new CharacterTransfer(this), getId(), channel);
        ch.removePlayer(this);
        this.client.updateLoginState(3, this.client.getSessionIPAddress());
        String s = this.client.getSessionIPAddress();
        LoginServer.addIPAuth(s.substring(s.indexOf(47) + 1, s.length()));
        this.client.getSession().write(MaplePacketCreator.getChannelChange(this.client, Integer.parseInt(toch.getIP().split(":")[1])));
        saveToDB(false, false);
        getMap().removePlayer(this);
        this.client.setPlayer(null);
        this.client.setReceiving(false);
    }
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:27,代码来源:MapleCharacter.java

示例9: LeaveCS

import handling.login.LoginServer; //导入依赖的package包/类
/**
 * 玩家离开商城
 * @param slea
 * @param c
 * @param chr
 */
public static void LeaveCS(SeekableLittleEndianAccessor slea, MapleClient c, MapleCharacter chr) {
    if (chr == null) {
        return;
    }
    int channel = c.getChannel();
    ChannelServer toch = ChannelServer.getInstance(channel);
    if (toch == null) {
        FileoutputUtil.log(FileoutputUtil.离开商城, new StringBuilder().append("玩家: ").append(chr.getName()).append(" 从商城离开发生错误.找不到频道[").append(channel).append("]的信息.").toString(), true);
        c.getSession().close(true);
        return;
    }

    World.ChannelChange_Data(new CharacterTransfer(chr), chr.getId(), c.getChannel());
    CashShopServer.getPlayerStorage().deregisterPlayer(chr);
    c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION, c.getSessionIPAddress());
    String s = c.getSessionIPAddress();
    LoginServer.addIPAuth(s.substring(s.indexOf('/') + 1, s.length()));
    c.getSession().write(MaplePacketCreator.getChannelChange(c, Integer.parseInt(toch.getIP().split(":")[1])));
    chr.saveToDB(false, true);
    c.setPlayer(null);
    c.setReceiving(false);
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:29,代码来源:CashShopOperation.java

示例10: handlePacket

import handling.login.LoginServer; //导入依赖的package包/类
public static void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
    int charId = slea.readInt();
    if (!c.isLoggedIn() || loginFailCount(c) || (!c.login_Auth(charId))) {
        c.getSession().write(MaplePacketCreator.enableActions());
        return;
    }
    if ((ChannelServer.getInstance(c.getChannel()) == null) || !WorldConstants.isExists(c.getWorld())) {
        c.getSession().close(true);
        return;
    }
    if (c.getIdleTask() != null) {
        c.getIdleTask().cancel(true);
    }
    String ip = c.getSessionIPAddress();
    LoginServer.putLoginAuth(charId, ip.substring(ip.indexOf('/') + 1, ip.length()), c.getTempIP(), c.getChannel());
    c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION, ip);
    c.getSession().write(MaplePacketCreator.getServerIP(c, Integer.parseInt(ChannelServer.getInstance(c.getChannel()).getIP().split(":")[1]), charId));
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:19,代码来源:CharSelectedHandler.java

示例11: startServer

import handling.login.LoginServer; //导入依赖的package包/类
private void startServer() {
    if (LoginServer.isShutdown() && server == null) {
        server = new Thread() {
            @Override
            public void run() {
                try {
                    JOptionPane.showMessageDialog(null, "服务器启动需要时间,请点击确定继续。");
                    Start.main(null);
                    JOptionPane.showMessageDialog(null, "服务器启动完成。");
                } catch (InterruptedException ex) {
                    Logger.getLogger(ServerUI.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        };
        server.start();
    } else {
        JOptionPane.showMessageDialog(null, "服务器已在运行中。");
    }
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:20,代码来源:ServerUI.java

示例12: jButton31ActionPerformed

import handling.login.LoginServer; //导入依赖的package包/类
private void jButton31ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton31ActionPerformed
    openWindow(Windows.SearchGenerator);
    if (!LoginServer.isShutdown() || searchServer) {
        return;
    }
    searchServer = true;
    if (server == null) {
        server = new Thread() {
            @Override
            public void run() {
                JOptionPane.showMessageDialog(null, "因未启动服务器, 直接启动工具需要加载信息消耗一定时间才能检索除地图跟怪物外的其他內容, 请点击确定继续。");
                MapleQuest.initQuests(false);
                MapleItemInformationProvider.getInstance().runItems(false);
                SkillFactory.loadAllSkills(false);
                MapleLifeFactory.loadQuestCounts(false);
                JOptionPane.showMessageDialog(null, "信息加载完成, 现在可以检索全部內容了。");
                server = null;
            }
        };
        server.start();
    } else {
        JOptionPane.showMessageDialog(null, "正在执行中。");
    }
}
 
开发者ID:icelemon1314,项目名称:mapleLemon,代码行数:25,代码来源:ServerUI.java

示例13: loadCharactersInternal

import handling.login.LoginServer; //导入依赖的package包/类
private List<CharNameAndId> loadCharactersInternal(int serverId) {
    List<CharNameAndId> chars = new LinkedList<>();
    try {
        Connection con = DatabaseConnection.getConnection();
        try (PreparedStatement ps = con.prepareStatement("SELECT id, name, gm FROM characters WHERE accountid = ? AND world = ?")) {
            ps.setInt(1, accId);
            ps.setInt(2, serverId);
            try (ResultSet rs = ps.executeQuery()) {
                while (rs.next()) {
                    chars.add(new CharNameAndId(rs.getString("name"), rs.getInt("id")));
                    LoginServer.getLoginAuth(rs.getInt("id"));
                }
            }
        }
    } catch (SQLException e) {
        System.err.println("error loading characters internal");
    }
    return chars;
}
 
开发者ID:skorch37,项目名称:Asteria,代码行数:20,代码来源:MapleClient.java

示例14: LeaveCS

import handling.login.LoginServer; //导入依赖的package包/类
public static void LeaveCS(final LittleEndianAccessor slea, final MapleClient c, final MapleCharacter chr) {
    CashShopServer.getPlayerStorage().deregisterPlayer(chr);
    c.updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION, c.getSessionIPAddress());

    try {

        World.ChannelChange_Data(new CharacterTransfer(chr), chr.getId(), c.getChannel());
        c.getSession().write(CField.getChannelChange(c, Integer.parseInt(ChannelServer.getInstance(c.getChannel()).getIP().split(":")[1])));
    } finally {
        final String s = c.getSessionIPAddress();
        LoginServer.addIPAuth(s.substring(s.indexOf('/') + 1, s.length()));
        chr.saveToDB(false, true);
        c.setPlayer(null);
        c.setReceiving(false);
        c.getSession().close();
    }
}
 
开发者ID:skorch37,项目名称:Asteria,代码行数:18,代码来源:CashShopOperation.java

示例15: ServerListRequest

import handling.login.LoginServer; //导入依赖的package包/类
public static void ServerListRequest(final MapleClient c) {      
    List<Triple<String, Integer, Boolean>> backgrounds = new LinkedList<>(); //boolean for randomize
    backgrounds.addAll(Arrays.asList(ServerConstants.backgrounds));
    c.getSession().write(LoginPacket.changeBackground(backgrounds));

    if (ServerConstants.TESPIA) {
        for (TespiaWorldOption tespiaservers : TespiaWorldOption.values()) {
            if (TespiaWorldOption.getById(tespiaservers.getWorld()).show() && TespiaWorldOption.getById(tespiaservers.getWorld()) != null) {
                c.getSession().write(LoginPacket.getServerList(Integer.parseInt(tespiaservers.getWorld().replace("t", "")), LoginServer.getLoad()));
            }
        }
    } else {
        for (WorldOption servers : WorldOption.values()) {
            if (WorldOption.getById(servers.getWorld()).show() && servers != null) {
                c.getSession().write(LoginPacket.getServerList(servers.getWorld(), LoginServer.getLoad()));
            }
        }
    }
    c.getSession().write(LoginPacket.getEndOfServerList());
    c.getSession().write(LoginPacket.sendRecommended(WorldOption.recommended, WorldOption.recommendedmsg));
}
 
开发者ID:skorch37,项目名称:Asteria,代码行数:22,代码来源:CharLoginHandler.java


注:本文中的handling.login.LoginServer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。