夺城游戏浩方开始显示服务器用的哪个服务器不知道了怎么办

夺城游戏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
&&职场管理小游戏
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢你好,我之前玩过的游戏忘记当初在哪个服务器玩了,可以查询吗_百度知道
你好,我之前玩过的游戏忘记当初在哪个服务器玩了,可以查询吗
我有更好的答案
你之前玩的是什么游戏啊亲
要是你实在想知道的话你可以找客服问问啊
为您推荐:
其他类似问题
服务器的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)一,如何正确的关闭游戏服务器
1,最简单粗爆的方法
在Linux系统上,使用ps -aux|grep java 可以查到所有运行的java程序的pid,即进程号,然后使用kill - 9 进程号,杀死一个进程。
这样做虽然简单快速,但是会有一个问题,如果我们运行的服务器有缓存的数据,还没有来得及进行持久化存储,那么这样操作,内存中的数据就会丢失。kill - 9是一个必杀命令,不管进程处于什么状态,都是杀无赦,它不会给进程留下任何善后的机会。那么该如何正确的关闭游戏服务器吧?
2,优雅的关闭进程
优雅的关闭进程,就是在收到关闭进程的命令后,进程进行一些数据处理,比如:
1,不再接收连接
2,不再接收数据
3,把未持久化的数据进行持久化
4,清理一些临时文件等
5,执行一些已经提交到线程池中但未执行的任务
& 3,Java进程如何接收进程停止命令
1,JVM 关闭钩子
关闭钩子本质上是一个线程(也称为Hook线程),用来监听JVM的关闭。通过使用Runtime的addShutdownHook(Thread hook)可以向JVM注册一个关闭钩子。Hook线程在JVM 正常关闭才会执行,在强制关闭时不会执行。
这个钩子可以在一下几种场景中被调用:
1. 程序正常退出
2. 使用System.exit()
3. 终端使用Ctrl+C触发的中断
4. 系统关闭
5. OutOfMemory宕机
6. 使用Kill pid命令干掉进程(注:在使用kill -9 pid时,是不会被调用的)
对于一个JVM中注册的多个关闭钩子它们将会并发执行,所以JVM并不能保证它的执行顺行。当所有的Hook线程执行完毕后,如果此时runFinalizersOnExit为true,那么JVM将先运行终结器,然后停止。Hook线程会延迟JVM的关闭时间,这就要求在编写钩子过程中必须要尽可能的减少Hook线程的执行时间。另外由于多个钩子是并发执行的,那么很可能因为代码不当导致出现竞态条件或死锁等问题,为了避免该问题,强烈建议在一个钩子中执行一系列操作。
另外在使用关闭钩子还要注意以下几点:
1. 不能在钩子调用System.exit(),否则卡住JVM的关闭过程,但是可以调用Runtime.halt()。
2. 不能再钩子中再进行钩子的添加和删掉操作,否则将会抛出IllegalStateException。
3. 在System.exit()之后添加的钩子无效。
4. 当JVM收到SIGTERM命令(比如操作系统在关闭时)后,如果钩子线程在一定时间没有完成,那么Hook线程可能在执行过程中被终止。
5. Hool线程中同样会抛出异常,如果抛出异常又不处理,那么钩子的执行序列就会被停止。
下面是一个简单的示例:
public class T {
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
//启用退出JVM时执行Finalizer
Runtime.runFinalizersOnExit(true);
MyHook hook1 = new MyHook("Hook1");
MyHook hook2 = new MyHook("Hook2");
MyHook hook3 = new MyHook("Hook3");
//注册关闭钩子
Runtime.getRuntime().addShutdownHook(hook1);
Runtime.getRuntime().addShutdownHook(hook2);
Runtime.getRuntime().addShutdownHook(hook3);
//移除关闭钩子
Runtime.getRuntime().removeShutdownHook(hook3);
//Main线程将在执行这句之后退出
System.out.println("Main Thread Ends.");
class MyHook extends Thread {
public MyHook (String name) {
this.name =
setName(name);
public void run() {
System.out.println(name + " Ends.");
//重写Finalizer,将在关闭钩子后调用
protected void finalize() throws Throwable {
System.out.println(name + " Finalize.");
和(可能的)执行结果(因为JVM不保证关闭钩子的调用顺序,因此结果中的第二、三行可能出现相反的顺序):
Main Thread Ends.
Hook2 Ends.
Hook1 Ends.
Hook3 Finalize.
Hook2 Finalize.
Hook1 Finalize.
可以看到,main函数执行完成,首先输出的是Main Thread Ends,接下来执行关闭钩子,输出Hook2 Ends和Hook1 Ends。这两行也可以证实:JVM确实不是以注册的顺序来调用关闭钩子的。而由于hook3在调用了addShutdownHook后,接着对其调用了removeShutdownHook将其移除,于是hook3在JVM退出时没有执行,因此没有输出Hook3 Ends。
另外,由于MyHook类实现了finalize方法,而main函数中第一行又通过Runtime.runFinalizersOnExit(true)打开了退出JVM时执行Finalizer的开关,于是3个hook对象的finalize方法被调用,输出了3行Finalize。
注意,多次调用addShutdownHook来注册同一个关闭钩子将会抛出IllegalArgumentException:
Exception in thread "main" java.lang.IllegalArgumentException: Hook previously registered
at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:72)
at java.lang.Runtime.addShutdownHook(Runtime.java:211)
at T.main(T.java:12)
另外,从JavaDoc中得知:
& &Once the shutdown sequence has begun it can be stopped only by invoking the halt method, which forcibly terminates the virtual machine.
& &Once the shutdown sequence has begun it is impossible to register a new shutdown hook or de-register a previously-registered hook. Attempting either of these operations will cause an IllegalStateException to be thrown.
“一旦JVM关闭流程开始,就只能通过调用halt方法来停止该流程,也不可能再注册或移除关闭钩子了,这些操作将导致抛出IllegalStateException”。
如果在关闭钩子中关闭应用程序的公共的组件,如日志服务,或者数据库连接等,像下面这样:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
LogService.this.stop();
} catch (InterruptedException ignored){
由于关闭钩子将并发执行,因此在关闭日志时可能导致其他需要日志服务的关闭钩子产生问题。为了避免这种情况,可以使关闭钩子不依赖那些可能被应用程序或其他关闭钩子关闭的服务。实现这种功能的一种方式是对所有服务使用同一个关闭钩子(而不是每个服务使用一个不同的关闭钩子),并且在该关闭钩子中执行一系列的关闭操作。这确保了关闭操作在单个线程中串行执行,从而避免了在关闭操作之前出现竞态条件或死锁等问题。
二,在游戏服务器中添加关闭钩子
public class ShutDownService {
private static CommonLog gameLogger = CommonLog.getInstance();
private static List&IShutDown& shutDownList = new ArrayList&&();
//注册需要在关闭钩子中执行的任务
public static void registShutDown(IShutDown shutDownServer) {
shutDownList.add(shutDownServer);
public static void startShutDownHook() {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
gameLogger.warn(0, "开始关闭服务器,正在清理资源.....");
for (IShutDown shutDown : shutDownList) {
if (shutDown != null) {
shutDown.shutDown();
while (!shutDown.isTerminated()) {
gameLogger.warn(0, "----关闭" + shutDown.getClass().getName() + "成功----");
gameLogger.warn(0, "###---服务器关闭成功---###");
三,Linux脚本根据端口杀死一个进程
#!/bin/bash
echo "重新启动服务"
jar_name=GameLogicServer.jar
PROCESS=`ps -ef|grep ${jar_name} |grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
echo ######Kill the ${jar_name} process [ $i ] ########"
kill -15 $i
while true
OLD_PROCESS=`ps -ef|grep ${jar_name} |grep -v grep|grep -v PPID|awk '{ print $2}'`
if [ "${OLD_PROCESS}" = "" ]
echo "${PROCESS}进程已杀死成功,开始启动新的进程"
echo "正在等待${PROCESS}进程关闭....."
nohup java -server -agentpath:/usr/jprofiler9/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8849,nowait -jar ${jar_name} & console.out 2&&1 &
echo "服务器启动完成"
阅读(...) 评论()您现在的位置:&&&&少年群侠传夺城战怎么打
夺城战,在少年群侠传夺城战的前一天,帮会争霸前十的帮会可以获得参战资格,而在夺城战当天资格帮会会按照积分排名顺序,举行两两对战,全服一共有10块城池,不同资格争夺的城池也是不同的,在游戏中击杀资源小怪可以获得资源,以兑换攻城器械,器械的超远射程可以克制箭塔,箭塔对敌方玩家和攻城器械造成的伤害是非常大的,而后面箭塔和帮旗是无法被攻击的,攻击箭塔、复活图腾、敌方玩家、资源小怪,都可以获得一定的个人积分,帮会积分、击杀可以获得更多的积分。
在对战中每隔10秒钟帮会的旗帜会给本方的玩家增加一次个人积分和帮会积分,所以大家要注意参加,基本只要参加就可以获得奖励,在游戏中能够摧毁对方帮旗的可以获得最后的胜利,而如果双方都没有摧毁对方的帮旗,那么在时间结束的时候哪个帮会获得的分值高,哪个帮会可以获得最后的胜利,如果玩家朋友在游戏中不是前十帮派无法参与活动,我们可以参与对战竞猜,我们每一场对战可以选择支持,而我们只要参与就能获得一份奖励,而支持胜利猜对了可以获得另一份奖励。
在这个玩法中我们可以获得的奖励也是非常丰厚的帮助可以获得京城霸主的称号,增加战斗力8100点,非常霸气的存在,而普通的成员可以在游戏中获得帮会精华、帮派贡献、灵印,以上道具在游戏中都是高消耗道具,现在获取难度不高,大家努力获取。
本文由玩家提供,文章观点不代表官方意见,仅供参考!
看过本文的人还看了
热门游戏开服表
双线431服 14:00
双线1服 14:00
双线801服 14:00
双线2140服 14:00
双线590服 14:00
双线111服 14:00
双线8服 14:00
双线1服 14:00
双线1服 14:00
双线44服 14:00

我要回帖

更多关于 夺城之誓3 的文章

 

随机推荐