Matterbridge link for Minecraft Server chat.

Overview

Discord Discord Download 1.12.2 Jenkins Patreon

MatterLink

A Matterbridge endpoint for MC servers!

THIS MOD REQUIRES YOU TO ALSO RUN A MATTERBRIDGE RELAY https://github.com/42wim/matterbridge

Chat with us on IRC: #matterlink @ irc.esper.net

Downloads

Github All Releases

Jenkins

Files

Download 1.12.2

Download 1.9.4

Dependencies

Forgelin Files

Features

Custom bridge commands

includes pass-through to Minecraft commands!
Default commands: help, tps, list, seed, uptime

Commands are specified in JSON format as follows:

Passthrough command (executes the configured command from the MC server console)

{
    "tps": {
        "type": "PASSTHROUGH",
        "execute": "forge tps",
        "permLevel": 0,
        "help": "Print server tps",
        "allowArgs": false
    }
}

Response command

{
    "uptime": {
        "type": "RESPONSE",
        "response": "{uptime}",
        "permLevel": 1,
        "help": "Print server uptime",
        "allowArgs": false
    }
}

Acount Linking

To link your chat account to your minecraft uuid
execute !auth Username
make sure to use the proper username and command prefix, the system will then guide you through

internally the identity links are stored like so:

{ 
    /* username: NikkyAi */ 
    "edd31c45-b095-49c5-a9f5-59cec4cfed8c": { 
        /* discord id */ 
        "discord.game": [ 
            "112228624366575616"
        ]
    }
}

Command permissions

Higher numbers mean more permissions. Configured per uuid.

{
  "edd31c45-b095-49c5-a9f5-59cec4cfed8c": 9000
}

Reload

Edit and reload the config file without restarting the server!

/ml 
   
    
    connect:    Connects the MC chat to the MatterBridge server
    disconnect: Disconnects the chat from the MatterBridge server
    reload:     Disconnects, reloads the config and custom command files, 
                then reconnects.

   

Setup

Requires the matterbridge config api section to be setup along these lines:

Local

If ou know the matterbridge will run on the same machine as the Minecraft Server

[api]
[api.local]
    BindAddress="127.0.0.1:4242" // Listens only for localhost
    #OPTIONAL (no authorization if token is empty)
    Token="" # Token left empty
    Buffer=1000
    RemoteNickFormat="{NICK}"
    ShowJoinPart = true

With this you need no extra configuration steps.. just run matterbridge and then start the minecraft server (or reload matterlink with command if it runs already)

Remote

If the matterbridge runs on a different machine

[api]
[api.local]
    BindAddress="0.0.0.0:4242"
    #OPTIONAL (no authorization if token is empty)
    Token="mytoken"
    Buffer=1000
    RemoteNickFormat="{NICK}"
    ShowJoinPart = true

you need to know the ip / domain of the matterbridge and the token used, enter them in the ´connection' section in the config and reload matterlink

Sample

Install matterbridge and try out the basic sample:

go get github.com/42wim/matterbridge
mv matterbridge-sample.toml matterbridge.toml
matterbridge

now start the server with matterlink (and forgelin) in the mods folder

and then RTFM!!! and configure all your needed gateways, endpoints etc

powered by wishful thinking

