本文整理汇总了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;
}
示例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);
}
示例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);
}
}
示例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));
}
}
示例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));
}
}
示例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);
}
示例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;
}
示例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);
}
示例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);
}
示例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));
}
示例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, "服务器已在运行中。");
}
}
示例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, "正在执行中。");
}
}
示例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;
}
示例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();
}
}
示例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));
}