Open ApliNi opened 1 year ago
在3.3版本中添加对1.18版本的支持! 添加新的区块管理器,包括对 3D 生物群系的支持以及在 1.16.5、1.17.1 和 1.18.x 上将渲染性能提高 20-25% 恢复 snakeyaml 库更新以解决解析 Windows 格式的 yaml 文件的问题
因为发现很多服务器的网页地图都没有太多优化, 所以想写一篇教程, 分享一下自己的网页地图配置, 全篇除了配置由Dynmap插件生成, 其他均为手写, 少量带引号的注释使用了搜索引擎的说明. 这里使用的Dynmap是最新的稳定版[3.3.2-spigot], 其他版本应该差别不大, 用搜索功能找找配置就好了
Dynmap的配置使用YAML格式, 但文件后缀是txt, 这导致我在编辑配置时经常遇到TAB缩进符报错[替换为4个空格即可] 所以建议将编辑器的语言设置为YAML后编辑配置[如果是记事本的话忽略就好...[不过还是建议找个编辑器用]]
如果没有实时的要求, 推荐将Dynmap的更新周期提高到1~2天. 这将极大的降低服务器的负载.
1.渲染和性能优化 configuration.txt
配置开头, Dynmap提供了6种渲染质量, 这个很好测试, 如果没有特殊要求, 同时服务器带宽还足够, 推荐使用默认的 "hires" 否则需要降低, 但降低质量会让地图渲染的非常模糊, 请根据自己的需求测试配置
# vlowres 使用 HDMap 极低分辨率 (2 ppb) 地图模板作为世界默认值 # lowres 使用 HDMap 低分辨率 (4 ppb) 地图模板作为世界默认值 # hires 使用 HDMap 高分辨率 (16 ppb) 地图模板[高分辨率渲染一次消耗的时间会比较长] # low_boost_hi 使用 HDMap 低分辨率 (4 ppb) 地图模板,支持选择性地将分辨率提高到高分辨率 (16 ppb) # hi_boost_vhi 使用 HDMap 高分辨率 (16 ppb) 地图模板,支持选择性地将分辨率提升到 vhi-res (32 ppb) # hi_boost_xhi 使用 HDMap 高分辨率 (16 ppb) 地图模板,支持选择性地将分辨率提升到 xhi-res (64 ppb) # 选择一个渲染质量 deftemplatesuffix: hires
设置网页地图的数据库, 非常建议使用数据库, 即使你不会用. 这能避免在Dynmap目录下产生非常非常非常多小文件! [这些小文件比地图目录里的更恐怖, 非常多, 如果地图大的话删除都会很麻烦] 如果服务器没配置MySQL就使用SQLite, 如果使用SQLite最好为文件设置一个绝对路径, 将地图文件放在空间充足的硬盘里!
storage: # mysql 或 sqlite 或 filetree[不推荐] type: sqlite # 选择一个位置用来存放地图数据 dbfile: E:/map/dynmap.db
这一部分配置决定地图的渲染速度和资源占用由于之后的注释需要和配置放在一起, 所以就写进代码框里了更新: webp格式可以进一步降低空间占用, 但配置略有复杂
# 渲染贴图的频率 秒, 不能大于1 #这里的翻译好像有点问题 renderinterval: 1 # 一次尝试更新的贴图数量 # 这与上方的 renderinterval 结合使用, 可以更改每秒渲染的贴图数量 # 默认cpu核心数的一半 tiles-rendered-at-once: 4 # 是否使用正常的优先级处理渲染任务 # 如果服务器TPS受地图渲染的影响很大可以尝试改为 false usenormalthreadpriority: true # 保存和恢复挂起的渲染, 防止在服务器重启后丢失进度 saverestorepending: true # 挂起任务的保存周期 [秒] save-pending-period: 45 # 缩小互动程序更新周期, 用于将渲染的贴图缩小到不同缩放范围 zoomoutperiod: 64 # 图片格式 [png, jpg, jpg-q75, jpg-q80, jpg-q85, jpg-q90, jpg-q95, jpg-q100] [webp, webp-q75, webp-q80, webp-q85, webp-q90, webp-q95, webp-q100, webp-l] # 注意 PNG和WEBP以外的格式均不支持透明层 # PNG和WEBP-L为最高质量 # 推荐使用WEBP-L或PNG, 其中webp-l可以在不影响画质的情况下减少文件体积 image-format: webp-l # 如果 cwebp 或 dwebp 不在 PATH 上,请使用这些设置来提供它们的完整路径。 如果工具在 PATH 上,请勿使用这些设置 # 对于 Windows,包括 .exe # 如果要使用web, 请下载 https://developers.google.com/speed/webp/download , 像这样放在指定一个位置并使用绝对路径 # 已在下方更新附件 cwebpPath: E:/map/libwebp-1.2.2-windows-x64/bin/cwebp.exe dwebpPath: E:/map/libwebp-1.2.2-windows-x64/bin/dwebp.exe ##### # 每个tick的最大负载 [1/20秒] 将其降低到90以下会影响渲染性能, 但也会减少服务器线程负载 100 maxchunkspertick: 120 # 渲染进度报告, 必须在100以上 # 如果控制台太吵可以将其提高到更高的值 progressloginterval: 1000 # 渲染并发数量, 建议CPU核心的四分之一, 如果速度太慢还可以提高 # 会造成密集的CPU占用, 不是多核CPU不建议设置的太高 parallelrendercnt: 2 # 浏览器更新数据的间隔. 建议增大这个值, 特别是在人多的服务器里 # 每一次更新会发送当时渲染的贴图的ID和玩家位置等, 如果玩家非常多或者正在渲染贴图, 会造成较高的带宽占用! updaterate: 3200 # 玩家达到这个值时暂停渲染, 0为禁用 fullrenderplayerlimit: 0 # 当更多用户登录时暂停渲染, 0为禁用 updateplayerlimit: 0 # 服务器线程使用的目标限制-毫秒/刻度 每刻度的时间限制 50 # 如果Dynmap对MSPT影响大可以降低这个值, 如果需要全速渲染可以提高[同时降低下面三个配置的值] per-tick-time-limit: 40 # 如果服务器的TPS低于这个值, 则暂停更新 update-min-tps: 19.2 # 如果服务器的TPS低于这个值, 则暂停缩小 zoomout-min-tps: 19.2 # 如果服务器的TPS低于这个值, 则暂停渲染 fullrender-min-tps: 19.2
地图更新, 配置哪些操作会让Dynmap更新贴图
# 地图上的内容发生变化后多长时间再重新渲染 # 如果服务器的玩家多请提高这个值, 防止服务器浪费性能在渲染地图上 tileupdatedelay: 64 #哪些操作会更新地图 render-triggers: #玩家移动 #- playermove #玩家加入 #- playerjoin #方块放置 - blockplaced #方块破坏 - blockbreak #树叶掉落 - leavesdecay #火破坏方块 #- blockburn #区块加载 - chunkgenerated #方块形成?? - blockformed #方块消失[冰雪融化等] - blockfaded #方块传播[水流动等] - blockspread #活塞伸出收回 #- pistonmoved #爆炸 #- explosion #方块流入新的方块[水岩浆等] - blockfromto #方块物理移动[沙子掉落等] #- blockphysics #树和蘑菇生长 - structuregrow #作物生长 - blockgrow #红石 #- blockredstone
2.控制渲染效果 worlds.txt custom-shaders.txt custom-lightings.txt configuration.txt
world.txt 地图设置, Dynmap默认会渲染所有地图的所有图层, 如果不限制则会造成很多不必要的资源浪费
# 这个不能删掉 %YAML 1.1 --- worlds: - name: world # 地图目录的名称, 不能随便修改 title: Main_World # 地图显示在网页上的名称[可以是中文] enabled: true # 是否启用世界, 改为false后不会显示在网页上 bigworld: true # "使用 FlatMap 或 KzedMap 地图种类的替代的文件结构,这个结构更加适合拥有数万数十万的 tiles 的大型世界" extrazoomout: 2 # 额外的缩小等级, 可以获得更高的视角, 但也会多占用一部分存储空间[影响不是很大] # 配置为这个世界渲染哪些视角的地图 [还有一个地下模式没写进来] maps: - class: org.dynmap.hdmap.HDMap # 设置贴图存放目录, 不要用中文 name: _2 #地图显示在网页上的名称, 这里鼠标悬浮上去才会显示 title: 平面图 # iso_S_90_hires 是一个预设的视角, 表示渲染方块的顶面 perspective: iso_S_90_hires # 配置着色器, 这里使用的是之后定义的OCD材质包 shader: ocd # 配置光照, 这里使用的是之后定义的光照名称 lighting: ipacnight #允许用户将图片放大的层数, 可以让 mapzoomin: 3 - class: org.dynmap.hdmap.HDMap name: _3 title: 立体图 # 是一个预设的视角, 看上去像2.5D图像 perspective: iso_SE_30_hires shader: ocd lighting: ipacnight #由于渲染的方块是斜的, 放大出现很多锯齿, 所以不建议添加很多放大层数 mapzoomin: 1 #不渲染地狱和末地, 可以将其他不需要渲染的地图添加进来 - name: world_nether enabled: false - name: world_the_end enabled: false
custom-shaders.txt 着色器设置, 为地图添加适合网页端查看的材质包 Dynmap内置了几种简单的着色器配置和原版的材质包, 这几种方案可能不适合在浏览器上查看, 所以需要自己配置一个
shaders: - class: org.dynmap.hdmap.TexturePackHDShader #为这个着色器起一个名字, 在world.txt中使用 name: ocd #添加材质包, 请将 ocd.zip 文件放进 texturepacks 目录后配置 texturepack: ocd.zip #是否基于生物群系渲染植物颜色 biomeshaded: true #草地/雪地侧面贴图 better-grass: true
custom-lightings.txt
光照设置, 添加阴影和设置渲染亮度 不知道为什么发光方块的照亮范围渲染出来很小, 导致玩家随便铺的火把不好看, 所以没有修改亮度 如果想尝试渲染一个夜景, 通过玩家的建筑照亮网页地图可以试试将其设置为4~7之间的值 [7~10可能更适合查看其他暗处的方块, 但可能影响发光方块看上去的亮度]
lightings: - class: org.dynmap.hdmap.ShadowHDLighting # 设置名称, 在world.txt中使用 name: ipacnight # 阴影等级, 值越大阴影的效果越好, 默认1.0 shadowstrength: 1.0 # 亮度, 就像代码框外描述的一样, 默认15 ambientlight: 15
configuration.txt 主配置中的一些细节...
# 是否使用生成的纹理, 生成的纹理 [与客户端相同] use-generated-textures: true # 是否使用水下照明 [与客户相同] correct-water-lighting: true # 是否使用透明的树叶 [光照方面] transparent-leaves: true # 启用材质包中的已连接纹理模型, 或许会使相同的材质更连贯[没测试过] ctm-support: true # 启用材质包中的自定义颜色 custom-colors-support: true # 控制玩家头像的加载, 关闭后不会获取玩家的皮肤 fetchskins: true # 自动更新玩家皮肤 refreshskins: true # 设置用于获取皮肤的URL, 可以是一些皮肤站的API, %player% 是玩家名称的占位符 skin-url: "http://skins.minecraft.net/MinecraftSkins/%player%.png" # 通过离线皮肤插件 skinsrestorer 获取皮肤 # 如果是离线服务器建议启用这个, 在线服务器看情况, 使用皮肤插件或许是更好的 skinsrestorer-integration: true ##### # 第一次打开时用户会看到怎样的页面 # 地图缩放等级, 在网页地图上缩放到位后按下左下角生成链接按钮, 然后在URL里找zoom即可 defaultzoom: 7 # 设置默认世界 defaultworld: world # 默认查看哪个图层, 这里选择的是上方设置的3D图层 defaultmap: _3 # [可选] 点击玩家头像启动跟随模式, 是否因自动调整缩放和地图图层, 不需要就注释掉 #followzoom: 5 #followmap: _2
3.控制组件, 添加自定义样式!
configuration.txt Dynmap的配置为大部分组件提供了相应的配置, 因为没多少可以说的, 所以直接写代码框里了/ 这一部分的注释还没有优化, 就这样看看吧... 前半部分少量机翻[并且注释不完整], 因为很少用到 [以后再改吧...]
components: - class: org.dynmap.ClientConfigurationComponent - class: org.dynmap.InternalClientUpdateComponent sendhealth: true sendposition: true allowwebchat: false webchat-interval: 5 hidewebchatip: false trustclientname: false includehiddenplayers: false # [可选] 如果为true, 则使用播放器显示名称中的颜色代码 use-name-colors: false # [可选] 如果为true, 则当玩家的IP匹配时, 将使用玩家登录ID进行网络聊天 use-player-login-ip: false # [可选] 如果“使用玩家登录ip”为true, 则将此设置为true将导致忽略与已知播放器ip不匹配的聊天消息 require-player-login-ip: false # [可选] 阻止禁止聊天的玩家登录ID block-banned-player-chat: false # 需要登录才能进行web到服务器聊天 [需要启用登录: true] webchat-requires-login: false # 如果设置为true, 则用户必须具有dynmap.webchat权限才能聊天 webchat-permissions: false # 限制单个聊天消息的长度 chatlengthlimit: 256 # # 可选-将玩家隐藏在阴影中 [#=亮度: 0=全阴影, 15=天空] # hideifshadow: 4 # # 可选-将玩家隐藏在掩体下 [#=天光级别, 0=地下, 15=向天空开放] # hideifundercover: 14 # # [可选] 如果为true, 则将隐藏蹲下/潜行的玩家 hideifsneaking: false # 如果为true, 则保护玩家位置/状态 [使用dynmap.playermarkers.see ID登录, 获得除self以外的信息所需的所有权限] protected-player-info: false # 如果为真, 隐藏隐形药水效果激活的玩家 hide-if-invisiblity-potion: true # 如果为true, 则地图/ 聊天室和列表中不会显示玩家姓名 hidenames: false #- class: org.dynmap.JsonFileClientUpdateComponent # writeinterval: 1 # sendhealth: true # sendposition: true # allowwebchat: true # webchat-interval: 5 # hidewebchatip: false # includehiddenplayers: false # use-name-colors: false # use-player-login-ip: false # require-player-login-ip: false # block-banned-player-chat: true # hideifshadow: 0 # hideifundercover: 0 # hideifsneaking: false # # 需要登录才能进行web到服务器聊天 [需要启用登录: true] # webchat-requires-login: false # # 如果设置为true, 则用户必须具有dynmap.webchat权限才能聊天 # webchat-permissions: false # # 限制单个聊天消息的长度 # chatlengthlimit: 256 # hide-if-invisiblity-potion: true # hidenames: false #不向网页地图发送聊天消息 - class: org.dynmap.SimpleWebChatComponent allowchat: false # 如果为true, web UI用户可以使用“playername”URL参数提供聊天室的名称trustclientname'也必须设置为true. allowurlname: false ##### 终于等到这里了##### # 注意: dmarker命令和markerapi对其他插件可用都需要这个组件 - class: org.dynmap.MarkersComponent type: markers showlabel: false enablesigns: false default-sign-set: markers # [可选] 将重生点标记添加到标准标记图层 # 这会在主城的重生点上显示一个地球图标, 可以替换成服务器的微标 showspawn: false spawnicon: world spawnlabel: "服务器名称" # [可选] 显示离线玩家位置的图层 [注销后的 maxofflinetime 分钟] showofflineplayers: false offlinelabel: "Offline" offlineicon: offlineuser offlinehidebydefault: true offlineminzoom: 0 maxofflinetime: 30 # 显示玩家床的图层 showspawnbeds: false spawnbedlabel: "重生点 床" spawnbedicon: bed spawnbedhidebydefault: true spawnbedminzoom: 0 spawnbedformat: "%name%'的床" # [可选] 显示世界边界 [香草1.8+] showworldborder: true - class: org.dynmap.ClientComponent type: chat allowurlname: false #- class: org.dynmap.ClientComponent #type: chatballoon #focuschatballoons: false #消息 #- class: org.dynmap.ClientComponent #type: chatbox #showplayerfaces: true #messagettl: 5 # Optional: set number of lines in scrollable message history: if set, messagettl is not used to age out messages #scrollback: 100 # Optional: set maximum number of lines visible for chatbox #visiblelines: 10 # Optional: send push button # sendbutton: false #显示玩家 - class: org.dynmap.ClientComponent type: playermarkers # 显示玩家头像 showplayerfaces: true # 显示玩家状态 showplayerhealth: false # 如果为true, 则也显示玩家身体 [仅当showplayerfaces=true时有效 showplayerbody: false # 使玩家面部变小的选项-不要与showplayerhealth一起使用 smallplayerfaces: true # 可选-默认情况下隐藏玩家面层 hidebydefault: false # 可选-层菜单中的排序优先级 [低优先于高-默认为0] layerprio: 0 # 可选-播放器标记层的标签 label: "在线玩家" #数字钟 #- class: org.dynmap.ClientComponent # type: digitalclock #左下角生成链接的按钮 - class: org.dynmap.ClientComponent type: link # - class: org.dynmap.ClientComponent # type: timeofdayclock # showdigitalclock: false # showweather: false # 鼠标指针位置坐标显示 - class: org.dynmap.ClientComponent type: coord label: '当前坐标' hidey: true show-mcr: true #显示世界块名称
CSS是一种描述HTML样式的语言, 如果没有CSS, 网页就可能会很难看. 网页地图也一样, 可以通过CSS自定义样式, 使其和服务器官网更相似 由于这不属于MC服务器的配置, 所以没有详细讲解. 我将使用方法写在这里, 对各个功能的注释写在代码框里, 有能力的玩家可以尝试修改它们!
xxxx.css
/* style ------ Ipacamod */ .dynmap > .map{ background:#18191c!important; } /*使其不显示*/ .leaflet-control-zoom, /*放大缩小*/ .coord-control-label, /*"当前坐标"这段文字*/ .compass, /*指南针, 没找到配置*/ br{ display:none!important; } /*字体*/ body, .dynmap .playerNameSm{ font-family: /*英文[等宽]*/ Bitstream Vera Sans Mono, Consolas, DejaVu Sans Mono, Lucida Console, Liberation Mono, /*中文*/ PingFang SC, Microsoft YaHei, SimHei !important; } /*选中文本高亮*/ ::selection{background:#06B0FF33} /*工具栏 地图按钮*/ .dynmap .sublist .item{border-radius:1px} .dynmap .sublist .item.selected{border:1px solid #008fff} /*顶部错误信息*/ .alertbox{background-color:#008fff;border:0} /*坐标显示*/ .dynmap .coord-control{ border-radius:1px; margin:15px; padding:5px; width:fit-content; background-color:rgba(0,0,0,0.6); border:1px solid rgba(0,0,0,0.2); border-top:1px solid #008fff; /*文字*/ color:#fff; font-size:0.875em; } /*玩家名称*/ .dynmap .playerNameSm{ border-radius:0; margin-top:3px; padding:0 4px; } /*跟随玩家 白色方框*/ .dynmap .playerlist .player.following{border-radius:1px} /*坐标显示, 行内转为块级*/ .dynmap .coord-control-value{ display:block; } /*链接生成按钮*/ .dynmap .dynmap-link{ border-radius:0; background-color:transparent; } .dynmap .dynmap-link a{ border-radius:0; background-color:transparent; } .dynmap .dynmap-link a:hover{ background-color:transparent; } .dynmap .dynmap-link-button { /*background-image:url(images/external-link.svg);*/ filter:brightness(150%); } /*鼠标移出变透明*/ .map .coord-control, /*显示坐标*/ .dynmap .dynmap-link, /*链接*/ .dynmap .hitbar{ transition: 0.7s 0.2s all; opacity: 0; } .map:hover .coord-control, .map:hover .dynmap-link, .dynmap:hover .hitbar{ transition: 0.4s all; opacity: 1; } /*解决hitbar打不开, 使hitbar移动时透明*/ .dynmap .hitbar:hover{ transition: all 2.5s, opacity 0.3s; } .dynmap .sidebar:hover .hitbar{ opacity: 0; } /*世界边界*/ .dynmap .leaflet-interactive{ stroke:#06b0ff!important; stroke-width:2!important; stroke-opacity:0.7!important; }
4.使用NGINX代理Dynmap, 启用GZIP压缩, 添加HTTP/2和HTTPS支持! [这一部分可以省略 Nginx是一个反向代理软件, 可以用它代理Dynmap服务器实现更多功能. 这一部分并不详细, 可以省略 [浏览器 -> NGINX -> Dynmap]
#我使用的反向代理方案 location ^~ /map/ { proxy_pass http://127.0.0.1:8123/; #防止跳回主目录 proxy_set_header X-Real-IP $remote_addr; #关闭日志 log_not_found off; access_log off; #自定义错误页面 proxy_intercept_errors on; } #GZIP gzip on; #压缩数据包 gzip_proxied any; #作为反向代理时压缩所有的请求 gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png font/ttf font/x-woff image/svg+xml; #压缩这些文件 gzip_min_length 1k; #小于1k的不要压缩 gzip_comp_level 5; #压缩等级,1~9 #SSL, [ssl_ciphers是抄来的] listen 443 ssl http2 default_server; ssl_certificate xxx.pem; ssl_certificate_key xxx.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 SSLv2 SSLv3; ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:!ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:!RC4-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!CBC:!EDH:!kEDH:!PSK:!SRP:!kECDH; ssl_session_cache shared:SSL:20m; #shared缓存 add_header Strict-Transport-Security 'max-age=86400'; #添加HSTS ssl_prefer_server_ciphers On; #服务器密码算法在优先于客户端密码算法时, 使用SSLv3和TLS协议 #从定向到https if ($ssl_protocol = '') {return 301 https://$host$request_uri;}
Dynmap-v3.4 完整配置翻译 [机翻]
感谢作者的奉献
开始
因为发现很多服务器的网页地图都没有太多优化, 所以想写一篇教程, 分享一下自己的网页地图配置, 全篇除了配置由Dynmap插件生成, 其他均为手写, 少量带引号的注释使用了搜索引擎的说明. 这里使用的Dynmap是最新的稳定版[3.3.2-spigot], 其他版本应该差别不大, 用搜索功能找找配置就好了
Dynmap的配置使用YAML格式, 但文件后缀是txt, 这导致我在编辑配置时经常遇到TAB缩进符报错[替换为4个空格即可] 所以建议将编辑器的语言设置为YAML后编辑配置[如果是记事本的话忽略就好...[不过还是建议找个编辑器用]]
如果没有实时的要求, 推荐将Dynmap的更新周期提高到1~2天. 这将极大的降低服务器的负载.
1.渲染和性能优化 configuration.txt
配置开头, Dynmap提供了6种渲染质量, 这个很好测试, 如果没有特殊要求, 同时服务器带宽还足够, 推荐使用默认的 "hires" 否则需要降低, 但降低质量会让地图渲染的非常模糊, 请根据自己的需求测试配置
设置网页地图的数据库, 非常建议使用数据库, 即使你不会用. 这能避免在Dynmap目录下产生非常非常非常多小文件! [这些小文件比地图目录里的更恐怖, 非常多, 如果地图大的话删除都会很麻烦] 如果服务器没配置MySQL就使用SQLite, 如果使用SQLite最好为文件设置一个绝对路径, 将地图文件放在空间充足的硬盘里!
这一部分配置决定地图的渲染速度和资源占用由于之后的注释需要和配置放在一起, 所以就写进代码框里了更新: webp格式可以进一步降低空间占用, 但配置略有复杂
地图更新, 配置哪些操作会让Dynmap更新贴图
2.控制渲染效果 worlds.txt custom-shaders.txt custom-lightings.txt configuration.txt
world.txt 地图设置, Dynmap默认会渲染所有地图的所有图层, 如果不限制则会造成很多不必要的资源浪费
custom-shaders.txt 着色器设置, 为地图添加适合网页端查看的材质包 Dynmap内置了几种简单的着色器配置和原版的材质包, 这几种方案可能不适合在浏览器上查看, 所以需要自己配置一个
这一部分的配置可能是最简单的
custom-lightings.txt
光照设置, 添加阴影和设置渲染亮度 不知道为什么发光方块的照亮范围渲染出来很小, 导致玩家随便铺的火把不好看, 所以没有修改亮度 如果想尝试渲染一个夜景, 通过玩家的建筑照亮网页地图可以试试将其设置为4~7之间的值 [7~10可能更适合查看其他暗处的方块, 但可能影响发光方块看上去的亮度]
configuration.txt 主配置中的一些细节...
3.控制组件, 添加自定义样式!
configuration.txt Dynmap的配置为大部分组件提供了相应的配置, 因为没多少可以说的, 所以直接写代码框里了/ 这一部分的注释还没有优化, 就这样看看吧... 前半部分少量机翻[并且注释不完整], 因为很少用到 [以后再改吧...]
CSS是一种描述HTML样式的语言, 如果没有CSS, 网页就可能会很难看. 网页地图也一样, 可以通过CSS自定义样式, 使其和服务器官网更相似 由于这不属于MC服务器的配置, 所以没有详细讲解. 我将使用方法写在这里, 对各个功能的注释写在代码框里, 有能力的玩家可以尝试修改它们!
xxxx.css
4.使用NGINX代理Dynmap, 启用GZIP压缩, 添加HTTP/2和HTTPS支持! [这一部分可以省略 Nginx是一个反向代理软件, 可以用它代理Dynmap服务器实现更多功能. 这一部分并不详细, 可以省略 [浏览器 -> NGINX -> Dynmap]
Dynmap-v3.4 完整配置翻译 [机翻]
点击展开
```yaml # 此配置文件中的所有路径都是相对于 Dynmap 的data-folder: minecraft_server/插件/动态地图/ # 所有地图模板都在模板目录中定义 # 要将 HDMap 极低分辨率 (2 ppb) 地图模板用作世界默认值,请将值设置为 vlowres # 这些模板的定义在 normal-vlowres.txt、nether-vlowres.txt 和 the_end-vlowres.txt # 要将 HDMap 低分辨率 (4 ppb) 地图模板用作世界默认值,请将值设置为低分辨率 # 这些模板的定义在 normal-lowres.txt、nether-lowres.txt 和 the_end-lowres.txt # 要使用 HDMap 高分辨率 (16 ppb) 地图模板(这些可能需要很长时间才能进行初始完整渲染),请将值设置为雇用 # 这些模板的定义在 normal-hires.txt、nether-hires.txt 和 the_end-hires.txt # 要使用 HDMap 低分辨率 (4 ppb) 地图模板,支持选择性地将分辨率提高到高分辨率 (16 ppb),请将值设置为 low_boost_hi # 这些模板的定义在 normal-low_boost_hi.txt、nether-low_boost_hi.txt 和 the_end-low_boost_hi.txt # 要使用 HDMap 高分辨率 (16 ppb) 地图模板,支持选择性地将分辨率提高到 vhi-res (32 ppb),请将值设置为 hi_boost_vhi # 这些模板的定义在 normal-hi_boost_vhi.txt、nether-hi_boost_vhi.txt 和 the_end-hi_boost_vhi.txt # 要使用 HDMap 高分辨率 (16 ppb) 地图模板,支持选择性地将分辨率提高到 xhi-res (64 ppb),请将值设置为 hi_boost_xhi # 这些模板的定义在 normal-hi_boost_xhi.txt、nether-hi_boost_xhi.txt 和 the_end-hi_boost_xhi.txt deftemplatesuffix: hires # 设置默认平铺比例(0 = 128px x 128x,1 = 256px x 256px,2 = 512px x 512px,3 = 1024px x 1024px,4 = 2048px x 2048px) - 默认值为 0 # Note: changing此值将导致所有使用默认值的地图都需要完全渲染 #defaulttilescale: 0 # 地图存储scheme: only取消注释一个“类型”值 # filetree: classic和默认scheme: tree文件,所有地图数据都在 'tilespath' 设置指示的目录下 # sqlite: singleSQLite 数据库文件(这可能会变得非常大),位于“dbfile”设置中(默认是数据目录中的文件 dynmap.db) # mysql: MySQL数据库,位于数据库中的主机名:端口,通过用户 ID 和密码访问 # mariadb: MariaDB数据库,位于数据库中的主机名:端口,通过用户 ID 和密码访问 # postgres: PostgreSQL数据库,位于数据库中的主机名:端口,通过用户 ID 和密码访问 storage: # 文件树存储(地图图像文件的标准树) type: filetree # 用于地图存储的 SQLite db(使用 dbfile 作为存储位置) #type: sqlite #dbfile: dynmap。D b # 用于地图存储的 MySQL DB(在 'hostname':'port' 使用用户 'userid' 密码 'password' 和表前缀 'prefix' 在数据库 'database' 中带有标志“flags”) #type: mysql #hostname: localhost #port: 3306 #database: dynmap #userid: dynmap #password: dynmap #字首: ”” #flags: "?allowReconnect=true&autoReconnect=true" # # AWS S3 备份网站 #type: aws_s3 #bucketname: "dynmap-bucket-name" #region: us-east-1 #aws_access_key_id: "