开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from wdmir/SilverFoxServer
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
Program.java 6.00 KB
一键复制 编辑 原始数据 按行查看 历史
wdmir 提交于 2016年09月09日 16:49 +08:00 . no commit message
import System.Console;
import System.ConsoleColor;
import System.IO.Path;
import System.Xml.XmlDocument;
import System.Xml.XmlNode;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Locale;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.silverfoxserver.core.log.Log;
import net.silverfoxserver.core.socket.SocketAcceptor;
import net.silverfoxserver.core.socket.SocketConnector;
import net.silverfoxserver.core.util.SR;
import net.silverfoxserver.ext.Globals;
import net.silverfoxserver.ext.handler.GameClientHandler;
import net.silverfoxserver.ext.handler.GameServerHandler;
import org.jdom2.Element;
import org.jdom2.JDOMException;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author ACER-FX
*/
public class Program {
//定义游戏名称,显示在控制台上
public static String GAME_NAME;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//os
String os = System.getProperty("os.name");
Globals.os = os;
//lang
Locale machine = Locale.getDefault();
String lang = machine.getLanguage() + "-" + machine.getCountry();//"zh-CN"; // System.Globalization.CultureInfo.InstalledUICulture.Name;
Globals.lang = lang;
SR.init(lang);
//log
Log.init("FlashGate",0);
//
//stage.setTitle("Flash Gate Service (build date:2016年8月9日)");
//
loadXMLConfigAndStart();
}
//public void loadXMLConfig()
public static void loadXMLConfigAndStart()
{
try {
//load xml config
//读取xml配置
XmlDocument configDoc = new XmlDocument();
//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
//string str = System.Environment.CurrentDirectory;
//该程序如果由另一程序启动,则会有问题,获得的是另一程序的启动路径
//
String configFileName = "FlashGateCloudServerConfig.xml";
//
String ApplicationBase = "";//System.getProperty("user.dir");
if(Globals.os.equals("Linux"))
{
//在Linux下面用这个方法,获得执行jar的运行路径
String javaClassPath = System.getProperty("java.class.path");
ApplicationBase = javaClassPath.substring(0,
javaClassPath.lastIndexOf("/")
);
}else{
ApplicationBase = System.getProperty("user.dir");
}
//
String configFileFullPath = Path.Combine(ApplicationBase, configFileName);
//
//Console.WriteLine("[Load File] " + System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + configFileName);
Globals.out.println(SR.GetString(SR.getLoadFile(), configFileFullPath));
configDoc.Load(configFileFullPath);
//IP信息
XmlNode node = configDoc.SelectSingleNode("/SilverFoxConfig/group/main-server");
if (null == node)
{
Console.ForegroundColor = ConsoleColor.Red;
Globals.out.println(SR.GetString(SR.getCan_not_find_node(),"/SilverFoxConfig/group/main-server"));
Console.ForegroundColor = ConsoleColor.Green;
}
//
String n = node.ChildNodes()[0].getText();
Program.GAME_NAME = n;
String ipAdr = node.ChildNodes()[1].getText();
int port = Integer.parseInt(node.ChildNodes()[2].getText());
//
XmlNode connectServersNode = configDoc.SelectSingleNode("/SilverFoxConfig/group/connect-servers");//game-server
int connectServersCount = connectServersNode.ChildNodes().length;
//ArrayList<SocketConnector> connectServerList = new ArrayList<SocketConnector>() {};
ConcurrentHashMap connectServerList = Globals.mainWindowModel.getConnectServerList();
for(int i=0;i<connectServersCount;i++)
{
Element gameServerNode = connectServersNode.ChildNodes()[i];
String connectName = gameServerNode.getChildText("n");
String connectIp = gameServerNode.getChildText("ip");
int connectPort = Integer.parseInt(gameServerNode.getChildText("port"));
String connectProof = gameServerNode.getChildText("proof");
SocketConnector connector = new SocketConnector(connectProof,connectName);
connector.setHandler(new GameServerHandler(connectName));
connectServerList.put(connectName,connector);
connector.connect(connectIp, connectPort);
}
//------------------------------------------------------
Globals.out.println(SR.GetString(SR.getLoadFileSuccess()));
Globals.mainWindowModel.acceptor = new SocketAcceptor(GAME_NAME);
SocketAcceptor acceptor = Globals.mainWindowModel.acceptor;
acceptor.setHandler(new GameClientHandler(),true);
//最后启动外网侦听
acceptor.bind(port, false);
} catch (JDOMException | IOException ex) {
Globals.out.println(ex.getMessage());
}
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

内容可能含有违规信息
暂无标签
Apache-2.0
使用 Apache-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/U3DDevelopment/SilverFoxServer.git
git@gitee.com:U3DDevelopment/SilverFoxServer.git
U3DDevelopment
SilverFoxServer
project_3581127
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /