Code Monkey home page Code Monkey logo

bdlauncher's Introduction

bdlauncher

A flexible , simple and easy-to-install third-party BedrockServer launcher with mods support (1.14)
Only for BDS Linux

Archived repository.New version(for wine-bdlauncher) is in development.

已停更。为wine-bdlauncher移植的新版本 还在早期开发阶段。

另一个持续维护分支bdlauncher-lts

Telegram group: https://t.me/bdlauncher
QQ group: 955765957

License

MIT

Prebuilt binary

Checkout the GitHub Actions Artifact

Install

Credits

name link
HOOK Lib https://github.com/Menooker/PFishHook
BDS API https://github.com/MCMrARM
BDS API https://github.com/codehz/cobblestone

bdlauncher's People

Contributors

314159265358x avatar codehz avatar kawaiinahida avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bdlauncher's Issues

Add Serverlist Voting Service support

PMMP has a popular plugin called “PocketVote” that allows serverlist and your minecraft server to communicate and reward players that help the server by voting to promote the server.
PocketVote is open sourced and can be converted into a BDL mod.

question

so in the new update if players try to place dirt the shop ui is opened. very nice feature, unfortunately not really good for my smp server xD in what file can I disable this function?

antibear误判刷物

初始化ISlots时未加载副手原有物品,玩家进入服务器取出副手物品时误判刷物

领地指令无反应

我输入
/land start
/land end
/land buy
等等指令,都不会在聊天栏显示出来。当然,也不会完成购买。
我的Minecraft版本是1.10,使用land1.10.so
望尽快修复!!
如果可以,麻烦作者留个QQ?我的QQ:2403393945

新的插件创意:关于“聊天室”插件

一、插件名称
chattingarea

二、如何工作及其表现
1.仅对玩家消息进行处理,规定玩家发送消息可接收目标及接收消息可查看目标,对命令中的“/say,/tell,/msg,/tellraw”无影响(即不在同一聊天室玩家发送的信息互相看不到,只有在同一聊天室玩家发送的信息互相才看得到)
2.某聊天室内玩家发出信息在聊天栏显示格式为“【聊天室名称】+信息”
3.聊天室内的聊天消息会在服务器根目录文件输出一个数据文件以保存聊天记录,并且可以对外调用(调用到第三方网页等,例如通过机器人将聊天消息调用到QQ群实现“【QQ群聊天室】”游戏内外消息同步的效果)
4.通过指令(/chat area add [聊天室名],/chat area remove [聊天室名])创建或移除一个聊天室,只有OP和命令方块才能使用该指令
5.通过指令(/chat access view/talk [目标选择器] [目标聊天室(聊天室名)] [授权或夺权(布尔值)])规定玩家对于某聊天室的权限,只有OP和命令方块才能使用该指令。“view”指可接收某聊天室信息,“talk”指可在某聊天室发送信息。
6.通过指令(/chat message view/talk [目标聊天室(聊天室名)] [开关(布尔值)])对某聊天室的信息接收和信息发送进行调控开关,成员玩家均可使用该指令。当然可调控的目标聊天室只有“access”权限允许的聊天室。当玩家对某些聊天室(多个目标)的“view”调控为“true”时,可在聊天栏显示这些聊天室的信息;调控为“false”则反之。当玩家对某聊天室(单个目标)的“talk”调控为“true”时,则会将自己信息发送目标指定在该聊天室,并且将自己在其他聊天室的“talk”调控为“false”(改操作可理解为切换发送信息频道);调控为“false”只对自己“talk”为“true”聊天室有作用,对于“talk”为“false”聊天室无影响;对“talk”为“true”的聊天室使用“false”,则会让自己发送消息的频道自动切换到“【附近】”聊天室。
7.“【附近】”聊天室指玩家自身实体周围一定半径圆范围的其他玩家可接收到自己的信息,在聊天栏中显示“【附近】+信息”,“【附近】”聊天室是插件默认自带就有的。任何玩家的“【附近】”聊天室的“view”和“talk”的“access”权限是默认为“true”的,仍可通过指令(/chat access)修改玩家在“【附近】”聊天室的权限。玩家不能通过指令(/chat message)对“【附近】”聊天室的“view”调控开关
8.当玩家没有任何聊天室的“talk”权限,将无法发言。系统会发送提示消息给玩家“您被禁言,无法发言”

