服务端的bat启动文件简单教程

一个给早喵和柑橘所写的简单bat教程,别指望质量


之前在和柑橘和早喵讨论服务器的时候,他们不约而同的表示了对服务器启动脚本的不了解。所以我这里写了一篇简单的bat启动脚本教程,希望能以我自己尚且很小白的教程来略微指导他们一下。

1. 什么是bat启动脚本?服务器为啥要用它?

bat实际上全称叫做批处理(Batch),批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中(所以那些用linux系统的,可能写的启动脚本和这个不一样)

感觉好像还是把问题讲复杂了,这么说吧:服务器的启动就需要批处理文件,就和MC需要启动器一样。这个批处理文件就起到了启动器的作用(实际上用批处理文件来做MC的启动器是完全可行的,但是要比服务器启动脚本复杂很多很多)

2. 怎么写bat来启动服务器

如果对一个服务器没有太高的要求,一般这些功能就够用了(至于什么指针压缩啥的,如果你的服务器是不多几个人玩的私服,这东西基本上用处不大。想了解的请去bbs找精品帖子,我技术不够,就不献丑了)

一般这些功能对于一个服务器启动就够了

3. 开始写bat了(其实是照猫画虎从别人的服务器那学习过来的启动脚本)

记得这个示例的bat文件需要放置在你的服务端主文件夹里面 先上代码,然后解释

ECHO OFF
:head
"C:\Program Files\Java\jre1.8.0_101\bin\java.exe" -Xmx5G -Xms5G -jar Thermos-1.7.10-1614-server.jar
ping -n 10 127.1>nul
goto head
  1. ECHO OFF部分 关闭回显功能,其实就是让打开后的命令提示行界面干净一点。没有强迫症的不写也无所谓。

  2. 循环语句部分

:head
<需要循环的代码>
goto head

这部分是用来重启服务器的,当执行到goto head部分,语句就会跳转到:head部分。这样可以循环执行语句来达到重启的目的

  1. java地址部分 也就是文中的"C:\Program Files\Java\jre1.8.0_101\bin\java.exe" 注意两件事情:首先引号不能省;其次引号里面应该是你的服务器java.exe文件的地址。

  2. 内存分配部分 这里需要注意两件事情:

-Xmx5G -Xms5G -jar,不解释了,前面是最大内存(示例为5G,实际你写的话要看看服务器给你的内存哦),后面是最小内存。-jar别忘了写。

  1. 启动部分指令 也就是实例中的Thermos-1.7.10-1614-server.jar。实际你写的bat就是调用主文件夹下面的jar来启动服务端。这个依据你用的服务端不同名字不一样,比如我这里就用的是Thermos端。 要严格注意这一段要和启动jar名字一模一样,连最后的.jar也别忘了写(即使系统隐藏了后缀名)

  2. 服务器重启部分 也就是文中的ping -n 10 127.1>nul 这里的意思就是每10秒ping自己的本服务器ip一次(准确地讲叫做回送地址,也就是文中的127.1。其实也就是127.0.0.1的简写,两个都是一样的)如果ping不了,批处理文件就执行下一行的语句,也就是这里的goto,然后返回:head部分,巧妙地达到了重启的目的。

这里的>nul的意思是不在屏幕上显示数据,不然满屏幕ping的结果,你看着也不舒服对吧

<未完待续>

11月17日读书笔记

11月17日读《中国海权力量》后笔记


今天休息时候偶然在学校图书馆看到一本《中国海权力量》的书,翻看几页之后觉得写得非常有趣而且详细。

尤其在读到书的最后关于日本的篇章时候,作者对“民族性导致落后论”批评了一番。提出了一个很有趣的话题:日本宅男和昭和时代的日本农村青年是否有区别?作者结论是:两者并没有本质区别。是特定历史条件下的产物。给出的原因有如下几点:

  1. 昭和时代青年是处于日本快速扩张时候的人物,当时大批农村无业青年可以到满洲,朝鲜等地开辟新土地殖民。
  2. 现在的日本环境自90年代金融泡沫破灭后,经济上已经处于20年的停滞时期。而现在的社会历史环境不可能像当年日本一样让其无业青年开辟新殖民地解决就业问题。想要继续产业革命,但是已经缺乏竞争力。

正是这两点原因,导致人们眼中“昭和时代青年一片武士道精神,力争上游,勇猛无畏”,现在“宅男娘炮遍地”。

这个观点的提出感觉很新颖,恰好我又想到了一个和这个类似的情况:说是中国宅男和日本宅男从根本上有很大区别:

说法可能有些夸张,但是确实表述很犀利。


Deep Resonance 教程文案

The One Probe 是由McJty制作的一个以特殊方式产生RF能量的模组


Deep Resonance (深度共振)

