See .circleci/config.yml
GPL v3
Minecraft Bedrock Edition Mod
Home Page: https://bdsm.gitbook.io/mod
License: GNU General Public License v3.0
怎么实现在linux终端输入一条命令来获取服务器的返回值?
类似之前版本内的:mcpeserver exec
终于运行起来了,MOD服务端吗?为什么我进去发现和官方没什么区别?这个服务端增加了什么功能?
最新版的1.7.0.13可以0.3.1这个mod吗?如果可以的话,应该怎么用,这个mod有什么功能?有没有使用教程,可以出一个使用教程吗?谢谢!
We now have like 10 mods in this repo,and stuff like packet sending & handling,player & world events are just basically lying around in modules that uses them,so why not aggregate them into a single library?
like chai_packets & chai_events.
This allows us to add things easier and know where to look for what we need
Pros
Cons
PS: if this got accepted,what about packing modules into namespaces on the chaiscript side?
from onPlayerJoined to events.player.onJoined
from sendTextPacket to packets.sendTextPacket (or just packets.send with a overload)
PSS: This is more like a asking for permission than asking for change,because I thought I should ask before working on changes that breaks the API :)
root@xsba:/bdsm# ./bdsm r -u
BDSM Version: v0.1.0-3-g5f438be
ModLoader Loading...
NO LOG FILE! - setting up server logging...
NO LOG FILE! - [2018-11-17 11:39:33 INFO] Starting Server
NO LOG FILE! - [2018-11-17 11:39:33 INFO] Version 1.7.0.13
NO LOG FILE! - [2018-11-17 11:39:33 INFO] Level Name: test level
NO LOG FILE! - [2018-11-17 11:39:33 ERROR] Error opening whitelist file: whitelist.json
NO LOG FILE! - [2018-11-17 11:39:33 INFO] Game mode: 0 Survival
NO LOG FILE! - [2018-11-17 11:39:33 INFO] Difficulty: 2 NORMAL
NO LOG FILE! - [2018-11-17 11:39:34 INFO] IPv4 supported, port: 19120
NO LOG FILE! - [2018-11-17 11:39:34 INFO] IPv6 not supported
NO LOG FILE! - [2018-11-17 11:39:35 INFO] Server started.
NO LOG FILE! - [2018-11-17 11:39:42 INFO] Player connected: 2535472408538814
bedrock_server://root@xsba$ list
The name one.codehz.bedrockserver.default was not provided by any .service files
bedrock_server://root@xsba$
我从https://73-141378462-gh.circle-artifacts.com/0/data/projects/out/mods.tar.xz 下载了你最新编译的mod,放到 /srv/mcpeserver/user/mods ,启动服务器后,attach会卡住不动无输出,客户端能看见motd但无法连接服务器。移除mod后正常。有mod时服务端日志如下:
Sep 07 10:48:02 VM-Arch-Desktop systemd[1]: Starting Minecraft Bedrock Edition Server...
Sep 07 10:48:02 VM-Arch-Desktop systemd[1]: Started Minecraft Bedrock Edition Server.
Sep 07 10:48:02 VM-Arch-Desktop bedrockserver[33404]: [core] Loading Bedrock Server...
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/libsupport.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/libscript.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/script_base.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/script_chat.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/script_tick.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/script_dbus.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loading mod: /srv/mcpeserver/user/mods/script_transfer.so
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [ModLoader] Loaded 7 Mod
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Minecraft is at offset 0xf2f6c000
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Game version: 1.6.0
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Applying patches
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] Vtable size = 241
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] createDeviceID:
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Loading server properties
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getCurrentStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing resource loaders
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getSystemRegion: 0xdeadbeef
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing ResourcePackManager
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing PackManifestFactory
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing SkinPackKeyProvider
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing PackSourceFactory
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing ResourcePackRepository
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [AppPlatform] getInternalStoragePath: /srv/mcpeserver/data
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Adding vanilla resource pack
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Adding world resource packs
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing SaveTransactionManager
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing ExternalFileLevelStorageSource
Sep 07 10:48:04 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Initializing ServerInstance
Sep 07 10:48:26 VM-Arch-Desktop bedrockserver[33404]: [Minecraft] NO LOG FILE! - IPv4 supported, port: 19132
Sep 07 10:48:26 VM-Arch-Desktop bedrockserver[33404]: [Minecraft] NO LOG FILE! - IPv6 supported, port: 19133
Sep 07 10:48:26 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Loading language data(en_US)
Sep 07 10:48:26 VM-Arch-Desktop bedrockserver[33404]: [Bridge] Server initialized
This is a project that is too good to exist without any docs on how to use it
Therefore,I propose a way to write docs & organize code for the various mod the project provides:
Code Organization
the code for each individual mod are placed in src/
eg: prop.cpp for chai_prop.so should be moved to src/prop/prop.cpp
Documentation & Examples
the docs and examples for a mod are placed in docs/
eg: docs and examples for chai_prop.so should be placed in docs/prop
Pros
the codebase will be more organized ,so it wont go too messy when we add more mods
Cons
the complexity of makefile will grow,since we must deal with sources behind the directories
Examples
I made a small example on the prop mod in my fork,feel free to check it out
无法启动,系统UBUNTU server 18.10
root@minecraft:/bdsm# ./bdsm r -u
Failed to connect to session bus: exec: "dbus-launch": executable file not found in $PATH
root@minecraft:/bdsm# ./bdsm r
BDSM Version: v0.1.0-3-g5f438be
ModLoader Loading...
Loading mod: libsupport
Loading mod: libbridge
bedrock_server://root@minecraft$
New issue with todays 1.8 update, the server crashes during start with:
BDSM Version: v0.1.0-3-g5f438be
ModLoader Loading...
Loading mod: libsupport
NO LOG FILE! - Symbol not found: _ZN9Minecraft4initEb
NO LOG FILE! - Hook failed: DecodeFailed
Loading mod: libbridge
Loading mod: libanti_cheats
Loading mod: libdisable_encryption
Loading mod: libedu
Loading mod: libscript
Loading mod: script_base
Loading mod: script_chat
Loading mod: script_command
Failed to load script_command: mods/script_command.so: undefined symbol: _ZN15CommandRegistry11addSoftEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EE
Loading mod: script_config
Loading mod: script_dbus
Loading mod: script_fake
Loading mod: script_form
Loading mod: script_nbt
Loading mod: script_policy
Loading mod: script_server_exec
Loading mod: script_tick
Loading mod: script_transfer
Loading mod: script_world
Failed to load script_world: mods/script_world.so: undefined symbol: _ZN12CommandUtils13spawnEntityAtER11BlockSourceRK4Vec39ActorTypeR13ActorUniqueIDP5Actor
D [run] Starting Server
D [run] setting up server logging...
D [run] Version 1.8.0.24 modded v0.3.2-2-g359e395
D [run] Level Name: Bedrock level
D [run] Game mode: 0 Survival
D [run] Difficulty: 2 NORMAL
D [LogIPSupport] IPv4 supported, port: 19137
D [LogIPSupport] IPv6 supported, port: 19138
D [CMD] clear commands.clear.description 1 0 0
D [CMD] deop commands.deop.description 2 20 0
D [CMD] clone commands.clone.description 1 0 0
D [CMD] daylock commands.daylock.description 1 0 0
D [CMD] difficulty commands.difficulty.description 1 0 0
D [CMD] effect commands.effect.description 1 0 0
D [CMD] enchant commands.enchant.description 1 0 0
D [CMD] gamerule commands.gamerule.description 1 20 0
D [CMD] execute commands.execute.description 1 0 0
D [CMD] fill commands.fill.description 1 0 0
D [CMD] function commands.function.description 1 0 0
D [CMD] gamemode commands.gamemode.description 1 0 0
D [CMD] help commands.help.description 0 4 20
D [CMD] gettopsolidblock commands.gettopsolidblock.description 0 2 0
D [CMD] give commands.give.description 1 0 0
D [CMD] list commands.list.description 0 20 0
D [CMD] kill commands.kill.description.edu 1 0 0
D [CMD] listd commands.listd.description 3 2 0
D [CMD] locate commands.locate.description 1 0 0
D [CMD] reload commands.reload.description 2 0 0
D [CMD] me commands.me.description 0 10 20
D [CMD] op commands.op.description 2 20 0
D [CMD] playsound commands.playsound.description 1 0 0
D [CMD] querytarget commands.querytarget.description 0 2 0
D [CMD] scoreboard commands.scoreboard.description 1 0 0
D [CMD] replaceitem commands.replaceitem.description 1 0 0
D [CMD] say commands.say.description 1 10 20
D [CMD] particle commands.spawnParticleEmitter.description 1 0 0
D [CMD] setmaxplayers commands.setmaxplayers.description 3 0 0
D [CMD] setblock commands.setblock.description 1 0 0
D [CMD] spawnpoint commands.spawnpoint.description 1 0 0
D [CMD] setworldspawn commands.setworldspawn.description 1 0 0
D [CMD] spreadplayers commands.spreadplayers.description 1 0 0
D [CMD] teleport commands.tp.description 1 0 0
D [CMD] stopsound commands.stopsound.description 1 0 0
D [CMD] summon commands.summon.description 1 0 0
D [CMD] tell commands.tell.description 0 10 20
D [CMD] testforblock commands.testforblock.description 1 0 0
D [CMD] testforblocks commands.testforblocks.description 1 0 0
D [CMD] testfor commands.testfor.description 1 0 0
D [CMD] tickingarea commands.tickingarea.description 1 0 0
D [CMD] time commands.time.description 1 0 0
D [CMD] title commands.title.description 1 10 0
D [CMD] toggledownfall commands.toggledownfall.description 1 0 0
D [CMD] weather commands.weather.description 1 0 0
D [CMD] wsserver commands.wsserver.description 2 8 0
D [CMD] xp commands.xp.description 1 0 0
D [CMD] ability commands.ability.description 1 0 0
D [CMD] immutableworld commands.immutableworld.description 1 0 0
D [CMD] worldbuilder commands.worldbuilder.description 1 0 0
D [CMD] agent commands.agent.description 1 2 0
D [CMD] kick commands.kick.description 4 0 0
D [CMD] save commands.save.description 4 0 0
D [CMD] stop commands.stop.description 4 0 0
D [CMD] whitelist commands.whitelist.description 4 0 0
D [CMD] ops commands.permissions.description 4 0 0
D [CMD] permissions commands.permissions.description 4 0 0
D [CMD] geteduserverinfo commands.geteduserverinfo.description 0 2 0
D [CMD] changesetting commands.changesetting.description 4 0 0
D [reg] minecraft
D [reg] minecraft base
D [reg] minecraft chat
D [reg] minecraft config
D [reg] minecraft dbus
D [reg] minecraft fake
D [reg] minecraft form
D [reg] minecraft nbt
D [reg] minecraft policy
D [reg] minecraft server-exec
D [reg] minecraft tick
D [reg] minecraft transfer
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>id</key>
<string>0</string>
<key>delay</key>
<integer>0</integer>
<key>status</key>
<integer>0</integer>
</dict>
</plist>
I wishes to know the reason for adding guile support for this scripting library.
since adding another language would mean more work in documentation and maintenance.
Was it simply due to personal taste or have other engineering concern?
After a quick glance through the reference manual,it is undeniable that this language has better documentation and more powerful in hooking.Also,this language is a extension of scheme,meaning that it gets the expressiveness and ease in DSL from Lisp-like languages.
But wont the lisp style be too esoteric to normal developers?Since FP is not something that a beginner can grab and go very quickly.
Note: I am NOT INTENDING TO START A FIGHT,just want to know why.Sorry if this triggers you.
The Bukkit API is a well-known and long-existed plugin API that almost dictated plugin development on Java Edition for years,its longevity means that it must have got some abstraction right!
The javadoc of its current successor: https://hub.spigotmc.org/javadocs/spigot/overview-summary.html
The Sponge API is a relatively new(but also has been around for a year or two) plugin API that runs on forge,I will put their docs here too:https://jd.spongepowered.org/7.0.0/
I think we should,even must learn from our "java predecessor" to aid us in designing a lightweight,simple to use API by utilizing the expressiveness of the duck-typed language.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.