三、拓展意义
1.可以实行分频道聊天,做出“世界聊天”“公会聊天”类的聊天效果
2.可以将聊天对象分开,实现有小游戏(特别是“卧底类型的小游戏”)的服务器中游戏内和游戏外玩家无法聊天和交流,防止影响游戏体验

四、对插件开发者留言
如果你要对该插件标明作者信息,希望你能标上“创意来源于雷欧炜翼”(英文:Creativity comes from leoweyr),这将成为我不断创作插件创意的动力。最后希望你根据我创意做出来的插件能成为你的代表作或满意或得意之作。

add命令添加

if(origin.getOriginType()==0 && ((Player*)origin.getEntity())->getCommandPermissionLevel()<1) return;
if(swith(oper,"add")){
if(oper.size()>4){
char buf[512];
int nm;
sscanf(oper.c_str()+4,"%s %d",buf,&nm);
addMoney(string(buf),nm);
outp.addMessage("add ok!");
outp.success();
}
}

image

发现一个问题

好像只能买1个方块......(最新1.9)多了就会失败,只买一个3x3购买成功,扣了10 但是大了就会失败

Error with running Makefile

💬 Description of the bug 🐛
When you use
make install RELEASE=1 DESTDIR=..
in console it gives you this, thus not running the Makefile, and not generating the executable bdlauncher file.
CC obj/launcher_exec_server_release.o cc: error: unrecognized command line option '-std=gnu17'; did you mean '-std=gnu11'? Makefile:147: recipe for target 'obj/launcher_exec_server_release.o' failed make: *** [obj/launcher_exec_server_release.o] Error 1

Expected behavior 🤔
The makefile should be ran and the executable bdlauncher file should be generated.

Screenshots 📷
image

💬 My info:

  • OS: Ubuntu

🤨Additional context
I have installed all the requirements in the Install.md (including clang-format). I have followed all the instructions stated in that file as well.

新的插件创意:关于“窗口”插件

一、插件名称
window

二、如何工作及其表现
1.开发者制作一个框架,由需求者自定义实质内容。相当于插件开发者制作plugin,其他需求者根据实际将其做成该plugin的addon
2.游戏内执行一条命令,召唤该窗口。执行命令及命令描述没有唯一,由需求者自定义。但其基本结构为①执行指令+ture(打开窗口)②执行指令+false(关闭窗口)
3.窗口由本身样式及其功能组件组成。游戏内使用窗口即是浏览或使用其中的组件。窗口可视区域分为标题区和组件区
4.本身样式即窗口大小、窗口背景透明度。开发者在原始框架中注释窗口最大大小及标准大小
5.组件即纯文字段、图片、按钮、输入框。可以理解为像html那样
6.编辑窗口组件像编辑html那样的标签化
7.按钮即点击执行一条链指令或跳转至某个url。按钮大小和透明度可调,其中可视的信息部分可以加入文字或图片或图文并茂。一条链指令要支持像命令方块逻辑那样的“有条件的”和“无条件的”,最好也支持目标选择器
8.输入框即动态变量。某个输入框的变量可以在插件文件中定义为某个值,如a输入框的变量定义为b,当玩家在窗口实时输入一个实际字段“c”时,该变量就会实时变成“c”。变量可以在命令中使用,(接着前面给变量b赋的实际自动为“c”)如say b,则实际执行的指令为say c。通过这样与按钮的执行命令功能再结合其他插件可以做成实时的可变功能,比如添加好友、cdk兑换、购买物品数量等
9.需求者做出的addon像插件那样,一个服可以装多个“window”插件,需求者改插件名即可不冲突。基本框架插件名为“window”