Deep Resonance (以下皆简称为DR)独创了一种特殊的产生RF能源方式,即创新性的创造了一种叫做共振水晶的方块来产生RF能量。整个模组主要就是围绕如何得到共振水晶和提升共振水晶质量两方面进行。鼓励玩家利用设计好的方块实现共振水晶自动化。相比于其他模组的无脑发电方式更具有游戏性。 该模组是开源的,可以在原作者的GitHub页面找到这个模组的源码。 该模组提供的方块并不多,多是与水晶自动化有关的机器。 DR一览表

该模组提供了详细的说明手册,但是由于McJty的一贯个性,并没有本地化可以用。所以这里给出手册的翻译,以及我对手册讲解的补充或者无用部分的删减(是的,删减很多。作者写了很多趣味性的话,但是这是mod教程,我就省去了。嗯,就是这样)。由于英语水平以及个人能力的有限,有错误还请诸位多多指正和见谅。


1. 共振矿石

开启这个模组冒险之旅最起始的东西,这个模组许多合成需要它做原料。当然更多时候是用来熔化制作共振水晶的。
默认在2-30的高度生成,默认尝试生成3次,默认生成5-8个。
这些都可以在配置文件中更改生成,这里给出截取的配置文件部分,这部分配置文件位于config\deepresonance\main.cfg下面471-504行。

# Chances for the ore to spawn in a chunk
# 一个区块尝试生成矿物的次数。
I:chancesToSpawn=3

# Maximum size of the ore veines
# 矿脉最大生成个数。
I:maxVeinSize=8

# Maximum ore height
# 矿石最大生成高度。
I:maxY=30

# Minimum size of the ore veines
# 矿脉最小生成个数。
I:minVeinSize=5

# Minimum ore height
# 矿石最小生成高度。
I:minY=2

# Enable this if you want to get retrogen (generation of ores/crystals) for already existing chunks
# 是否想要重新生成(在已经存在的区块上面生成矿石/共振水晶)。
B:retrogen=true

矿物采掘等级为钻石等级(也就是需要铁镐才能采集),采集掉落原矿。


2. 共振水晶

有非常小的几率在矿洞里面发现。天然发现的水晶的属性都不是很好,纯度(purity)属性不高,而且发电量很小。
这里作者有个相对比较奇怪的算法,我就不解释了。大家有兴趣的自己去看吧,我把链接放这里了:点我。 需要注意一点,共振水晶附近如果发生爆炸(比如苦力怕的爆炸),那么共振水晶也会受影响发生剧烈爆炸。爆炸的剧烈程度和水晶的强度(strength)属性有关系。
相关配置文件,这部分配置文件位于config\deepresonance\main.cfg下面471-504

# The chance that a crystal will spawn in a chunk. Higher number means less chance. 0 means no crystal will ever spawn.
# 一个区块生成水晶的几率。数值越大意味生成几率越低。数值设为0说明没有水晶生成。
I:crystalSpawnChance=15

# The number of times that the worldgen will try to spawn a crystal in a chunk before it fails.
# 一个区块尝试生成水晶的次数。
I:crystalSpawnTries=10

# Enable this if you want to see in the log where crystals are spawned
# 打开这个,就可以在日志中看见水晶生成的信息。
B:verboseSpawn=false

3. 水晶属性说明

每个水晶有四个属性


The One Probe 教程文案

The One Probe 是由McJty制作的一个在MC中实时信息高亮的模组


1. 作者简介

一个做MC模组的老油条,据说连他儿子(what?我离有儿子还差一个女朋友)都在做模组,详情可以戳他本人的 GitHub,有什么情况还可以关注他的推特

McJty

代表作

2. The One Probe说明

The One Probe简称TOP,是一个类似于Waila的模组,但是其信息显示必须要持有相关物品才能显示,最开始时候还错误百出,现在经过McJty的改良,已经成为一个很精良的模组。其拥有极佳的可视化界面,并且对EIO和作者自己本身的一堆mod都有极佳的兼容性,甚至EIO的玄钢头盔还可以直接在铁砧中附加上TOP的检测器

1
【图中显示了EIO和TOP的兼容】

接下来几张图说明了EIO以及McJty的其他模组对TOP的兼容

1
【图中显示了Deep Resonance共振水晶的属性】

1
【图中显示了草方块的正确采掘工具,采掘等级以及当前是否能采掘信息】

1
【图中摁下shift键显示了更多的箱子信息,注意里面相同的东西并没有自动合并,这一条可以在配置文件中更改而使其更加整齐】

1
【图中显示了拉杆的开关状态】

1
【图中显示了当前的红石信号强度】

1
【图中显示了RF工具的音序器的详细信息,甚至连音序器的内部音序图都显示了出来,非常方便玩家调试】

1
【图中显示了检测器的几种合成方式,利用这个合成方式,玩家可以不需手持检测器,只需要带上这些头盔就能看到信息高亮显示】

