[nodebb-plugin-minecraft-integration] Minecraft Integration!
-
ABANDONED
I am putting this plugin on haitaus as I do not have time to maintain it and no idea if I ever will. You can contact me directly if there is a feature you need for your forum and I'll make a best effort to help you out. Cheers.
.Minecraft Integration
The Minecraft Integration project aims to reproduce and enhance widgets and features found on sites such as Enjin (XenForo-based) for use on a NodeBB forum.
Compatible with NodeBB v1.5.0 and up.
Requirements
- At least one Minecraft server with:
- The plugin nodebb-integration installed.
- Java 8u101 or greater
- Supported server versions include: Spigot/Paper, Forge, Sponge, GlowStone BungeeCord, Waterfall, RedisBungee, or PocketMine.
- (K/Cauldron, MCPC+, and Thermos supported via the legacy jar and do not require Java 8)
Setup
After installing the plugin and restarting your NodeBB forum, go to the Plugins->Minecraft Integration page in the Admin control panel and add a new server.
Copy the server's API key.
On your Minecraft server console, enter the command
/nodebb key {APIkey}
The server will now connect to your forum and send it information every minute or when an event occurs.
Server Configuration
Server Name
This name is used by the plugin to identify the server.
Server Address
This is the address users use in game to connect to the server.
API Key
This key is used to connect your Minecraft server to the forum.
Widgets
Server Status Widget
Shows MOTD, min/max players, version, online player avatars, and other information about the Minecraft server. Displays everything in a pretty table. Custom rows can be added for things such as Mod Pack downloads, donation links, or any other html you wish to add.
Mini Map Widget
Displays a Dynmap or Overviewer mini-map with configurable start location. (World/MapType/Coordinate).
Online Players Graph Widget
A graph showing the number of player on the server recently. (Last 30 pings)
Online Players Grid Widget
A grid of avatars of players currently on the server.
Top Players List Widget
Displays user avatars in a list representing the top players' approximate play time.
Top Players Graph Widget
A graphic chart (Pie) representing the top players' approximate play time.
TPS Graph Widget
A graph showing the servers' recent Ticks per Second.
Chat Widget
Show the in-game chat in a shoutbox-like widget. Send messages if your forum user is registered.
Plugin API
Other apps can read data the plugin has collected via it's API.
Features in Development
- Character Profiles - A mini profile for your character.
- Gallery Widget - A selection of user-uploaded screen-shots.
- Server Page - A page just for server data.
- Directory Widget - Display notable character profiles.
- Ping Graph Widget - Display recent server pings.
- At least one Minecraft server with:
-
Added several icons to the status with dropdowns for mods and plugins on the server.
Will be adding Legacy server support soon as well.
-
The newest version (0.2.0) has quite a few improvements:
Server settings are now configured in the Installed Plugins page, while the display options are on the widget config.
Added legacy server compatibility, simply check the "Is Legacy?" box in the server settings page.
Server query data is now stored on the database and updated every minute instead of every page load.
Widget boxes should now blend with the current theme styles, and text is aligned much better.
Widget boxes are aligned properly on different viewports and when stacked.
Fixed a few errors if query was offline, but server ping was successful.
-
(0.2.5 Changes)
Two new widgets. Online Players Graph and Top Players List.
New per widget color customization options. (with colorpicker)
Many bugfixes, including one major one that could prevent installation.
-
@yariplus can you add a map widget? Maybe something based on Dynmap Forge?
-
@pitaj Depends.
Dynmap forge/bukkit integration is fairly easy, even easier if it's on the same machine. I'll probably add that at some point, but if I just made widgets that communicate with dynmap forge/bukkit, it wouldn't be much different than just adding a static page with an <iframe>. (I've seen many sites doing this, and it works well)
However, my goal is to write widgets without the use of server plugins or mods, which can be more difficult. The best way I can think of would be to write a Node.js port of dynmap, and add it as a dependency. I'll look into how difficult this may or may not be.
-
@Scuzz Shoot, working on a fix.
This is actually two problems, the first one is easy, the width of the widget just needs to be 12. But the other problem is that I'm creating my own container, assuming that the user isn't going to use their own widget container, which is a bad assumption on my part. They should be the right size/alignment whether you are using a widget container or not.
-
Saying that, I have seen a lot of errors in my log
{ [MongoError: Btree::insert: key too large to index, failing bitbangers.objects.$_key_1_value_-1 1051 { : "MCWES1onlinePlayers", : "{"onlinePlayers":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1","1","1","1","1","1","0","0","0","0","0","0","1"],"time":["10..." }] name: 'MongoError', code: 17280, err: 'Btree::insert: key too large to index, failing bitbangers.objects.$_key_
Also, When this plugin is enabled I get issues where my other widgets do not load. I have to click on the logo to get a refresh and then the widgets load.
mismatched anonymous define() module
Is reported in java console.
-
@Scuzz Thanks for reporting the errors.
The second one was a problem with the way I was importing chart.js, and should be fixed in the latest commit.
I think the first one is a string formatting error, I'll try formatting the string better.
-
Oh wow. Somehow this went under the radar for me. Nice work
-
@Scuzz Sorry this took so long, I've been a bit busy.
> { [MongoError: Btree::insert: key too large to index, failing bitbangers.objects.$_key_1_value_-1 1051 { : "MCWES1onlinePlayers", : "{"onlinePlayers":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1","1","1","1","1","1","0","0","0","0","0","0","1"],"time":["10..." }] > name: 'MongoError', > code: 17280, > err: 'Btree::insert: key too large to index, failing bitbangers.objects.$_key_
The latest npm package 0.2.14 or git master branch should fix this issue. Tested in 0.5.7 with mongo.
I've added a bunch of new features too, I'll be detailing them soon once I get the rest of the bugs worked out.