Comments
  • Not getting the /config command

    Not getting the /config command

    i installed the lastest release for 1.12 on a sevtech: ages server and the /config command does not show up. I'm having other issues too, but i'm pretty sure those are my-side right now.

    opened by jasperfirecai2 8
  • Build MatterLink as a Spigot/Bukkit plugin

    Build MatterLink as a Spigot/Bukkit plugin

    Currently, MatterLink is a mod for Forge. But would it be possible to extend it to also support building it as a plugin for Spigot/Bukkit?

    Spigot supports plugins written in Kotlin, so I guess it should be easy to add the correct event handlers. But I don't know how to setup a project which supports Forge and Spigot/Bukkit from the same code base.

    I have some knowledge in writing plugins using the Bukkit API, but I have no knowledge of Kotlin at all.

    opened by Programie 5
  • Error repeatedly logs

    Error repeatedly logs

    Hi,

    A friend and I have tried to set up a matterlink and bridge but we've currently run into this issue whenever we type something in minecraft:

    [21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.transmitMessage(MessageHandler.java:166)
    [21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.transmit(MessageHandler.java:119)
    [21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.stop(MessageHandler.java:61)
    

    these three lines keep repeating themselves and time everyone out from the server. What other info do you need from me to help resolve this? NikkyAI/MatterLinkAPI#1

    opened by jasperfirecai2 2
  • Log

    Log "spam", user disconnected

    http://prntscr.com/k19idg

    This is not anything important but if a user keeps relogging it will start to spam console. I suggest only printing this message if its used and not empty.

    https://github.com/elytra/MatterLink/blob/master/core/src/main/kotlin/matterlink/handlers/JoinLeaveHandler.kt#L20

    opened by Wurmatron 1
  • multi gateway

    multi gateway

    support multipl gateways based on

    • position
    • dimension

    we also want ot be able to map from gateway (incoming) to dimesnion and location as well as chat range

    config sketch:

    gateways.json

    {
    "default": "global",
    "mapping": {
      "global": 
       [
         {
           "dimension": 0
         }
       ]
      "gateway1": 
        [
          {
           "x": 123, 
           "y": 456, 
           "z": 678, 
           "range": 90,
           "dimension": 0 
          },
          {
           "dimension": 2
          }
       ]
    }
    }
    

    missing location / range values would imply to be dimension-global

    dimension must be specified to define location restrictions

    how do we handle chat in a not defined location ? options

    • send to the default / global
      how do we handle chat coming back then ? make it all global ?
    • ignore it
      you are in a unmapped area .. maybe that is intended

    this does not handle possibilities of priorities.. areas enclosing other areas, etc for that we would likely need to use rulesengine

    opened by NikkyAI 1
  • logger log4j method not found

    logger log4j method not found

    using Minecraft 1.7.10 (modpack Tekkit Legends)
    using MatterLink MatterLink-1.7.10-1.6.3.jar in mods folder.
    matterbridge is running and also working between telegram and discord. MatterLink now should be added to the pipe.
    But when the Minecraft Server starts, the error
    java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.info(Ljava/lang/String;Ljava/lang/Object;)V
    occures.
    Is there no log4j compiled in the jar? How to add such a specific dependency?

    opened by toddeTV 0
  • prefixed commands and other things on the TODO list

    prefixed commands and other things on the TODO list

    we need commands that can be executed from the bridge using a configurable prefix

    example: !players

    later we want to register more commands and configure whhere/who cna invoke them (bridged-chat, ingame-chat, ingame-ops & server)

    maybe add a mapping in the config for easily addding custom commands

    example:

    structure

    info:
      text: get the the client here.. (insert url) and connect to (insert server url)
      permission: [bridge, chat, op]
      targets: [bridge, chat] # possibly console too
      consume_invocation: true # do not send the invocation command to the mc server (or the other way around)
    

    other possibilities include.. replacing text in the text variable, eg {{PLAYERNAME}}

    mapping different responses (as differend strings can be replaced in different context) example:

    bacon:
      response:
        bridge: "spam spam spam spam"
        chat: "spammedy spaaaaam"
        console: "and eggs - {{COMMAND_SENDER}}"
    

    iuf we find a usable string templating engine that can do loops and similar things too we cna implement playerlist and other features completly config driven too.. until then we hardcode things

    opened by NikkyAI 0
  • Additional Documentation

    Additional Documentation

    Hey, this looks like a useful tool for MC, could you add a few clarifications to the documentation though? I assume this tool is a mod meant to work with Forge, rather than a standalone program or server plugin? Also is there any confirmation or any plans for 1.14 support?

    opened by makcuber 1
  • Server crash

    Server crash

    Apparently server crashes when empty message or message containing some special symbols sent, but I'm not sure Crash log: https://pastebin.com/akB9BMKG

    opened by Lgmrszd 3
  • Internal Server Error (IllegalArgumentException)

    Internal Server Error (IllegalArgumentException)

    java.lang.IllegalArgumentException: bound must be positive
    at java.util.Random.nextInt(Random.java:388) ~[?:1.8.0_191]
    at matterlink.handlers.DeathHandler.handleDeath(DeathHandler.kt:23) ~[DeathHandler.class:?]
    at matterlink.EventHandler.deathEvent(EventHandler.kt:71) ~[EventHandler.class:?]
    

    Log: https://pastebin.com/QrAn2isR

    opened by Wurmatron 0
Releases(1.6.4)
Owner
Elytra
A group of people who like making cool mods and modpacks.
Elytra
This app brings the Matterbridge binary to your server to connect Nextcloud Talk with other chat services

This app brings the Matterbridge binary to your server to connect Nextcloud Talk with other chat services

Nextcloud 27 Sep 12, 2022
Matterbridge API plugin for Reddit Community Chat

Mattereddit 2 Mattereddit is a Matterbridge API plugin allowing you to connect Reddit group chats to the various chat services supported by Matterbrid

null 13 Sep 13, 2022
Matterbridge API Connector for Vintage Story Server

Matterbridge API Connector for Vintage Story Server

null 2 Oct 21, 2021
go-chat is a gRPC based chat CLI written in golang for command line lovers

go-chat go-chat is a gRPC based chat CLI written in golang for command line lovers. This CLI allows you to chat with your friends without leaving the

Piyush Jajoo 3 Oct 14, 2022
Tcp chat go - Create tcp chat in golang

TCP chat in GO libs Go net package and goroutines and channels tcp tcp or transm

amirbahador 0 Feb 5, 2022
Go-random-chat - Fast and scalable real-time random chat written in go

Go Random Chat Fast and scalable real-time random chat written in go. Features:

Hao-Ming, Hsu 13 Dec 21, 2022
Matterbridge mattermost plugin

mattermost-plugin Matterbridge mattermost plugin WIP Configuration You have to create a matterbridge.toml configuration file before running make. Beca

null 13 Dec 11, 2022
Powered by Matterbridge, MatterAMXX is a plugin for AMXX that allows simple bridging between your game servers, Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, and more.

Powered by Matterbridge, MatterAMXX is a plugin for AMXX that allows simple bridging between your game servers, Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, and more.

Gabriel Iggy N. 10 Dec 27, 2022
Bridge facebook messenger with any service supported by matterbridge

fbridge fbridge bridges facebook messenger with any service supported by matterbridge trough the API interface. fbridge is using fbchat to connect to

null 28 Oct 30, 2022
Facebook bridge used with matterbridge

fbridge-asyncio This repo is a fork of fbridge. If you log in to your facebook account from a browser, after you do, it's a good idea to restart fbrid

null 8 Aug 7, 2022
Connect Discourse threads to Matterbridge

Matterbabble Matterbabble is an API client for Discourse and Matterbridge. It mirrors Discourse posts in a topic to Matterbridge messages on a gateway

Declan Hoare 13 Dec 7, 2022
Minecraft Server List Ping library written in Go

minequery Minecraft Server List Ping library written in Go. Features Modern Mine

Altea 17 Dec 28, 2022
Web app utility to get server list data from Minecraft servers.

Ping Web app utility to get server list data from Minecraft servers. Avalible at https://ping.turtley12.dev/app, Running yourself Before compiling and

null 0 Dec 21, 2021
Server-tool - A simple tool to run and create Minecraft servers

Server Tool A simple tool to run and maintain different Minecraft servers. This

Jack 2 Dec 15, 2022
Minekube Connect allows you to connect any Minecraft server

Minekube Connect allows you to connect any Minecraft server, whether online mode, public, behind your protected home network or anywhere else in the world, with our highly available, performant and low latency edge proxies network nearest to you.

Minekube 16 Dec 27, 2022
ULE - Rust-based minecraft server core

ULE - Minecraft's server core written in Rust This's server core fully written i

null 14 Jan 6, 2023
Simulate network link speed

linkio linkio provides an io.Reader and io.Writer that simulate a network connection of a certain speed, e.g. to simulate a mobile connection. Quick s

Ian Kent 53 Sep 27, 2022
A tool capable of flashing a D-Link DIR-882 (no IE required!)

dir882-flasher One problem with the D-Link DIR-882 is that you can only upload firmware using Internet Explorer. IE is going away, and I don't use win

Johan Sundin 1 Aug 6, 2022
Undirect - Get redirect link result with golang

Undirect Usage Request http://localhost:5000/?url=https%3A%2F%2Fokjk.co%2FSqOYfk

Nya Candy 1 Jan 12, 2022