3. The One Probe 的指令

The One Probe提供了几条指令用于方便玩家调整信息框的位置,这样玩家不需要对config文件或者调节具体的数字就能达到想要的效果

总计有18条指令

指令效果
topcfg center/centerleft/centerright将信息框显示在屏幕 正中间/中左侧/中右侧
topcfg topleft/topcenter/topright将信息框显示在屏幕 顶中间/顶左侧/顶右侧
topcfg bottomleft/bottomcenter/bottomright将信息框显示在屏幕 底中间/底左侧/底右侧
topcfg transparent将信息框背景显示为透明的
topcfg setpos [int] [int] [int] [int]将信息框设置为指定数字大小
topcfg opaque将信息框设置为不透明背景
topcfg defult将信息框设置为默认颜色
topcfg liquids/noliquids打开/关闭 液体显示
topcfg compactequalstacks/dontcompactequalstacks打开/关闭 箱子物品显示的自动合并
topcfg extendedinmain/defaultinmain打开/关闭 显示更多信息功能

4. The One Probe Addon 的说明

The One Probe仍然缺乏对很多mod的支持,所以有个叫做DrMathiasDJ的作者做了一个叫做TOP Addon的模组,主要增加了对以下mod的支持与修改

5.The One Probe 配置文件翻译说明

# Configuration file

##########################################################################################################
# client
#--------------------------------------------------------------------------------------------------------#
# Client-side settings
# 客户端配置
##########################################################################################################

client {
    # Color of the border of the box (0 to disable) [default: ff999999]
    # 高亮显示框的边框颜色(设置为0将不显示边框)
    S:boxBorderColor=ff999999
    I:boxBottomY=-1

    # Color of the box (0 to disable) [default: 55006699]
    # 高亮显示框的背景色(设置为0将不显示边框)
    S:boxFillColor=55006699
    I:boxLeftX=-1
    I:boxRightX=-1

    # Thickness of the border of the box (0 to disable) [range: 0 ~ 20, default: 2]
    # 高亮显示框的边框线宽(设置为0将不显示边框)
    I:boxThickness=2
    I:boxTopY=5

    # If true equal stacks will be compacted in the chest contents overlay [default: true]
    # 如果设置为true,指向箱子时候,会自动显示合并相同物品
    B:compactEqualStacks=false

    # If true the probe will automatically show extended information if it is in your main hand (so not required to sneak) [default: false]
    # 如果设置为true,只要玩家主手有检测器,就会始终显示拓展信息(所以玩家并不需要摁下shift键来显示拓展信息)
    B:extendedInMain=false

    # If true then the probe hotkey must be held down to show the tooltip [default: false]
    # 如果设置为true,只有按下指定快捷键才能显示文本信息
    B:holdKeyToMakeVisible=false

    # Toggle default probe visibility (client can override) [default: true]
    # 是否默认显示高亮信息(客户端可覆盖)
    B:isVisible=true

    # If true show liquid information when the probe hits liquid first [default: false]
    # 是否显示流体信息
    B:showLiquids=false

    # The scale of the tooltips, 1 is default, 2 is smaller [range: 0.4 ~ 5.0, default: 1.0]
    # 文本信息的显示比例,1是默认大小,2是小比例,【范围:0.45.0
    S:tooltipScale=1.0
}


##########################################################################################################
# providers
#--------------------------------------------------------------------------------------------------------#
# Provider configuration
# 源设置
##########################################################################################################

providers {
    # Entity providers that should be excluded [default: ]
    # 实体源黑名单
    S:excludedEntityProviders <
     >

    # Providers that should be excluded [default: ]
    # 源黑名单
    S:excludedProviders <
     >

    # Order in which entity providers should be used [default: [theoneprobe:entity.default], [theoneprobe:entity.debug], [theoneprobe:entity.entity]]
    # 哪些实体源可以被使用
    S:sortedEntityProviders <
        theoneprobe:entity.default
        theoneprobe:entity.debug
        theoneprobe:entity.entity
     >

    # Order in which providers should be used [default: [theoneprobe:default], [theoneprobe:debug], [theoneprobe:block], [mcjtylib:default], [enderio:default]]
    # 定义哪些源应该被使用
    S:sortedProviders <
        theoneprobe:default
        theoneprobe:debug
        theoneprobe:block
     >
}


##########################################################################################################
# theoneprobe
#--------------------------------------------------------------------------------------------------------#
# The One Probe configuration
# 服务端配置
##########################################################################################################

