This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple servers.

Overview

OpenSourceSectors 😎

🗒️ This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple servers.

🍎 The reason why I released this plugin is because I would like to make combining servers into one to spread out load between them easier. 👉 Finally, I am glad to provide the OpenSourceSectors, and everyone is welcome to adjust the code and help make it better by editting the code, adding new features, etc.

💖 If you want to report any bug or request a feature please create a issue.

Requirements 📗

Usage ✔️

🎉 Download the latest stable release from releases page, put the BungeeCord plugin into the BungeeCord Server and configure it, put the Spigot plugin into every Spigot server and configure the master server (look at BungeeCord configuration for more information) and launch all servers.

How it works

💻 Bungeecord becomes a "master server" which provides configuraction for each Spigot server, but you have to set a server-name for each Spigot server and the "master server" configuration (ip, port and password - optional). Once all servers are up and running, everything will be ready to use.

Spigot listeners 🖤

PlayerChangeSectorEvent

public class PlayerChangeSectorListener implements Listener {

    @EventHandler
    public void onSectorChange(PlayerChangeSectorEvent event) {
        event.getPlayer(); // Return player that's trying to change sector
        event.getNewSector(); // Return sector, that player is trying to reach
        event.getOldSector(); // Return player's sector
        event.setCancelled(true); // You can cancel this event. Then player can't change sector
    }
}

Contribution ❤️

The most powerful feature of open source projects is developers community ❤️ . Everyone is welcome and will be written below 🔥 .

TODO 📓

  • Make a Easy-To-Use API to write compatible plugins with OpenSourceSectors. 📖

Known Issues 🐛

  • Remaining distance is wrongly calculated. 👻

Thanks for your support. ❤️

