![]() 中级会员
|
盘点搭建游戏服务器的方法
最近有点沉迷于各种局域网游戏,局域网游戏什么都好,就是想要和朋友一起玩就会有点麻烦需要自己搭建游戏服务器。以下就是我总结的网上的一些游戏服务器搭建的方法。 需要,花生壳(内网穿透)服务、“我的世界”服务端(可在www.mcbbs.net下载我用的是Minecraft 1.6.2 (附开服器,无MOD,Forge9.10.0.845)。 1.安装花生壳客户端,输入oray帐号密码登录(如没有oray帐号则先点界面右下角 注册帐号)。 2.登录成功,花生壳主界面里面有三个模块分别是“域名列表”、“内网穿透”、“自诊断”。 3.点击“内网穿透”,则跳转至花生壳管理内网穿透页面; 点击界面右上角“添加映射”按钮。 4.在命令提示符界面,输入ipconfig查看电脑的IP。 5.设置服务器配置(端口和ip)。 6.添加花生壳映射。 注:如果有在花生壳官网购买过固定的端口,外网端口选固定端口填写购买的端口,反则选择临时端口。 7.添加成功,产生一个外网访问地址。 8.开启服务器。 9.在局域网找另外的电脑登录,测试使用内网ip是否能连接上服务器。 10.显示服务器开启成功。 11.在外网连接测试,先点多人游戏。 二.该方法来自nice高防服务器的博客 建议去靠谱的IDC服务商那里租用一台游戏服务器,选择一台性能稍高的游戏服务器(比如说八核的服务器),推荐安装Ubuntu系统。这时你准备一个SSH 客户端,用来连接到你的Linux服务器。 我们使用默认的 Vanilla 服务端。你也可以使用像 CraftBukkit 或 Spigot 这样的服务端,来支持更多的自定义和插件。 第一步,登录到游戏服务器,我们将使用 root 账户。如果你使用受限的账户的话,大部分命令都需要 sudo。做你没有权限的事情时会出现警告。你可以通过 SSH 客户端来登录你的服务器。使用你的 IP 和端口(大部分都是 22)。 第二步,更新 Ubuntu,在你做任何事之前都要先更新你的 Ubuntu。你可以通过以下命令更新: apt-get update && apt-get upgrade 在提示时敲击“回车键” 和/或 y。 第三步,安装必要的工具,在搭建的过程中你需要一些工具和软件来编辑文本、长久保持服务端运行等。使用下面的命令安装: apt-get install nano wget screen bash default-jdk ufw 其中一些可能已经安装好了。 第四步,下载“我的世界”服务端,首先,创建一个目录来保存你的“我的世界”服务端和其他文件: mkdir /opt/minecraft 然后进入新目录: cd /opt/minecraft 现在你可以下载“我的世界“服务端文件了。去往下载页面获取下载链接。使用 wget 下载文件: wget https://s3.amazonaws.com/Minecraft.D...ver.1.12.2.jar 第五步,下载好了服务端的 .jar 文件之后,你就需要先运行一下,它会生成一些文件,包括一个 eula.txt 许可文件。第一次运行的时候,它会返回一个错误并退出。这是正常的。使用下面的命令运行它: java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui -Xms2048M 是你的服务端能使用的最小的内存,-Xmx3472M 是最大的内存。调整基于你服务器的硬件资源。 在这条命令结束并返回一个错误之后,将会生成一个新的 eula.txt 文件。你需要同意那个文件里的协议。你可以通过下面这条命令将 eula=true 添加到文件中: sed -i.orig 's/eula=false/eula=true/g' eula.txt 你现在可以通过和上面一样的命令来开启服务端并进入“我的世界”服务端控制台了: java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui 确保你在 /opt/minecraft 目录,或者其他你安装你的 MC 服务端的目录下。 如果你只是测试或暂时需要的话,到这里就可以停了。如果你在登录服务器时有问题的话,你就需要配置你的防火墙。 第一次成功启动服务端时会花费一点时间来生成。接着我们创建一个自动启动服务端的 bash 脚本。 首先,使用 nano 创建一个 bash 脚本: nano /opt/minecraft/startminecraft.sh 这将会打开一个新的(空白)文件。粘贴以下内容: #!/bin/bash cd /opt/minecraft/ && java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui 如果你不熟悉 nano 的话 - 你可以使用 CTRL + X,再敲击 Y,然后回车。这个脚本将进入你先前创建的“我的世界”服务端并运行 Java 命令来开启服务端。你需要执行下面的命令来使脚本可执行: chmod +x startminecraft.sh 然后,你就可以通过下面的命令随时运行服务端了: /opt/minecraft/startminecraft.sh 但是,如果/当你登出 SSH 会话的话,服务端就会关闭。要想让服务端不登录也持续运行的话,你可以使用 screen 会话。screen 会话会一直运行,直到实际的服务器被关闭或重启。 使用下面的命令开启一个 screen 会话: screen -S minecraft 一旦你进入了 screen 会话(看起来就像是你新建了一个 SSH 会话),你就可以使用先前创建的 bash 脚本来启动服务端: /opt/minecraft/startminecraft.sh 要退出 screen 会话的话,你应该按 CTRL+A-D。即使你离开 screen 会话(断开的),服务端也会继续运行。你现在可以安全的登出 Ubuntu 服务器了,你创建的“我的世界”服务端将会继续运行。 但是,如果 Ubuntu 服务器重启或关闭了的话,screen 会话将不再起作用。所以为了让我们之前做的这些在启动时自动运行,做下面这些: 打开 /etc/rc.local 文件: nano /etc/rc.local 在 exit 0 语句前添加如下内容: screen -dm -S minecraft /opt/minecraft/startminecraft.sh exit 0 保存并关闭文件。 要访问“我的世界”服务端控制台,只需运行下面的命令来重新连接 screen 会话: screen -r minecraft 现在就是这样。祝贺你,玩的开心!你现在可以连接到你的“我的世界”服务端或配置/修改它了。 下面我们来讲一下配置Ubuntu服务器 一、开启并配置防火墙 首先,如果防火墙还没有开启的话,你应该先开启先前安装的 UFW: ufw enable 你应该开放默认的“我的世界”服务端端口: ufw allow 25565/tcp 你应该根据你的使用情况开放或拒绝其他规则。如果你不用服务器负载网站的话,就应该拒绝 80 和 443 端口。搜索一下 Ubuntu 的 UFW/防火墙指南,你会看到很多参考文章的。设置防火墙的时候小心一些,如果你屏蔽了 SSH 端口的话你会把自己锁在服务器外面。 由于这是默认端口,这个端口经常被扫描以及攻击。你可以通过屏蔽白名单之外的访问权限来阻挡攻击。 首先,你需要在你的 server.properties 文件中开启白名单模式。要开启的话,打开文件: nano /opt/minecraft/server.properties 并将 white-list 行改为 true: white-list=true 保存并关闭文件。 然后重启你的服务器(重启你的服务器或重新运行启动脚本): /opt/minecraft/startminecraft.sh 访问“我的世界”服务端控制台: screen -r minecraft 如果你想要某人进入你的服务端,你需要通过以下命令把他们添加到白名单: whitelist add PlayerUsername 运行以下命令来将他们移出白名单: whitelist remove PlayerUsername 使用 CTRL+A-D 来退出 screen(服务器控制台)。值得注意的是,这会拒绝除白名单以外的所有人连接到服务端。 “我的世界”是一款由Mojang AB和4J Studios开发的高自由度的沙盒游戏,于2009年5月13日发行。该游戏让每一个玩家在三维空间中自由地创造和破坏不同种类的方块,玩家在游戏中的形象可以在单人或多人模式中通过摧毁或创造方块以创造精妙绝伦的建筑物和艺术,或者收集物品探索地图以完成游戏的主线。其火热程度至今没减,今天锐讯小编就跟大家说说如何搭建“我的世界”服务器。 服务器的选择 有些朋友想,可以用家里的电脑做“我的世界”的服务器,这里要注意几个问题: 你的家庭网络不够安全,无法抵挡 DDoS 攻击。游戏服务器通常容易被 DDoS 攻击,而你的家庭网络设置通常不够安全,来抵挡它们。 你需要处理端口转发。如果你在家庭网络中搭建“我的世界”服务器的话,你肯定会偶然发现端口转发的问题,并且处理时可能会有问题。 你得保持你的电脑一直开着。 增加不必要的开资,服务器要全天24小时运行,由此会产生巨额的电费。并且你会增加不必要的硬件负载,大部分服务器硬件都是企业级的,提升了稳定性和持久性,专门设计用来处理负载。家庭网络人网速不够快。家庭网络并不是设计用来负载多人联机游戏的。即使你想搭建一个小型服务器,你也需要一个更好的网络套餐。幸运的是,数据中心有多个高速的、企业级的互联网连接,来保证他们达到(或尽量达到)100%在线。 服务器系统,个人电脑很可能是 Windows/MacOS。一般认为Linux更适合搭建游戏服务器。 因此,建议去靠谱的IDC服务商那里租用一台游戏服务器,选择一台性能稍高的游戏服务器(比如说八核的服务器),推荐安装Ubuntu系统。这时你准备一个SSH 客户端,用来连接到你的Linux服务器。 我们使用默认的 Vanilla 服务端。你也可以使用像 CraftBukkit 或 Spigot 这样的服务端,来支持更多的自定义和插件。 第一步,登录到游戏服务器,我们将使用 root 账户。如果你使用受限的账户的话,大部分命令都需要 sudo。做你没有权限的事情时会出现警告。你可以通过 SSH 客户端来登录你的服务器。使用你的 IP 和端口(大部分都是 22)。 第二步,更新 Ubuntu,在你做任何事之前都要先更新你的 Ubuntu。你可以通过以下命令更新: apt-get update && apt-get upgrade 在提示时敲击“回车键” 和/或 y。 第三步,安装必要的工具,在搭建的过程中你需要一些工具和软件来编辑文本、长久保持服务端运行等。使用下面的命令安装: apt-get install nano wget screen bash default-jdk ufw 其中一些可能已经安装好了。 第四步,下载“我的世界”服务端,首先,创建一个目录来保存你的“我的世界”服务端和其他文件: mkdir /opt/minecraft 然后进入新目录: cd /opt/minecraft 现在你可以下载“我的世界“服务端文件了。去往下载页面获取下载链接。使用 wget 下载文件: wget https://s3.amazonaws.com/Minecraft.D...ver.1.12.2.jar 第五步,下载好了服务端的 .jar 文件之后,你就需要先运行一下,它会生成一些文件,包括一个 eula.txt 许可文件。第一次运行的时候,它会返回一个错误并退出。这是正常的。使用下面的命令运行它: java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui -Xms2048M 是你的服务端能使用的最小的内存,-Xmx3472M 是最大的内存。调整基于你服务器的硬件资源。 在这条命令结束并返回一个错误之后,将会生成一个新的 eula.txt 文件。你需要同意那个文件里的协议。你可以通过下面这条命令将 eula=true 添加到文件中: sed -i.orig 's/eula=false/eula=true/g' eula.txt 你现在可以通过和上面一样的命令来开启服务端并进入“我的世界”服务端控制台了: java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui 确保你在 /opt/minecraft 目录,或者其他你安装你的 MC 服务端的目录下。 如果你只是测试或暂时需要的话,到这里就可以停了。如果你在登录服务器时有问题的话,你就需要配置你的防火墙。 第一次成功启动服务端时会花费一点时间来生成。接着我们创建一个自动启动服务端的 bash 脚本。 首先,使用 nano 创建一个 bash 脚本: nano /opt/minecraft/startminecraft.sh 这将会打开一个新的(空白)文件。粘贴以下内容: #!/bin/bash cd /opt/minecraft/ && java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui 如果你不熟悉 nano 的话 - 你可以使用 CTRL + X,再敲击 Y,然后回车。这个脚本将进入你先前创建的“我的世界”服务端并运行 Java 命令来开启服务端。你需要执行下面的命令来使脚本可执行: chmod +x startminecraft.sh 然后,你就可以通过下面的命令随时运行服务端了: /opt/minecraft/startminecraft.sh 但是,如果/当你登出 SSH 会话的话,服务端就会关闭。要想让服务端不登录也持续运行的话,你可以使用 screen 会话。screen 会话会一直运行,直到实际的服务器被关闭或重启。 使用下面的命令开启一个 screen 会话: screen -S minecraft 一旦你进入了 screen 会话(看起来就像是你新建了一个 SSH 会话),你就可以使用先前创建的 bash 脚本来启动服务端: /opt/minecraft/startminecraft.sh 要退出 screen 会话的话,你应该按 CTRL+A-D。即使你离开 screen 会话(断开的),服务端也会继续运行。你现在可以安全的登出 Ubuntu 服务器了,你创建的“我的世界”服务端将会继续运行。 但是,如果 Ubuntu 服务器重启或关闭了的话,screen 会话将不再起作用。所以为了让我们之前做的这些在启动时自动运行,做下面这些: 打开 /etc/rc.local 文件: nano /etc/rc.local 在 exit 0 语句前添加如下内容: screen -dm -S minecraft /opt/minecraft/startminecraft.sh exit 0 保存并关闭文件。 要访问“我的世界”服务端控制台,只需运行下面的命令来重新连接 screen 会话: screen -r minecraft 现在就是这样。祝贺你,玩的开心!你现在可以连接到你的“我的世界”服务端或配置/修改它了。 下面我们来讲一下配置Ubuntu服务器 一、开启并配置防火墙 首先,如果防火墙还没有开启的话,你应该先开启先前安装的 UFW: ufw enable 你应该开放默认的“我的世界”服务端端口: ufw allow 25565/tcp 你应该根据你的使用情况开放或拒绝其他规则。如果你不用服务器负载网站的话,就应该拒绝 80 和 443 端口。搜索一下 Ubuntu 的 UFW/防火墙指南,你会看到很多参考文章的。设置防火墙的时候小心一些,如果你屏蔽了 SSH 端口的话你会把自己锁在服务器外面。 由于这是默认端口,这个端口经常被扫描以及攻击。你可以通过屏蔽白名单之外的访问权限来阻挡攻击。 首先,你需要在你的 server.properties 文件中开启白名单模式。要开启的话,打开文件: nano /opt/minecraft/server.properties 并将 white-list 行改为 true: white-list=true 保存并关闭文件。 然后重启你的服务器(重启你的服务器或重新运行启动脚本): /opt/minecraft/startminecraft.sh 访问“我的世界”服务端控制台: screen -r minecraft 如果你想要某人进入你的服务端,你需要通过以下命令把他们添加到白名单: whitelist add PlayerUsername 运行以下命令来将他们移出白名单: whitelist remove PlayerUsername 使用 CTRL+A-D 来退出 screen(服务器控制台)。值得注意的是,这会拒绝除白名单以外的所有人连接到服务端。 12.然后点直接连接。 13.把映射后外网访问地址一串复制进去(别忘了端口号)。 14.登录中。 15.登录成功。 我使用的是邻居路由器上网,并且没有路由器设置密码(不是默认密码),没法开端口映射,路由器也没开UPnP,试过很多方法都不行,金万维的nat版免费 就15天而且需要客户端也不好,自动端口映射工具也没效果。就选择了花生壳无需公网ip,无需端口映射。 |
||
![]() |