三、拓展意义
1.插件开发者开发一个基本框架,由需求者根据实际需求做出千万种可能的addon,并且降低开发门槛,有助于大部分无相关C++能力的腐竹。
2.该插件可以自由变换成具有新闻公告、RPG兑换、游戏商城等功能的addon

四、对插件开发者的留言
如果你要对该插件标明作者信息,希望你能标上“创意来源于雷欧炜翼”(英文:Creativity comes from leoweyr),这将成为我不断创作插件创意的动力。最后希望你根据我创意做出来的插件能成为你的代表作或满意或得意之作。
我也不知道为什么不能上传图片,我将以pdf的方式通过QQ私发给你。

新的插件创意:关于“目标选择器”插件

一、插件名称
targetselectorplus

二、如何工作及其表现
1.新增@l,解释是last entity
2.@l像其他目标选择器(@s@A@r@p@e)一样,可以用于单条指令、命令方块、function包等普通目标选择器可以做到的事情
3.在一条链的指令中,其中一条指令的@l是选中该链中这条指令的前一条指令成功执行的目标。当@l用于该链第一条指令时,则不会选中任何目标。

三、拓展意义
1.具体地对一个详细的目标进行追踪,准确将指定目标完成预定的无限指令
2.具有“选择筛选功能”,当某目标不能被“上一条指令”成功选中执行时,就会破“淘汰”,被“筛选”掉

四、对插件开发者留言
如果你要对该插件标明作者信息,希望你能标上“创意来源于雷欧炜翼”(英文:Creativity comes from leoweyr),这将成为我不断创作插件创意的动力。最后希望你根据我创意做出来的插件能成为你的代表作或满意或得意之作。

Compilation Error

There are some issues with the bear mod, it won't compile, even with default source code

三个建议,附带一个bug

建议

  • 聊天记录、违禁物记录、玩家出入服务器记录 单独保存成一个log文件
  • 语言文件从代码中分离出来,改为配置加载,语言在配置中自行设置,因为服务器是英文的,玩家可能是**的
  • 移除掉这句话,因为不管是服务器还是客户端都已经有一句了,加了这句话就重复说两次了
    image

BUG

  • 所有玩家的名字都变成了 [ADMIN] c
    image

私聊问题

有玩家恶意msg @A 玩家人数多了会造成卡顿

这是什么问题

DEP obj/launcher_exec_server_release.d
CC obj/launcher_exec_server_release.o
cc: error: unrecognized command line option '-std=gnu17'; did you mean '-std=gnu11'?
Makefile:156: recipe for target 'obj/launcher_exec_server_release.o' failed
make: *** [obj/launcher_exec_server_release.o] Error 1

请问一下还有什么依赖

yneos@WangYneos-PC:/mnt/c/Users/WangYneos/Documents/GitHub/bdlauncher/mods/land$ sudo ./cm.sh
main.cpp:8:10: fatal error: minecraft/command/Command.h: No such file or directory
#include <minecraft/command/Command.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

两个 cmd.json 参数问题

{
        "type": "timer",
        "time": 2000,
        "shift": 10,
        "cmd": "say Timer!"
}
  • shift 参数:是什么
  • cmd 参数:如果遇到命令集,是直接使用 function 命令, 还是有别的方式写在这个配置文件里

.

.

Changed max homes on an existing server=crash

  1. Max homes were at "10"
  2. Switched to "15"
  3. Player added 11th home, server crashed.
    4 Config switched back to "10"
  4. All others can use /home
  5. This one player can't even use home or try to delete that home without the server crashing. Have tried putting the config back at 15 long enough for him to delete it, same crash.

I've updated to your latest software and all other requirements are updated.
OS: linux ubuntu 18.04 bionic beaver
Please see screenshot for crash errors and other info, thanks! (also thank you for providing this software and your hard work, the players enjoy it)
Screenshot (199)

outp.success没有响应

玩家无法接收到outp.success,但outp.error能显示。另外,后台能接收到outp.success的信息。

BUG