Comments
  • Rewrite networking to netty

    Rewrite networking to netty

    TODO:

    • [x] Client-Server communication
    • [x] Protobuf encoder/decoder supports messages and sub-messages
    • [x] Data encryption/decryption
    • [x] BungeeCord-Spigot communication
    • [x] Spigot-Spigot communcication (propably will be dropped)

    Password authentication has been dropped, S2S communication should be bound on internal network.

    One of task from https://github.com/Inder00/OpenSourceSectors/pull/14

    opened by Inder00 5
  • Bump protobuf-java from 3.19.0 to 3.19.2 in /Protocol

    Bump protobuf-java from 3.19.0 to 3.19.2 in /Protocol

    Bumps protobuf-java from 3.19.0 to 3.19.2.

    Release notes

    Sourced from protobuf-java's releases.

    Protocol Buffers v3.19.2

    Python

    • Fix missing Windows wheel for Python 3.10 on PyPI

    Java

    Protocol Buffers v3.19.1

    Bazel

    • Ensure that release archives contain everything needed for Bazel (#9131)
    • Align dependency handling with Bazel best practices (#9165)

    JavaScript

    • Fix ReferenceError: window is not defined when getting the global object (#9156)

    Ruby

    • Fix memory leak in MessageClass.encode (#9150)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Update release - v1.1.0

    Update release - v1.1.0

    Admision:

    The major update to introduce an API for easy use and simple integration with other plugins.

    TODO:

    API will be introduced in next release ~~- [ ] Easy-to-use API~~ ~~ - [ ] Tunnel between servers (protobuf)~~ ~~ - Write your suggestions down below~~ ~~- [ ] API documentaction~~

    • [x] Rewrite networking to netty without any 3-rd party frameworks (#15)
    • [x] Update checker (Github API) (#19)
    • [x] Implement bstats (can be disabled in config) (#20 based on #17)
    • [x] Reload configuration via command (/reload is working correctly)
    • Write your suggestions down below
    opened by Inder00 0
  • Bump protobuf-java from 3.19.2 to 3.19.6 in /Protocol

    Bump protobuf-java from 3.19.2 to 3.19.6 in /Protocol

    Bumps protobuf-java from 3.19.2 to 3.19.6.

    Release notes

    Sourced from protobuf-java's releases.

    Protocol Buffers v3.19.6

    Java

    • Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
    • Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
    • Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
    • Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
    • Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
    • This release addresses a Security Advisory for Java users

    Protocol Buffers v3.19.5

    C++

    Protocol Buffers v3.19.4

    Python

    • Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)

    Ruby

    • Fixed a data loss bug that could occur when the number of optional fields in a message is an exact multiple of 32. (#9440).

    PHP

    • Fixed a data loss bug that could occur when the number of optional fields in a message is an exact multiple of 32. (#9440).

    Protocol Buffers v3.19.3

    Python

    • Fix missing Windows wheel for Python 3.10 on PyPI
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Configuration problem.

    Configuration problem.

    Hey is there any help with connecting sector configurations? I would like to learn, but if I did it as if it was supposed to work, it does not work: D

    opened by DevangerTM 0
  • Returning to wrong server

    Returning to wrong server

    When you join the server and switch sectors, after you leave and join you get put back to the location of the first server you were on, not the sector you left on.

    opened by FiftyOneWhy 0
  • Help with compiling source code

    Help with compiling source code

    Hi I have opened this project into my code editor using git, and all import using maven etc are good, its just I am receiving this error when try to build the Spigot module I replaced the distance to border from action bar to boss bar and want to see if it works.

    Error: C:\Users\XXXXX\Desktop\Plugins\IntelliJ Projects\OpenSourceSectors\Protocol\src\main\java\pl\inder00\opensource\sectors\protocol\handlers\client\DefaultClientHandler.java:10:55 java: package pl.inder00.opensource.sectors.protocol.protobuf does not exist

    And its causing this in the code: image

    I am trying to try play around with some open source code so if you could please try help me how to use open source code it would be greatly appreciated have my discord if you could help me import this correctly.. 51y#7760

    opened by FiftyOneWhy 1
Owner
To the moon 🚀
null
A Spigot Plugin that connects your server chat with a discord channel

Minecord A Spigot Plugin that connects your server chat with a discord channel. Features Connects your in game chat with a channel on your discord ser

EPS-DEV 1 Apr 3, 2022
BungeeCord/Spigot plugin that fixes Multi-world detection by simulating mod presence on the server side

Companion for map mods Unofficial BungeeCord and Spigot (Paper) companion plugin for Xaero's Minimap (and their World Map), JourneyMap and VoxelMap. T

Artur Khusainov 3 Sep 18, 2022
A Velocity proxy plugin for Minecraft server discovery in k8s. All discovered servers are automatically added to the Velocity proxy.

kryo-server-discovery This plugin connects minecraft servers to a velocity proxy within Kubernetes. The service account in the namespace which the pro

Kryonite 9 Sep 13, 2022
trying to create a plugin using the spigot api! this plugin will be responsible for delivering the products according to the settings!

KettraShop "simples plugin de ativação de produtos da loja, dentro do Minecraft" ⚙️ Configurações caso você não tenha uma loja virtual para seu servid

SEBASTIAN JN ฅ^•ﻌ•^ฅ 4 Nov 2, 2022
Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in.

JoinMessages Minecraft configurable plugin , which sends messages the first time a player logs into the server or the next time they log in or leave.

ᴠᴀʟᴇɴᴛɪɴ ᴢʜᴇʟᴇᴠ 6 Aug 30, 2022
SBSRE is an eclipse plugin for extract method refactoring based on the single responsibility principle(SRP)

SBSRE is a slice-based single responsibility extraction approach supported by an eclipse plugin for identifying Single responsibility violations in the methods.

null 4 Jul 8, 2022
A bukkit/spigot plugin to add custom music discs using the Simple Voice Chat API.

Custom Discs 1.19 A spigot/bukkit fork of henkelmax's Audio Player. Play custom music discs using the Simple Voice Chat API. (The voice chat mod is re

null 21 Dec 22, 2022
A guild plugin for Minecraft Servers that supports 1.13 and above

OasisGuild Description A guild plugin for Minecraft Servers that supports 1.13 and above Languages zh_cn(简体中文) en_us(English) Placeholders %oasisguild

ChiyodaXiaoYi 2 Apr 6, 2022
r/place replica in Minecraft (Bukkit/Spigot plugin)

MinePlace offers a completely new gaming experience in Minecraft. As a parody of r/place, a world-renowned reddit community project, this project offe

Northernside 4 Aug 19, 2022
Eclipse Temurin™ build scripts - common across all releases/versions

Repository for code and instructions for building OpenJDK binaries, defaulting to Eclipse Temurin™ These scripts can be used to build OpenJDK anywhere

Eclipse Adoptium 914 Jan 4, 2023
Caches datapack- and server resources to make world creation faster.

antiresourcereload Caches datapack- and server resources to make world creation faster. Legalisation Status Legal (1.0.2) Description I found out abou

Wurgo 13 Nov 18, 2022
A bitcoin explorer Java library that utilizes multiple data sources at once.

Bitcoin Explorer A bitcoin explorer library that utilizes multiple data sources at once. Branch Build Unit Tests master development Table of Contents

Scorpius 3 Jan 31, 2022
paste bot for discord. Choose between multiple paste services.

WriterBot Description A simple paste bot written in java. This bot uploads all kinds of text files sent in the channels to https://paste.gg and provid

Dibyajyoti Dey 5 Aug 27, 2022
A Minecraft Plugin For 1.8.8 - 1.19.2 For Giving A Player A Custom Item On Join Which Executes A Command On Right Click

PixelPlayz Custom Item A Minecraft Plugin For 1.8.8 - 1.19.2 For Giving A Player A Custom Item On Join Which Executes A Command On Right Click Install

null 2 Sep 9, 2022
💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

?? 为性能而生的万能服务器框架 ?? Ⅰ. zfoo简介 ?? 性能炸裂,天生异步,Actor设计思想,无锁化设计,基于Spring的MVC式用法的万能RPC框架 极致序列化,原生集成的目前二进制序列化和反序列化速度最快的 zfoo protocol 作为网络通讯协议 高可拓展性,单台服务器部署,

null 1k Jan 1, 2023
Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies.

Sentey Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies. But firewalls are a

ComuGamers Network 18 Dec 28, 2022
All the Android-Java Projects in Single Repository

Android Java Projects List of Projects Factorial Calculator Multiplication Table Web App Steps to Run the Applications Clone this Repository Create a

Rajan Gautam 2 Oct 10, 2022
Implementation of Azure/SAML Single Sign on in PeopleSoft

Azure/SAML SSO in PeopleSoft I had the requirement to implement Microsoft's Azure single sign on (SSO) in PeopleSoft without purchasing Oracle's or Ap

null 9 Aug 24, 2022
Small app to create icon sets for Linux, Windows, OSX, Android and IOS from a single PNG image

FXIconcreator Small app to create icon sets (multi resolution) for Linux, Windows, OSX from a single PNG image Reason for creating such an app was tha

null 18 Aug 4, 2022