如何在Windows下搭建一个基于Forge的Minecraft服务器
先说说我的环境:
- Java:
[cc lang=”powershell”] java version “1.8.0_241” Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)[/cc]* OS:Windows 7 旗舰版 - MC:1.12.2
- Forge:forge-1.12.2-14.23.5.2847
下载Forge
Forge官网:https://files.minecraftforge.net;
打开官网后再左侧找到1.12.2的版本号,然后单击;
之后单击Installer;
先会跳转到一个广告页面,等待一段时间,页面右上角就会显示skip按钮,点击skip按钮,下载就会开始啦。(打不开或者太慢请自行科学上网)
安装
双击下载好的.jar,打开后先单击Install server,然后单击**…**选择要安装到的文件夹,选好之后单击确定开始安装。
安装正在进行的界面是这样的:
这个界面会持续的时间取决于你的网络状况。
安装成功的界面是这样的:
如果不是这个界面就说明安装失败了,需要重新安装。
国内环境下安装失败的原因多半都是[cci]minecraftserver_1.12.2.jar[/cci]下载失败,解决办法有两个:1. 科学上网;
2. 自己另外找个地方下载一个然后手动放进安装目录。
这是安装成功后的文件夹状况(图标有可能不同,这取决于你的系统环境):
第一次运行
新建一个启动脚本
新建一个文本文档,随后重命名为[cci]ServerStart.bat[/cci]。
之后右键-编辑。
输入
[cc lang=”powershell”]java -jar forge-1.12.2-14.23.5.2847-universal.jar -Xms512M -Xmx1200M[/cc]
然后保存退出。
[cci]-Xms[/cci]:最下内存
[cci]-Xmx[/cci]:最大内存占用,不要超过系统的可用内存
第一次运行服务器
双击刚才保存好的[cci]ServerStart.bat[/cci],第一次运行服务器:
之后,它会自动退出,因为你还得同意Mojang的EULA。
同意Mojang的条款
回到服务器根目录,会发现多出来了一些文件/文件夹。
双击打开[cci]eula.txt[/cci],将[cci]false[/cci]改为[cci]true[/cci]。
保存退出。
开服
双击[cci]ServerStart.bat[/cci],启动服务器。
当控制台里出现
[cc lang=”powershell”][Server thread/INFO] [minecraft/DedicatedServer]: Done (4.299s)! For help, type “help” or “?”[/cc]
说明服务器启动成功了。
上面两张图左边的是控制台,右边的是带GUI的控制台,如果不想要右边这个,可以回到新建启动脚本那一步,在脚本最后加上[cci]nogui[/cci]。
好,大功告成,现在就可以打开MC进服务器看看了,自己电脑开服的ip是127.0.0.1,默认端口25565。
因为是Forge服务器,所以是支持mod的,在服务器的根目录可以看到mods文件夹。想加什么mod丢进去就行了,当然客户端也要加。
祝你玩得愉快。
EasyScoreboards(ESB)
安装
安装过程非常简单,只需几个简单的步骤:
- 下载 插件
- 把下载好的插件放入你的 Sponge 服务端 mods 文件夹
- 启动服务器
- 编辑配置文件:[cci]config/de_yottaflops_easyscoreboard.conf[/cci]
- 重载 ESB。[cci]/sponge plugins reload/esb reload/easyscoreboard reload[/cci]
安装可选插件:PlaceholderAPI(PAPI)
- 下载插件
- 把下载好的插件放入你的 Sponge 服务端 mods 文件夹
- 通过编辑 EasyScoreboards 的配置文件来向 EasyScoreboards 加入占位符。 这是一个 PAPI 内置的占位符列表。您还可以添加插件,在API中添加更多的占位符
- 重启服务器
命令
你可以使用[cci]/esb[/cci]或[cci]/easyscoreboard[/cci]来启动所有 EasyScoreboards 的命令。它们有完全相同的效果。
计分板
[cci]/esb clear[/cci] 完整地清除计分板的内容。注意:使用这个命令将无法挽回被清除的内容。
[cci]/esb hide[/cci]对使用该命令的玩家隐藏 计分板。当 计分板 显示的是一些新手教程时,这个命令将会非常有用。
[cci]/esb show[/cci]对使用该命令的玩家显示计分板。
[cci]/esb showall[/cci]对所有玩家显示计分板。如果某人使用了[cci]/esb hide[/cci],这个命令将不会对他生效。
[cci]/esb hideall[/cci]对所有玩家隐藏计分板,没有例外。
倒计时
[cci]/esb countdown set [/cci]在记分板上,EasyScoreboards 还提供了一个完整的倒计时系统。每个服务器只能同时运行一个倒计时。你可以使用这个命令来设置一个新的倒计时。
注意
[cci][/cci]将会在倒计时结束后执行。
你可以写任何东西,从 聊天 到 放置一个方块来召唤一只怪物。
若要在命令中使用双引号 **”**,请用单引号 ‘ 替换。
[cci]/esb countdown add[/cci]添加一些时间到倒计时。这不会影响任何配置。
[cci]/esb countdown xp[/cci]是否在玩家的经验栏体现倒计时。
注意
如果倒数超过几分钟,不建议使用XP倒计时,因为倒计时不会区分小时、分钟和秒。
[cci]/esb countdown chat[/cci]是否在聊天栏显示倒计时。
[cci]/esb countdown title[/cci]是否在标题显示倒计时。
倒计时将会在标题和聊天栏这样显示:
- 如果剩余时间大于 3600 秒(1 小时),则每小时通知一次
- 如果剩余时间在 600 秒(10 分钟)和 3600 秒(60 分钟)之间,则每 10 分钟通知一次
- 如果剩余时间在 60 秒(1 分钟)和 600 (10 分钟)秒之间,则每分钟通知一次
- 如果剩余时间在 10 秒和 60 秒之间,则每 10 秒通知一次
- 如果剩余时间小于 5 秒,则每秒钟通知一次
[cci]/esb countdown start[/cci]开始倒计时。
[cci]/esb countdown stop[/cci]暂停倒计时。倒计时将会在[cci]/esb countdown start[/cci]之后继续运行
[cci]/esb countdown reset[/cci]重设倒计时。
重启服务器时,倒计时将会停止并重置。
其他
要重新加载配置文件,只需使用[cci]/sponge plugins reload[/cci]来重新加载所有插件,或者使用 [cci]/esb reload[/cci]重新加载 EasyScoreboards。执行这条命令,配置文件的改动将被立即应用。
配置文件
可以在[cci]config/de_yottaflops_easyscoreboard.conf[/cci]找到配置文件
注意
配置文件不支持制表符,即 TAB。
这是一个示例,展示如何使用占位符
[cc lang=”java”]
scoreboard {
countdown {
chat=true
command=”say The countdown is over”
time=11
title=true
xp=false
}
hideFor=” “
lines=[
“number=%TPS%, text=TPS:”,
“number=-1, text=Hello %PLAYERNAME%”,
“number=%ONLINECOUNT%, text=Players online:”
]
showForAll=true
tabFooter=””
tabHeader=””
tabRemovePlayerNames=false
}
[/cc]
这是另一个示例,展示如何使用来自 PAPI 的占位符
[cc lang=”java”]
scoreboard {
countdown {
chat=true
command=”say The countdown is over”
time=11
title=true
xp=false
}
hideFor=” “
lines=[
“number=-1, text=&aHello %player_name%”,
“number=9, text=&5Welcome to the; &ese;&6rv;&cer”,
“number=8, text=——————–”,
“number=7, text=&aTime Played:”,
“number=6, text= %player_time_played%”,
“number=5, text=——————–”,
“number=4, text=&aPlayers Online:”,
“number=3, text= %server_online%”,
“number=2, text=——————–”,
“number=1, text=&aCountdown:”,
“number=0, text= %COUNTDOWN%”,
]
placeholderUpdateTicks=20
showForAll=true
tabFooter=””
tabHeader=””
tabRemovePlayerNames=false
}
[/cc]
TAB 菜单的示例
[cc lang=”java”]
scoreboard {
countdown {
chat=true
command=”say The countdown is over”
time=11
title=true
xp=false
}
hideFor=””
lines=[]
placeholderUpdateTicks=20
showForAll=true
tabFooter=””
tabHeader=”
&l&6Welcome;&l&d %player_name%;\n
&ato the;&a&l best;&a server in the world\n\n
With this feature you can basically write\n
whatever you want into the tab bar.\n\n
&a(These things are so stylish!)”
tabRemovePlayerNames=true
}
[/cc]
你可以使用任何数字,或者一个返回数字的占位符。
在计分板中,每一行是按照数字的大小进行降序排列的。
被标记为 -1 的行,将会作为标题显示在计分板中。
text部分可以使用文本,占位符,颜色,样式。
占位符
颜色
AQUA
&b
BLUE
&9
GOLD
&6
GREEN
&a
YELLOW
&e
RED
&c
LIGHT_PURPLE
&d
DARK_AQUA
&3
DARK_BLUE
&1
DARK_GREEN
&2
DARK_RED
&4
DARK_PURPLE
&5
WHITE
&f
GRAY
&7
DARK_GRAY
&8
BLACK
&0
文本将以相应的颜色显示。若要在一行中使用多种颜色,请在每个部分后面放一个分号。
样式
BLOD
&l
OBFUSCATED
&k
ITALIC
&o
STRIKETHROUGH
&m
UNDERLINE
&n
文本将以相应的样式显示。若要在一行中使用多种样式,请在每个部分后面放一个分号。
占位符
在计分板中使用占位符时请注意,一些占位符会频繁的请求数据,这将会消耗大量的系统资源。
[cci]%PLAYERNAME%[/cci]看到该计分板的玩家的名字
[cci]%PLAYERBALANCE%[/cci]余额,如果安装了经济插件,将会使用Sponge Economy API
[cci]%PLAYERBALANCEWRAP%[/cci]将以 1.2 k或 34.5m 的样式显示玩家的余额
注意
在 1.8 经济 API 并没有被应用,所以当使用[cci]%PLAYERBALANCE%[/cci]或 [cci]%PLAYERBALANCEWRAP%[/cci]后,控制台将会返回[cci]error[/cci]。
[cci]%ONLINECOUNT%[/cci]当前服务器的在线人数
[cci]%COUNTDOWN%[/cci]倒计时。时间以 小时 分钟 秒 显示
[cci]%TPS%[/cci]最近 10 秒的平均 TPS。10 秒更新一次
[cci]%MTIME%[/cci]当前的 Minecraft 时间。每 8.35 秒(10 Minecraft-Minutes)更新一次
权限
[cc]
easyscoreboard.use
easyscoreboard.clear
easyscoreboard.show
easyscoreboard.hide
easyscoreboard.showall
easyscoreboard.hideall
easyscoreboard.reload
easyscoreboard.countdown.use
easyscoreboard.countdown.set
easyscoreboard.countdown.add
easyscoreboard.countdown.start
easyscoreboard.countdown.stop
easyscoreboard.countdown.reset
easyscoreboard.countdown.xp
easyscoreboard.countdown.chat
easyscoreboard.countdown.title
[/cc]
贡献
由于本软件在MIT许可下获得许可,您基本上可以获得代码的拷贝,并开始从其中编辑。
但是,对于所有用户来说,如果您只是派生存储库,然后为主存储库创建一个pull请求,那就太好了。(只有当您认为更多的用户将从您的更改中获益时才行。)
如果只包含特定于服务器的内容,那么在这种状态下对所有用户可能都没有用处。不过,如果这对其他人有帮助的话,我很乐意在主插件中实现一个更通用的版本。
所以,请不要使用同一插件的许多不同版本,所有的插件都有一些东西让它们变得更好。让我们为所有用户创建一个美好的东西。
Greetings YottaFLOPS
Translated by SnowMoonSS from EasyScoredboard wiki