{"id":14969735,"url":"https://github.com/bspfsystems/bungeeipc","last_synced_at":"2026-02-23T10:17:34.743Z","repository":{"id":44377565,"uuid":"263142008","full_name":"bspfsystems/BungeeIPC","owner":"bspfsystems","description":"IPC connections between a BungeeCord proxy and Minecraft Bukkit servers.","archived":false,"fork":false,"pushed_at":"2022-12-29T16:48:02.000Z","size":294,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T23:16:15.739Z","etag":null,"topics":["bukkit","bukkit-plugin","bungeecord","bungeecord-plugin","java","minecraft"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bspfsystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-11T19:45:06.000Z","updated_at":"2024-08-17T01:16:58.000Z","dependencies_parsed_at":"2023-01-31T09:31:06.097Z","dependency_job_id":null,"html_url":"https://github.com/bspfsystems/BungeeIPC","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FBungeeIPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FBungeeIPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FBungeeIPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FBungeeIPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bspfsystems","download_url":"https://codeload.github.com/bspfsystems/BungeeIPC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247183927,"owners_count":20897674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit","bukkit-plugin","bungeecord","bungeecord-plugin","java","minecraft"],"created_at":"2024-09-24T13:42:17.596Z","updated_at":"2026-01-18T18:32:34.076Z","avatar_url":"https://github.com/bspfsystems.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BungeeIPC\n\nBungeeIPC is a set of APIs and plugins meant for BungeeCord proxies and their backend Bukkit Minecraft Servers. It allows other plugins to use the API to send messages between the servers and proxy without relying on the built-in Minecraft/BungeeCord channels.\n\n## Obtaining BungeeIPC\n\nYou can obtain a copy of BungeeIPC via the following methods:\n- Download a pre-built copy from the [Releases page](https://github.com/bspfsystems/BungeeIPC/releases/latest/). The latest version is release 3.1.0.\n- Build from source (see below).\n\nIf you need to use BungeeIPC as a dependency for your project, please see the Development API section below.\n\n### Build from Source\n\nBungeeIPC uses [Apache Maven](https://maven.apache.org/) to build and handle dependencies.\n\n#### Requirements\n\n- Java Development Kit (JDK) 8 or higher\n- Git\n- Apache Maven\n\n#### Compile / Build\n\nRun the following commands to build the plugins:\n```\ngit clone https://github.com/bspfsystems/BungeeIPC.git\ncd BungeeIPC/\nmvn clean install\n```\n\nThe `.jar` files will be located in the `bukkit/target/` folder for the Bukkit plugin, and the `bungeecord/target/` folder for the BungeeCord plugin.\n\n## Usage\n\nPlease see [USAGE.md](USAGE.md) for more information on installation and in-game usage.\n\n## Developer API\n\nThe main purpose of BungeeIPC is to facilitate sending messages between BungeeCord and Bukkit for downstream plugins. Several API modules have been created that can be used by any downstream plugins to access the capabilities in BungeeIPC.\n\n### Add BungeeIPC as a Dependency\n\nTo add BungeeIPC as a dependency to your project, use one of the following common methods (you may use others that exist, these are the common ones):\n\n**Maven:**\u003cbr /\u003e\nInclude the following in your `pom.xml` file:\u003cbr /\u003e\n```\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003esonatype-repo\u003c/id\u003e\n        \u003curl\u003ehttps://oss.sonatype.org/content/repositories/releases/\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003c!-- For both Bukkit and BungeeCord --\u003e\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.bspfsystems.bungeeipc\u003c/groupId\u003e\n        \u003cartifactId\u003ebungeeipc-common-api\u003c/artifactId\u003e\n        \u003cversion\u003e3.1.0\u003c/version\u003e\n        \u003cscope\u003eprovided\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n\n\u003c!-- For Bukkit --\u003e\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.bspfsystems.bungeeipc\u003c/groupId\u003e\n        \u003cartifactId\u003ebungeeipc-client-api\u003c/artifactId\u003e\n        \u003cversion\u003e3.1.0\u003c/version\u003e\n        \u003cscope\u003eprovided\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n\n\u003c!-- For BungeeCord --\u003e\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.bspfsystems.bungeeipc\u003c/groupId\u003e\n        \u003cartifactId\u003ebungeeipc-server-api\u003c/artifactId\u003e\n        \u003cversion\u003e3.1.0\u003c/version\u003e\n        \u003cscope\u003eprovided\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n**Gradle:**\u003cbr /\u003e\nInclude the following in your `build.gradle` file:\u003cbr /\u003e\n```\nrepositories {\n    maven {\n        url \"https://oss.sonatype.org/content/repositories/releases/\"\n    }\n}\n\n// For both Bukkit and BungeeCord\ndependencies {\n    compileOnly \"org.bspfsystems.bungeeipc:bungeeipc-common-api:3.1.0\"\n}\n\n// For Bukkit\ndependencies {\n     compileOnly \"org.bspfsystems.bungeeipc:bungeeipc-client-api:3.1.0\"\n}\n\n// For BungeeCord\ndependencies {\n     compileOnly \"org.bspfsystems.bungeeipc:bungeeipc-server-api:3.1.0\"\n}\n```\n\n_**Please Note:** The above examples show both the client-side and server-side APIs as dependencies for their common sides (Bukkit or BungeeCord). You will only need the one specific to the side you are using. You will also need `bungee-common-api` regardless of which side you are developing on._\n\n### API Examples\n\nThese are some basic usages of BungeeIPC; for a full scope of what the plugins offer, please see the Javadocs section below.\n```\n// Obtain the common instance of BungeeIPC\nIPCPlugin ipcPlugin = (IPCPlugin) Bukkit.getPluginManager().getPlugin(\"BungeeIPC\");      // For Bukkit\nIPCPlugin ipcPlugin = (IPCPlugin) ProxyServer.getPluginManager().getPlugin(\"BungeeIPC\"); // For BungeeCord\n\n// Add an implementation of an IPCReader, registered to the channel \"example_channel\"\nipcPlugin.addReader(\"example_channel\", exampleIPCReader);\n\n// Send a previously-create IPCMessage\nipcPlugin.sendMessage(ipcMessage);\n\n////////////////////////////////////////////////////////////////\n\n// Obtain the Bukkit-specific instance of BungeeIPC (usually the client)\nIPCClientPlugin ipcClientPlugin = (IPCClientPlugin) Bukkit.getPluginManager().getPlugin(\"BungeeIPC\");\n\n// Check if the client is connected, and attempts to restart it if it is not\nif (!ipcClientPlugin.isConnected()) {\n    ipcClientPlugin.restartClient();\n}\n\n////////////////////////////////////////////////////////////////\n\n// Obtain the BungeeCord-specific instance of BungeeIPC (usually the server)\nIPCServerPlugin ipcServerPlugin = (IPCServerPlugin) ProxyServer.getPluginManager().getPlugin(\"BungeeIPC\");\n\n// Check if a server with the name \"exampleserver\" is registered and connected, and attempts to restart it if it is not\nif (ipcServerPlugin.isRegisteredServer(\"exampleserver\") \u0026\u0026 !ipcServerPlugin.isServerConnected(\"exampleserver\")) {\n    ipcServerPlugin.restartServer(\"exampleserver\");\n}\n```\n\n### Javadocs\n\nThe API Javadocs can be found [here](https://bspfsystems.org/docs/bungeeipc/), kindly hosted by [javadoc.io](https://javadoc.io/).\n\n## Contributing, Support, and Issues\n\nPlease check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n## Licensing\n\nBungeeIPC uses the following licenses for the respective modules:\n- Common / Client / Server APIs - [The Apache License, Version 2.0](https://apache.org/licenses/LICENSE-2.0.html)\n- Bukkit / BungeeCord - [The GNU General Public License, Version 3](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n### Contributions \u0026 Licensing\n\nContributions to the project will remain licensed under the respective module's license, as defined by the particular license. Copyright/ownership of the contributions shall be governed by the license. The use of an open source license in the hopes that contributions to the project will have better clarity on legal rights of those contributions.\n\n_Please Note: This is not legal advice. If you are unsure on what your rights are, please consult a lawyer._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbspfsystems%2Fbungeeipc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbspfsystems%2Fbungeeipc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbspfsystems%2Fbungeeipc/lists"}