bedrock_server: ../../include/rapidjson/document.h:1169: rapidjson::GenericValue<Encoding, Allocator>& rapidjson::GenericValue<Encoding, Allocator>::operator[](const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>]: Assertion `false' failed.

tpa模糊匹配出错

getplayer_name2获得了正确玩家指针,但是dname保存的是用来模糊匹配的玩家名而不是完整玩家名,导致无法接受请求

[Idea] New Command Register Interface

Concept:

CustomCommandResult teleport_to_player(CommandOrigin &origin, ServerPlayer *target) {
// IMPL
}
CustomCommandResult teleport_to_pos(CommandOrigin &origin, Vec3 target) {
// IMPL
}
// register
BDLCommandRegistry.register("teleport", teleport_to_player, teleport_to_pos);

Note: the pattern of the command is CustomCommandResult (*)(CommandOrigin &origin, T... t)

使用Custom Map时出错

1.使用img2bin转换图片,未出错,输出0.bin和1.bin
2.我把1.bin放到/mods文件夹内
3.手持空白地图(无定位器)在服务器内/map 1.bin
4,服务器成功崩溃(下图)
3

BDS: 1.14.20.1
BDL: 2020.01.30 0:23时pull
OS: Debian10
其他Error: 根本没

希望dalao解决,custom map可以淦很多好玩的事情呢~

Switch to XUID

When are you going to refactor mods and their commands, I propose to switch to XUIDs and do commands case independent for players names. I mean when player use /money pay extollite 50 it should pay to Extollite if he exists on the server. And also I think it should be linked to player's XUIDs if they switch their name they would still have their money.

Errors

在1.9.0.25版本中,会导致命令失效
[2019-02-09 11:44:22 INFO] Player connected: WangYneos, xuid:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Money Plugin Bug Fixing Version!(Chinese)(Can download)(Don't close)

Bugs Fixed:
1.Fixed a bug what the server crashed when you executed the '/money add' command
2.Fixed a bug what allowed you to set a player's money from positive number to negative
3.Fixed a bug what the server crashed when you executed the '/money paygui' command in console
4.Fixed a bug what a big part of commands can only be used in game,if you use them in console,the server will crash!
optimizations:
1.It has been sinicized!
2.If players' input are not right,plugins will tell them ----"[MONEY]用法错误,输入/money help查看用法"
3.Subcommand "help" added
4.Command 'reload_command' has changed to "money reload"
5.Permissions changed more rigorous
6.Texts changed more colorful
7.Many things that shouldn't be able to be performed in the console are all Limited
8.Execution time is shortened but not obvious
9.Limit the command 'money pay' can't pay yourself
10.Command name slightly adjusted
11.Many small details have been optimized
download: https://pan.baidu.com/s/1gZlYzbGZnemxmrTRLUD2aw
password: jx6g
You can use pandownload(www.pandownload.com) to download it quickly!
Supported by Candy Technology

TODO:code cleanup

  • Separate old version db compatible code from main.cpp
  • use api with namespace,like Base::sendNetworkPkt,BDLEvent::register_xxx
  • use eventClass for event listeners.
  • rewrite c-style codes to cpp-style.

Aux.h

Hi,
Could you rename file aux.h because name aux is reserved in Windows as system name and I can’t clone this repository to my PC.

TODO List

  • Fix max_homes #75
  • XUID-based money system #57
  • Event system
  • Automatic ban in anticheat
  • runtime reflection helper for ServerPlayer

BUG

bedrock_server: ../../include/rapidjson/document.h:1169: rapidjson::GenericValue<Encoding, Allocator>& rapidjson::GenericValue<Encoding, Allocator>::operator[](const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>;
Encoding = rapidjson::UTF8<>;
Allocator = rapidjson::MemoryPoolAllocator<>]: Assertion `false' failed.

请求转载

你好!
我是MCBDS.CN基岩服务端扯皮论坛的站长,申请对您的BDlauncher转载到我滴论坛。star已给,烦请大佬在百忙之中给出答复 再次[#滑稽]!
Redbeanw
2019.2.11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.