theoneprobe {
    # If true equal stacks will be compacted in the chest contents overlay [default: true]
    # 如果设置为true,指向箱子时候,会自动显示合并相同物品
    B:compactEqualStacks=true

    # If true the probe will automatically show extended information if it is in your main hand (so not required to sneak) [default: false]
    # 如果设置为true,只要玩家主手有检测器,就会始终显示拓展信息(所以玩家并不需要摁下shift键来显示拓展信息)
    B:extendedInMain=false

    # How much time (ms) to wait before reporting an exception again [range: 1 ~ 10000000, default: 20000]
    # 抛出错误之前的等待响应时间(毫秒)
    I:loggingThrowableTimeout=20000

    # Is the probe needed to show the tooltip? 0 = no, 1 = yes, 2 = yes and clients cannot override [range: 0 ~ 2, default: 1]
    # 检测器是否能显示文本信息?0=不可以,1=可以,2=可以并且客户端不能覆盖服务端
    I:needsProbe=1

    # Distance at which the probe works [range: 0.1 ~ 200.0, default: 6.0]
    # 检测器的工作距离【范围:0.1200.0
    S:probeDistance=6.0

    # The amount of milliseconds to wait before showing a 'fetch from server' info on the client (if the server is slow to respond) (-1 to disable this feature) [range: -1 ~ 100000, default: 500]
    # 在客户端显示“正在读取服务器”之前的等待时间(毫秒)(如果服务器响应速度很慢)(填写-1表示禁止这个功能)【范围:-1100000
    I:renderTimeout=500

    # Format for displaying RF: 0 = full, 1 = compact, 2 = comma separated [range: 0 ~ 2, default: 1]
    # RF能量的显示格式:0=全显示模式,1=缩写模式,2=逗号分隔模式
    I:rfFormat=1

    # Alternate color for the RF bar [default: ff430000]
    # RF能量条的背景色
    S:rfbarAlternateFilledColor=ff430000

    # Color for the RF bar border [default: ff555555]
    # RF能量条的边线颜色
    S:rfbarBorderColor=ff555555

    # Color for the RF bar [default: ffdd0000]
    # RF能量条的颜色
    S:rfbarFilledColor=ffdd0000

    # Show if the block can be harvested (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 是否显示方块可被采掘信息(0=不显示,1=显示,2=摁下shift键显示)
    I:showCanBeHarvested=1

    # Show chest contents (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 2]
    # 是否显示箱子的内部物品
    I:showChestContents=2

    # Show the growth level of crops (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 是否显示作物的生长情况
    I:showCropPercentage=1

    # If true show debug info with creative probe [default: true]
    # 设置为true,用创造模式检测器会显示调试信息
    B:showDebugInfo=true

    # Show harvest level (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 是否显示采掘等级(0=不显示,1=显示,2=摁下shift键显示)
    I:showHarvestLevel=1

    # Show lever setting (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 显示工具设置(0=不显示,1=显示,2=摁下shift键显示)
    I:showLeverSetting=1

    # Show mob health (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 显示生物血量值(0=不显示,1=显示,2=摁下shift键显示)
    I:showMobHealth=1

    # Show mob potion effects (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 2]
    # 显示生物所受到的药水效果(0=不显示,1=显示,2=摁下shift键显示)
    I:showMobPotionEffects=2

    # Show mod name (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 显示生物名字(0=不显示,1=显示,2=摁下shift键显示)
    I:showModName=1

    # How to display RF: 0 = do not show, 1 = show in a bar, 2 = show as text [range: 0 ~ 2, default: 1]
    # 如何显示RF0=不显示,1=用能量条形式显示,2=用文字形式显示
    I:showRF=1

    # Show redstone (0 = not, 1 = always, 2 = sneak) [range: 0 ~ 2, default: 1]
    # 是否显示红石信号(0=不显示,1=显示,2=摁下shift键显示)
    I:showRedstone=1

    # How to display tank contents: 0 = do not show, 1 = show in a bar, 2 = show as text [range: 0 ~ 2, default: 1]
    # 是否显示容量槽:0=不显示,1=用能量条形式显示,2=用文字形式显示
    I:showTank=1

    # Format for displaying tank contents: 0 = full, 1 = compact, 2 = comma separated [range: 0 ~ 2, default: 1]
    # 容量槽的显示格式:0=全显示模式,1=缩写模式,2=逗号分隔模式
    I:tankFormat=1

    # Alternate color for the tank bar [default: ff000043]
    # 容量槽的背景色
    S:tankbarAlternateFilledColor=ff000043

    # Color for the tank bar border [default: ff555555]
    # 容量槽的边线颜色
    S:tankbarBorderColor=ff555555

    # Color for the tank bar [default: ff0000dd]
    # 容量槽的颜色
    S:tankbarFilledColor=ff0000dd

    # The amount of milliseconds to wait before updating probe information from the server [range: 10 ~ 100000, default: 200]
    # 服务端和客户端数据同步的时间间隔(毫秒)【范围:10100000
    I:timeout=200
}


Pagination