Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
084f428ca6 | ||
|
|
0bcd57b4c6 | ||
|
|
d3b1ad26f6 | ||
|
|
ebbcc402a8 | ||
|
|
fac8746be0 | ||
|
|
ef5ce6d59a | ||
|
|
47c83ec4ed | ||
|
|
2a8e6bb9ce | ||
|
|
26be38e427 |
No files matched your search
@@ -248,11 +248,7 @@ const config: Config = {
|
||||
},
|
||||
{
|
||||
label: 'Global Linking',
|
||||
href: 'https://link.geysermc.org/',
|
||||
},
|
||||
{
|
||||
label: 'Privacy Policy',
|
||||
href: 'https://ziax.com/terms/privacy-policy/',
|
||||
to: 'https://link.geysermc.org/',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
+2
-8
@@ -215,7 +215,7 @@
|
||||
"providers.provider.nicraft.description": {
|
||||
"message": "Does not provide Bedrock support, and are affected by a [firewall configuration issue](https://wiki.geysermc.org/geyser/port-forwarding/#ovh-and-soyoustart), which prohibits most players from joining."
|
||||
},
|
||||
"providers.provider.dawn.description": {
|
||||
"providers.provider.feather.description": {
|
||||
"message": "Their proxy network does not support UDP. Therefore, Geyser is not supported. As an alternative, set up a paper server with e.g. playit.gg instead of port forwarding."
|
||||
},
|
||||
"providers.provider.freemcserver_net.description": {
|
||||
@@ -784,7 +784,7 @@
|
||||
"description": "The unlisted content banner message"
|
||||
},
|
||||
"providers.provider.not_listed.description": {
|
||||
"message": "If your hosting provider is not listed, try using [Warden Signalling](/wiki/geyser/nethernet/setup#warden-signalling). If this doesn't work, ask your hosting provider for a TCP and UDP port and use that. For VPS/KVM servers please follow the self-hosting steps."
|
||||
"message": "If your hosting provider is not listed, try enabling the `clone-remote-port` option in the config. Then, restart the server, and try connecting with the same IP and port as on Java Edition. <br> If this does not work, ask your server hosting provider for a UDP port, and use that. For VPS/KVM servers please follow the self-hosting steps."
|
||||
},
|
||||
"providers.provider.wasabihosting.description": {
|
||||
"message": "Install Geyser with the plugin installer. Use the same port as your Java server in the Geyser config. Connect with the same address and port as your Java server."
|
||||
@@ -868,11 +868,5 @@
|
||||
},
|
||||
"pages.dumpviewer.extensions.helptext": {
|
||||
"message": "Click on an extension to view more information."
|
||||
},
|
||||
"providers.provider.consulhosting.description": {
|
||||
"message": "GeyserMC can be installed with a single click on ConsulHosting's Minecraft server hosting. Head to your server panel, find the GeyserMC option at Software, and install it automatically — no manual configuration needed. For step-by-step instructions, see [ConsulHosting's GeyserMC installation tutorial](https://consulhosting.com/help/install-geysermc/)."
|
||||
},
|
||||
"pages.download.description.floodgatedatabases": {
|
||||
"message": "Database extension jars for Floodgate local linking."
|
||||
}
|
||||
}
|
||||
@@ -186,21 +186,5 @@
|
||||
"sidebar.geyserSidebar.category.Custom Resource Packs": {
|
||||
"message": "Custom Resource Packs",
|
||||
"description": "The label for category Custom Resource Packs in sidebar geyserSidebar"
|
||||
},
|
||||
"sidebar.geyserSidebar.category.Nethernet": {
|
||||
"message": "Nethernet",
|
||||
"description": "The label for category Nethernet in sidebar geyserSidebar"
|
||||
},
|
||||
"sidebar.geyserSidebar.category.Nethernet.link.generated-index.title": {
|
||||
"message": "Nethernet",
|
||||
"description": "The generated-index page title for category Nethernet in sidebar geyserSidebar"
|
||||
},
|
||||
"sidebar.geyserSidebar.category.Nethernet.link.generated-index.description": {
|
||||
"message": "An explanation of Nethernet",
|
||||
"description": "The generated-index page description for category Nethernet in sidebar geyserSidebar"
|
||||
},
|
||||
"sidebar.geyserSidebar.category.Custom Content": {
|
||||
"message": "Custom Content",
|
||||
"description": "The label for category Custom Content in sidebar geyserSidebar"
|
||||
}
|
||||
}
|
||||
@@ -63,10 +63,6 @@
|
||||
"message": "Global Linking",
|
||||
"description": "The label of footer link with label=Global Linking linking to https://link.geysermc.org/"
|
||||
},
|
||||
"link.item.label.Privacy Policy": {
|
||||
"message": "Privacy Policy",
|
||||
"description": "The label of footer link with label=Privacy Policy linking to https://ziax.com/terms/privacy-policy/"
|
||||
},
|
||||
"logo.alt": {
|
||||
"message": "GeyserMC logo",
|
||||
"description": "The alt text of footer logo"
|
||||
|
||||
-13
@@ -54,19 +54,6 @@ const sidebars: SidebarsConfig = {
|
||||
'geyser/port-forwarding'
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Nethernet',
|
||||
link: {
|
||||
type: "generated-index",
|
||||
title: "Nethernet",
|
||||
description: "An explanation of Nethernet",
|
||||
slug: "/geyser/nethernet",
|
||||
},
|
||||
items: [
|
||||
'geyser/nethernet/setup'
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Common Issues',
|
||||
|
||||
@@ -52,7 +52,7 @@ export const ProviderSelector = () => {
|
||||
name: 'Not listed',
|
||||
description: translate({
|
||||
id: 'providers.provider.not_listed.description',
|
||||
message: "If your hosting provider is not listed, try using [Warden Signalling](/wiki/geyser/nethernet/setup#warden-signalling). If this doesn't work, ask your hosting provider for a TCP and UDP port and use that. For VPS/KVM servers please follow the self-hosting steps.",
|
||||
message: "If your hosting provider is not listed, try enabling the `clone-remote-port` option in the config. Then, restart the server, and try connecting with the same IP and port as on Java Edition. <br> If this does not work, ask your server hosting provider for a UDP port, and use that. For VPS/KVM servers please follow the self-hosting steps."
|
||||
})
|
||||
} as HostingProvider);
|
||||
|
||||
|
||||
+102
-13
@@ -72,14 +72,6 @@ export const providersData: Providers = {
|
||||
message: "Go to their [Crossplay Server](https://cloudnord.net/minecraftcrossplay-server-hosting/) hosting section and order your server. Instructions on how to join are provided."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'ConsulHosting',
|
||||
url: 'https://consulhosting.com/minecraft-server-hosting/',
|
||||
description: translate({
|
||||
id: 'providers.provider.consulhosting.description',
|
||||
message: "GeyserMC can be installed with a single click on ConsulHosting's Minecraft server hosting. Head to your server panel, find the GeyserMC option at Software, and install it automatically — no manual configuration needed. For step-by-step instructions, see [ConsulHosting's GeyserMC installation tutorial](https://consulhosting.com/help/install-geysermc/)."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'CreeperHost',
|
||||
url: 'https://www.creeperhost.net/',
|
||||
@@ -213,6 +205,14 @@ export const providersData: Providers = {
|
||||
message: "Order a [Minecraft server](https://serverprism.com/minecraft-server-hosting) on any plugin-compatible runtime (Paper, Spigot, Purpur, etc.), then install Geyser from the panel's plugin installer. Connect with the same IP and port as your Java server."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Snakecraft Hosting',
|
||||
url: 'https://snakecrafthosting.com/',
|
||||
description: translate({
|
||||
id: 'providers.provider.snakecraft_hosting.description',
|
||||
message: "Select 'Paper + Geyser with Floodgate' under the Jar Type at checkout to install the Geyser plugin. Players will Connect with the same IP and port as you would on Java."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'SRKHOST',
|
||||
url: 'https://www.srkhost.eu/',
|
||||
@@ -237,6 +237,14 @@ export const providersData: Providers = {
|
||||
message: "Full automatic installation. Go to one of the panel options and select the option to enable GeyserMC. Then, restart and connect to your server using your Java IP and port."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Virtual Gladiators',
|
||||
url: 'https://virtualgladiators.com/',
|
||||
description: translate({
|
||||
id: 'providers.provider.virtual_gladiators.description',
|
||||
message: "Find the plugin in the control panel under the 'VG Recommended' category and restart your server. IP and port are the same as Java."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'WiseHosting',
|
||||
url: 'https://wisehosting.com',
|
||||
@@ -253,6 +261,14 @@ export const providersData: Providers = {
|
||||
message: "Find the plugin in the control panel and restart your server. IP and port are the same as Java."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: '365Hosts',
|
||||
url: 'https://365hosts.com',
|
||||
description: translate({
|
||||
id: 'providers.provider.365hosts.description',
|
||||
message: "Go to their [Minecraft: Crossplay](https://www.365hosts.com/gaming/crossplayminecraft) hosting section and order your server. Instructions on how to join are provided."
|
||||
})
|
||||
}
|
||||
],
|
||||
support: [
|
||||
{
|
||||
@@ -297,6 +313,11 @@ export const providersData: Providers = {
|
||||
url: 'https://clovux.net/',
|
||||
description: descriptionTemplates.javaIp
|
||||
},
|
||||
{
|
||||
name: 'Consulhosting',
|
||||
url: 'https://consulhosting.nl/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'Craft-Hosting',
|
||||
url: 'https://craft-hosting.ru/',
|
||||
@@ -373,11 +394,24 @@ export const providersData: Providers = {
|
||||
url: 'https://freakhosting.com/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'Fusion Hosting',
|
||||
url: 'https://fusionhostingltd.co.uk',
|
||||
description: translate({
|
||||
id: 'providers.provider.fusion_hosting.description',
|
||||
message: "Get Geyser as a plugin. Use the same port as your Java server for the Bedrock port in your config (either by setting it yourself, or enabling “clone-remote-port”) and connect with the same IP and port as you would on Java or create a port in the Network tab on the panel & use this for Geyser."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'GameHosting.it',
|
||||
url: 'https://www.gamehosting.it/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'GameProHost',
|
||||
url: 'https://gameprohost.com/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'GPortal',
|
||||
url: 'https://www.g-portal.com/',
|
||||
@@ -386,6 +420,14 @@ export const providersData: Providers = {
|
||||
message: "You have to adjust the port according to your query port. Scheme: Query port: xxx65. The ports from xxx66 to xxx70 are available. For example, if your query port is 12365, then Geyser can only run under the port range 12366-12370. Furthermore, you have to change the 'Bedrock' 'address' in the Geyser config to your IP address. You can find it above your query port. Don't forget to delete the # in front of `address'."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Heavynode',
|
||||
url: 'https://www.heavynode.com/',
|
||||
description: translate({
|
||||
id: 'providers.provider.heavynode.description',
|
||||
message: "Open a port yourself in the networking section of the control panel. Port `19132` is only available with a dedicated IP (contact support), otherwise you will need to use a randomly assigned port. To resolve further connection issues for servers located in Canada and the UK, contact their support with the info found [here](https://wiki.geysermc.org/geyser/port-forwarding/#ovh-and-soyoustart)."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Hicoria',
|
||||
url: 'https://hicoria.com/en/',
|
||||
@@ -452,6 +494,14 @@ export const providersData: Providers = {
|
||||
url: 'https://mc-host24.de/',
|
||||
description: descriptionTemplates.ipAndPort
|
||||
},
|
||||
{
|
||||
name: 'MCFORFREE.DE',
|
||||
url: 'https://mcforfree.de/',
|
||||
description: translate({
|
||||
id: 'providers.provider.mcforfree.de.description',
|
||||
message: 'Create an extra port in the game panel, then change the `port` in the `bedrock` section to the newly created port. To connect on Bedrock edition, use the Java server\'s IP and the port you\'ve created. It may take a few minutes for the port to become active.'
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'MCPEhost.ru',
|
||||
url: 'https://mcpehost.ru',
|
||||
@@ -486,6 +536,14 @@ export const providersData: Providers = {
|
||||
message: "Check [Modrinth's documentation](https://support.modrinth.com/en/articles/10986613-adding-geyser-to-your-server) for specific instructions."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Netbela',
|
||||
url: 'https://netbela.nl/store/minecraft',
|
||||
description: translate({
|
||||
id: 'providers.provider.netbela.description',
|
||||
message: "Install Geyser with the dedicated Plugin installer. Use the same port as your Java server in your config. Connect with the same address and port as your Java server."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'NFOservers',
|
||||
url: 'https://nfoservers.com/',
|
||||
@@ -518,6 +576,14 @@ export const providersData: Providers = {
|
||||
message: "Check [NolimitHost's documentation](https://nolimithost.cc/docs/minecraft/geyser) for specific instructions."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'OrionNodes',
|
||||
url: 'https://orionnodes.com',
|
||||
description: translate({
|
||||
id: 'providers.provider.orionnodes.description',
|
||||
message: "Open a port yourself from the network page in the game panel, use that port in the bedrock section of the Geyser config."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'PaperNodes',
|
||||
url: 'https://papernodes.com/',
|
||||
@@ -548,8 +614,8 @@ export const providersData: Providers = {
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'RackGenius',
|
||||
url: 'https://rackgenius.com/',
|
||||
name: 'RamShard',
|
||||
url: 'https://ramshard.com/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
@@ -607,6 +673,14 @@ export const providersData: Providers = {
|
||||
message: "Set the Bedrock port to the Java server's port and connect with that port; note that this provider only provides service in Australia."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'SyntexHosting',
|
||||
url: 'https://syntexhosting.com/',
|
||||
description: translate({
|
||||
id: 'providers.provider.syntexhosting.description',
|
||||
message: "Set the Bedrock port to the Java server's port and connect with that port, or request a (free) additional port."
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'The Minecraft Hosting',
|
||||
url: 'https://theminecrafthosting.com/',
|
||||
@@ -620,11 +694,26 @@ export const providersData: Providers = {
|
||||
url: 'https://tnahosting.net/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'TurboHost',
|
||||
url: 'https://turbohost.nl/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'UltimateSRV',
|
||||
url: 'https://ultimatesrv.com/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'VexyHost',
|
||||
url: 'https://vexyhost.com/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'Volcano Hosting',
|
||||
url: 'https://www.volcanohosting.net/',
|
||||
description: descriptionTemplates.default
|
||||
},
|
||||
{
|
||||
name: 'VoltHosting',
|
||||
url: 'https://www.volthosting.co.uk/',
|
||||
@@ -692,10 +781,10 @@ export const providersData: Providers = {
|
||||
})
|
||||
},
|
||||
{
|
||||
name: 'Dawn',
|
||||
url: 'https://dawn.gg/',
|
||||
name: 'Feather',
|
||||
url: 'https://feathermc.com/',
|
||||
description: translate({
|
||||
id: 'providers.provider.dawn.description',
|
||||
id: 'providers.provider.feather.description',
|
||||
message: "Their proxy network does not support UDP. Therefore, Geyser is not supported. As an alternative, set up a paper server with e.g. playit.gg instead of port forwarding."
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"bedrock": {
|
||||
"supported": "26.0-26.45",
|
||||
"supported": "26.0-26.32",
|
||||
"latest": {
|
||||
"id": 2169,
|
||||
"name": "26.45"
|
||||
"id": 1001,
|
||||
"name": "26.32"
|
||||
}
|
||||
},
|
||||
"java": {
|
||||
|
||||
@@ -69,23 +69,6 @@ const DownloadPage: React.FC = () => (
|
||||
</TabItem>
|
||||
<TabItem value="other-projects" label="Other Projects">
|
||||
<Collapsibles>
|
||||
<Collapsible
|
||||
title='Floodgate Databases'
|
||||
subtitle={<Translate id='pages.download.description.floodgatedatabases'>Database extension jars for Floodgate local linking.</Translate>}
|
||||
id='floodgatedb'
|
||||
inner={
|
||||
<ProjectDownload
|
||||
projectId="floodgatedb"
|
||||
setup='/wiki/floodgate/linking/#local-linking'
|
||||
downloadsInfo={{
|
||||
mongodb: <><FontAwesomeIcon icon={faFileZipper} /> MongoDB</>,
|
||||
mysql: <><FontAwesomeIcon icon={faFileZipper} /> MySQL</>,
|
||||
sqlite: <><FontAwesomeIcon icon={faFileZipper} /> SQLite</>,
|
||||
}}
|
||||
gridColumns={1}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<Collapsible
|
||||
title='ThirdPartyCosmetics'
|
||||
subtitle={<Translate id='pages.download.description.thirdpartycosmetics'>An extension that adds support for loading ears and other third party cosmetics on java players</Translate>}
|
||||
|
||||
@@ -43,7 +43,7 @@ You can also set up a local linking database on your server. Local linking can w
|
||||
|
||||
Note that you only have to follow these steps on your proxy (BungeeCord or Velocity), if you have one.
|
||||
|
||||
1. Download one of the linking databases extensions [here](https://geysermc.org/download?project=other-projects&floodgatedb=expanded).
|
||||
1. Download one of the linking databases extensions [here](https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/fix-weird-via-issue/).
|
||||
If you need help picking the right one: choose `mysql` if you already have a database or want to have a multi-proxy setup. For anything else choose `sqlite`. The full name should be `floodgate-*type*-database.jar`.
|
||||
2. Copy the database extension jar you just downloaded *into* the floodgate 2.0 plugin folder (e.g. `/plugins/floodgate/`).
|
||||
3. Enable `enable-own-linking` in the `player-link` section of Floodgate.
|
||||
|
||||
@@ -15,21 +15,3 @@ Geyser supports mapping various custom additions to the game via resource packs
|
||||
Geyser does not convert resource packs from Java Edition automatically.
|
||||
However, you can use automatic tools such as [Rainbow](/wiki/other/rainbow/) or [Thunder](/wiki/other/thunder) to make converting custom content simpler.
|
||||
:::
|
||||
|
||||
## JSON mappings {#json-mappings}
|
||||
|
||||
Various custom additions to the game will require writing custom JSON mappings for Geyser. These mappings are placed
|
||||
within the `custom_mappings` folder in Geyser's config directory. To enable the usage of custom JSON mappings, ensure
|
||||
that `gameplay.enable-custom-content` is set to `true` in your `config.yml` file:
|
||||
|
||||
```yaml
|
||||
# Whether to add any items and blocks which normally does not exist in Bedrock Edition.
|
||||
# This should only need to be disabled if using a proxy that does not use the "transfer packet" style of server switching.
|
||||
# If this is disabled, furnace minecart items will be mapped to hopper minecart items.
|
||||
# Geyser's block, item, and skull mappings systems will also be disabled.
|
||||
# This option requires a restart of Geyser in order to change its setting.
|
||||
enable-custom-content: true
|
||||
```
|
||||
|
||||
JSON mappings will always have a `format_version` key defined at the root object. Refer to the documentation of the
|
||||
content you're mapping (items, blocks, etc.) to see what the current `format_version` is.
|
||||
@@ -18,8 +18,6 @@ would normally require mods to be installed on the Java client.
|
||||
To set up custom items in Geyser, you have to choose how you are going to register your items. The easiest is using a json mapping file,
|
||||
but you can also use a Geyser extension which uses the [Geyser API](/wiki/geyser/api/). Further, a Bedrock edition resource pack must also be supplied to ensure Bedrock players can see custom items.
|
||||
|
||||
For setting up JSON mappings, please see the instructions [here](/wiki/geyser/custom-content#json-mappings).
|
||||
|
||||
:::warning
|
||||
Geyser does not convert resource packs from Java Edition, and also does not generate custom item mappings automatically.
|
||||
However, you can use automatic tools such as [Rainbow](/wiki/other/rainbow/) to make converting content simpler.
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
---
|
||||
title: Custom Skulls
|
||||
description: Geyser allows mapping of custom skulls to custom blocks for use in inventories and on entities.
|
||||
---
|
||||
|
||||
Unlike Java Edition, Bedrock does not have native support for custom skull items. As a result, any method to display custom skulls with Geyser is, to some extent, a workaround. Geyser has long supported in-world custom skulls via the spawning of player entities. This, however, does not allow for the use of custom skulls in inventories, nor does it allow them to be worn by entities. To resolve this, Geyser now allows for the pre-registration of custom skulls via a config file. Geyser will then use this config file to generate a custom resource pack on start that contains the geometry and textures for the pre-registered custom skulls. To the client, these skulls are blocks. Therefore, they can be held in player inventories. In additional, attachables are defined for each skull block so that it is displayed correctly when worn and held by entities.
|
||||
|
||||
To setup custom skulls in geyser, you have to choose how you are going to register your blocks. The easiest is [using custom-skulls.yml](#custom-skullsyml), but you can also [use a Geyser extension](#geyser-extensions).
|
||||
|
||||
## Enabling custom skulls {#enabling-custom-skulls}
|
||||
|
||||
To enable custom skulls, you must set `gameplay.enable-custom-content` to `true` in the `config.yml` file. This will enable the generation of the custom resource pack and the translation of custom skulls to custom blocks. You can then add custom skulls to the `custom-skulls.yml` file.
|
||||
|
||||
```yaml
|
||||
# Whether to add any items and blocks which normally does not exist in Bedrock Edition.
|
||||
# This should only need to be disabled if using a proxy that does not use the "transfer packet" style of server switching.
|
||||
# If this is disabled, furnace minecart items will be mapped to hopper minecart items.
|
||||
# Geyser's block, item, and skull mappings systems will also be disabled.
|
||||
# This option requires a restart of Geyser in order to change its setting.
|
||||
enable-custom-content: true
|
||||
```
|
||||
|
||||
## custom-skulls.yml {#custom-skullsyml}
|
||||
|
||||
The configuration file `custom-skulls.yml` is present in Geyser's configuration folder and is laid out as follows:
|
||||
|
||||
```yml
|
||||
# --------------------------------
|
||||
# Geyser Custom Skull Configuration Files
|
||||
#
|
||||
# This file is ignored with `add-custom-skull-blocks` disabled.
|
||||
# See `config.yml` for the main set of configuration values
|
||||
#
|
||||
# Custom skulls with the player username, UUID, or texture specified in this file
|
||||
# will be translated as custom blocks and be displayed in the inventory and on entities.
|
||||
# --------------------------------
|
||||
|
||||
# Java player usernames
|
||||
# Skins will be updated when Geyser starts and players will have to re-download
|
||||
# the resource pack if any players had changed their skin.
|
||||
player-usernames:
|
||||
- GeyserMC
|
||||
|
||||
# Java player UUIDs
|
||||
# Skins will be updated when Geyser starts and players will have to re-download
|
||||
# the resource pack if any players had changed their skin.
|
||||
player-uuids:
|
||||
- 8b8d8e8f-2759-47c6-acb5-5827de8a72b8
|
||||
|
||||
# The long string of characters found in the NBT of custom player heads
|
||||
player-profiles:
|
||||
- ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbWJlcmljaHUiLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTkwNzkwYzU3ZTE4MWVkMTNhZGVkMTRjNDdlZTJmN2M4ZGUzNTMzZTAxN2JhOTU3YWY3YmRmOWRmMWJkZTk0ZiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9
|
||||
|
||||
# The hash of the skin on Minecraft's skin server
|
||||
skin-hashes:
|
||||
- a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f
|
||||
```
|
||||
|
||||
To add a skull, you need to choose any of the four methods, and add a new entry. The following sections will explain each method:
|
||||
|
||||
### Player usernames {#player-usernames}
|
||||
|
||||
Skulls can be registered in this section via player usernames. These will be updated when Geyser starts. As a result, they may change if the player's username or skin changes.
|
||||
|
||||
### Player UUIDs {#player-uuids}
|
||||
|
||||
Skulls can be registered in this section via player UUIDs. These will be updated when Geyser starts. As a result, they may change if skin changes.
|
||||
|
||||
### Player profiles {#player-profiles}
|
||||
|
||||
Skulls can be registered in this section via the texture string found in the NBT of custom player heads. Unless the value is changed manually, these will not be updated when Geyser starts. As a result, they will not change if the player's username or skin changes. The data is simply base64 encoded JSON. For instance, the example given in the config decodes as follows:
|
||||
|
||||
```json
|
||||
{
|
||||
"timestamp" : 1657322239833,
|
||||
"profileId" : "cddbe520d0434a8ba1cc9fc92fde2bcf",
|
||||
"profileName" : "Amberichu",
|
||||
"textures" : {
|
||||
"SKIN" : {
|
||||
"url" : "http://textures.minecraft.net/texture/a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f",
|
||||
"metadata" : {
|
||||
"model" : "slim"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
If on a paper server, this data can be obtained for a skull by holding the item in hand, and running the command `/paper dumpitem`. This will output the NBT data of the item to chat and console. The texture string is found in the `SkullOwner` tag, under the `Properties` tag, under the `textures` tag, under the `Value` tag. For example:
|
||||
|
||||
```log
|
||||
[05:58:07 INFO]: .KastleFirefox issued server command: /paper dumpitem
|
||||
[05:58:07 INFO]: minecraft:player_head{display: {Name: '{"text":"Test"}'}, SkullOwner: {Properties: {textures: [{Value: "ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYXZjaG9vIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E5MDc5MGM1N2UxODFlZDEzYWRlZDE0YzQ3ZWUyZjdjOGRlMzUzM2UwMTdiYTk1N2FmN2JkZjlkZjFiZGU5NGYiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ"}]}, Id: [I; -229048314, -553040501, -1407961158, 465313087]}}
|
||||
```
|
||||
|
||||
### Skin Hashes {#skin-hashes}
|
||||
|
||||
Skulls can be registered in this section via the hash of the skin on Minecraft's skin server. This is found at the end of the URL. For example, in the URL `http://textures.minecraft.net/texture/a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f` the hash is `a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f`.Unless the value is changed manually, these will not be updated when Geyser starts. As a result, they will not change if the player's username or skin changes.
|
||||
|
||||
This can be obtained by decoding the base64 data obtained from a player profile.
|
||||
|
||||
## Geyser extensions {#geyser-extensions}
|
||||
|
||||
In this example, we will register a custom skull from a player profile. We will use the player profile from the example above.
|
||||
|
||||
First, create a class that implements Geyser's Extension class:
|
||||
|
||||
```java
|
||||
public class RegisterCustomSkull implements Extension {
|
||||
//...
|
||||
}
|
||||
```
|
||||
|
||||
Next, create a method to register your blocks in the `GeyserDefineCustomSkullsEvent`:
|
||||
|
||||
```java
|
||||
public class RegisterCustomSkull implements Extension {
|
||||
@Subscribe
|
||||
public void onDefineCustomSkulls(GeyserDefineCustomSkullsEvent event) {
|
||||
//...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Finally, register your skull in the event. Use the enum SkullTextureType to specify that the value being passed is a player profile:
|
||||
|
||||
```java
|
||||
public class RegisterCustomSkull implements Extension {
|
||||
@Subscribe
|
||||
public void onDefineCustomSkulls(GeyserDefineCustomSkullsEvent event) {
|
||||
String profile = "ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYXZjaG9vIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E5MDc5MGM1N2UxODFlZDEzYWRlZDE0YzQ3ZWUyZjdjOGRlMzUzM2UwMTdiYTk1N2FmN2JkZjlkZjFiZGU5NGYiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ"
|
||||
event.register(profile, SkullTextureType.PROFILE);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Scraping custom skulls from a world {#scraping-custom-skulls-from-a-world}
|
||||
|
||||
Custom skulls can be extracted from an existing world for easy implementation via mappings or API using the tool [HeadExtractor](https://github.com/davchoo/HeadExtractor) made by Amberichu. See the linked repository for usage instructions.
|
||||
@@ -1,106 +0,0 @@
|
||||
---
|
||||
title: Custom Skulls
|
||||
description: Geyser allows mapping of custom skulls to custom blocks for use in inventories and on entities.
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
Unlike Minecraft: Java Edition, Bedrock Edition does not have native support for custom skull items.
|
||||
As a result, any method to display custom skulls with Geyser is, to some extent, a workaround.
|
||||
Geyser has long supported in-world custom skulls via the spawning of player entities.
|
||||
This, however, does not allow for the use of custom skulls in inventories, nor does it allow them to be worn by entities.
|
||||
|
||||
To resolve this, Geyser allows for the pre-registration of custom skulls via custom JSON mappings
|
||||
or the Geyser API. Geyser will then generate a custom resource pack on start that contains the geometry and textures
|
||||
for the pre-registered custom skulls.
|
||||
|
||||
To the client, these skulls are blocks. Therefore, they can be held in player inventories.
|
||||
In addition, attachables are defined for each skull block, so that it is displayed correctly when worn and held by entities.
|
||||
|
||||
To set up custom skulls in Geyser, you have to choose how you are going to register them.
|
||||
The easiest is using custom mappings via JSON files. Alternatively, you can also use the Geyser API, for example using a Geyser extension or a plugin.
|
||||
|
||||
:::info
|
||||
You can use tools such as [Rainbow](/wiki/other/rainbow/) to automatically generate custom JSON mappings for skulls.
|
||||
:::
|
||||
|
||||
:::info
|
||||
Custom skulls used to be registered using a YAML file in Geyser's config directory, `custom-skulls.yml`. This file
|
||||
is legacy and its contents will automatically be migrated to custom JSON mappings when Geyser starts.
|
||||
:::
|
||||
|
||||
## Registering custom skulls
|
||||
|
||||
Custom skulls can be registered through 4 methods:
|
||||
|
||||
- By player username. These will be updated when Geyser starts. As a result, they may change if the player's username or skin changes.
|
||||
- Use this option for skulls marked `Dynamic` on Java Edition.
|
||||
- By player UUID. These will also be updated when Geyser starts. As a result, they may change if skin changes.
|
||||
- Use this option for skulls marked `Dynamic` on Java Edition.
|
||||
- By the base-64 encoded `textures` property of game profiles. These will only ever change when the registered value itself changes, as they hold a static reference to a skin.
|
||||
- You can get these values from a custom skull in your hand using the following command in Minecraft: Java Edition: `/data get entity @s SelectedItem.components."minecraft:profile".properties[{name:"textures"}].value`.
|
||||
- Please note that this command has only been tested on Java Edition 26.2. If the command fails, that could mean your custom skull is a dynamic one, and you should register a UUID or username instead.
|
||||
- By skin texture hash. These will also only ever change when the value itself changes. They are a static reference to a skin texture over at `https://textures.minecraft.net/texture/`.
|
||||
- You generally don't need to use this option, as it is often easier to just use the base-64 profile found in a skull.
|
||||
- If you want to publish an extension or custom skull mappings however, this option can be useful to hide player names/UUIDs, if you wish to do so.
|
||||
|
||||
<Tabs groupId="custom-skull-implementation">
|
||||
<TabItem value="json" label="JSON mappings">
|
||||
For setting up JSON mappings, please see the instructions [here](/wiki/geyser/custom-content#json-mappings).
|
||||
|
||||
JSON mappings have to specify the `format_version` set to `1`, and list all custom skulls under the
|
||||
`skulls` key. This key holds an object in which Java Edition usernames, user UUIDs, profile hashes or skin texture
|
||||
hashes can be specified.
|
||||
|
||||
For example, take the following `custom_skulls.json` file:
|
||||
```json
|
||||
{
|
||||
"format_version": 1,
|
||||
"skulls": {
|
||||
"username": [
|
||||
"GeyserMC"
|
||||
],
|
||||
"uuid": [
|
||||
"8b8d8e8f-2759-47c6-acb5-5827de8a72b8"
|
||||
],
|
||||
"profile": [
|
||||
"ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbWJlcmljaHUiLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTkwNzkwYzU3ZTE4MWVkMTNhZGVkMTRjNDdlZTJmN2M4ZGUzNTMzZTAxN2JhOTU3YWY3YmRmOWRmMWJkZTk0ZiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9"
|
||||
],
|
||||
"skin_hash": [
|
||||
"a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
These mappings specify skulls for the `GeyserMC` user, the `Camotoy` user (using UUID `8b8d8e8f-2759-47c6-acb5-5827de8a72b8`),
|
||||
and [this](http://textures.minecraft.net/texture/a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f) skin (through the base-64 `profile` entry and the `skin_hash` entry).
|
||||
</TabItem>
|
||||
<TabItem value="api" label="Geyser API">
|
||||
Custom skulls are registered at startup through the `GeyserDefineCustomSkullsEvent`. All skulls are registered
|
||||
through the `register(String texture, SkullTextureType type)` method, in which the `type` parameter defines the
|
||||
type of the string registered, which is one of:
|
||||
|
||||
- `SkullTextureType.USERNAME` for usernames.
|
||||
- `SkullTextureType.UUID` for UUIDs.
|
||||
- `SkullTextureType.PROFILE` for base-64 encoded `textures` properties of game profiles.
|
||||
- `SkullTextureType.SKIN_HASH` for skin texture hashes.
|
||||
|
||||
As an example:
|
||||
|
||||
```java
|
||||
@Subscribe
|
||||
public void onDefineCustomSkulls(GeyserDefineCustomSkullsEvent event) {
|
||||
event.register("GeyserMC", SkullTextureType.USERNAME);
|
||||
event.register("8b8d8e8f-2759-47c6-acb5-5827de8a72b8", SkullTextureType.UUID);
|
||||
event.register("ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbWJlcmljaHUiLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTkwNzkwYzU3ZTE4MWVkMTNhZGVkMTRjNDdlZTJmN2M4ZGUzNTMzZTAxN2JhOTU3YWY3YmRmOWRmMWJkZTk0ZiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9", SkullTextureType.PROFILE);
|
||||
event.register("a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f", SkullTextureType.SKIN_HASH);
|
||||
}
|
||||
```
|
||||
|
||||
This example specifies skulls for the `GeyserMC` user, the `Camotoy` user (using UUID `8b8d8e8f-2759-47c6-acb5-5827de8a72b8`),
|
||||
and [this](http://textures.minecraft.net/texture/a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f) skin (through the base-64 `PROFILE` entry and the `SKIN_HASH` entry).
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
@@ -26,7 +26,7 @@ Java Edition resource packs.
|
||||
|
||||
:::warning
|
||||
As with custom blocks and items, Geyser does not convert resource packs from Java Edition, and also does not generate
|
||||
custom waypoint mappings automatically. However, [Rainbow](/wiki/other/rainbow/) has
|
||||
custom waypoint mappings automatically. However, [Rainbow](/wiki/other/rainbow/) is planning
|
||||
support for these conversions.
|
||||
:::
|
||||
|
||||
@@ -38,8 +38,6 @@ the same format as Java's custom waypoint styles and should feel very familiar.
|
||||
|
||||
<Tabs groupId="custom-waypoint-implementation">
|
||||
<TabItem value="json" label="JSON-mappings">
|
||||
For setting up JSON mappings, please see the instructions [here](/wiki/geyser/custom-content#json-mappings).
|
||||
|
||||
JSON mappings have to specify the `format_version` set to `1`, and list all custom waypoint styles under the
|
||||
`waypoint_styles` key. This key holds an object in which keys are identifiers of waypoint styles, and each
|
||||
value is the definition of that waypoint style.
|
||||
|
||||
@@ -32,7 +32,7 @@ Add Geyser's API codebase as a dependency:
|
||||
<dependency>
|
||||
<groupId>org.geysermc.geyser</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>2.11.2-SNAPSHOT</version>
|
||||
<version>2.10.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
```
|
||||
@@ -40,7 +40,7 @@ Add Geyser's API codebase as a dependency:
|
||||
**Gradle**
|
||||
```groovy
|
||||
dependencies {
|
||||
compileOnly('org.geysermc.geyser:api:2.11.2-SNAPSHOT')
|
||||
compileOnly('org.geysermc.geyser:api:2.10.0-SNAPSHOT')
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
---
|
||||
title: Nethernet Setup Guide
|
||||
description: A guide for setting Nethernet up with Geyser.
|
||||
---
|
||||
|
||||
Geyser now supports the new Nethernet mode of transport used by default on Bedrock as of build #1237, this is preferred over Raknet which will be removed in the upcoming 26.60 update (Date TBA).
|
||||
|
||||
## Differences between Nethernet and Raknet
|
||||
|
||||
The important different between Nethernet and Raknet is that Nethernet requires a TCP port **and** a UDP port, compared to Raknet that only needed a UDP port. This makes Nethernet more difficult to setup on certain hosting providers/networking setups.
|
||||
|
||||
Nethernet will do the following with a bedrock server:
|
||||
- Contact the "Signalling" server found on the TCP port in order to get the following:
|
||||
- The MOTD, player count and ping
|
||||
- The connection details with bedrock will use to connect via UDP (WebRTC)
|
||||
- The client then connects to the server via WebRTC which is where the UDP port is required
|
||||
|
||||
Raknet will do the following with a bedrock server:
|
||||
- Make a small connection to the server to get the MOTD, player count and ping
|
||||
- The client then connects to the server properly and starts sending the join data
|
||||
|
||||
This small difference shakes up the entire networking involved when connecting to a server on Bedrock. For this reason, the migration to Nethernet may be difficult for some users; but, we're hoping with the preparation time we've been given, we can make the transition smoother.
|
||||
|
||||
## What does this mean for you?
|
||||
|
||||
Depending on how you host your server, this could mean different things. Generally, you need to redo your network configurations if you made any previously for your server.
|
||||
|
||||
:::caution
|
||||
|
||||
If you used `clone-remote-port` when setting up your Geyser server, it is important to note this option **no longer works**! You must either change the port used, or setup [Nethernet External Signalling](#nethernet-external-signalling), if you do not, the Nethernet TCP port will collide with the Java server's port and the Nethernet signalling server will fail to boot, making it impossible to connect to your server.
|
||||
|
||||
:::
|
||||
|
||||
### Self-hosting
|
||||
|
||||
Ensure you have port forwarded your bedrock port for TCP also, this will allow Geyser to run the signalling server and continue accepting connections successfully. If you cannot do this for some reason, there is another option in order to get Nethernet working, see [Nethernet External Signalling](#nethernet-external-signalling).
|
||||
|
||||
### Hosting provider
|
||||
|
||||
When using a hosting provider, the fix is variable depending on which provider you're using, but we can help a bit here.
|
||||
|
||||
If you manually setup your network for Geyser by assigning a UDP port, good news! There's a good chance Nethernet should just work, as many providers will also allocate a TCP port with it. However, if this is not the case, allocate your UDP port for TCP also.
|
||||
|
||||
If you did not manage the networking, odds are you should be fine, as your hosting provider will hopefully be prepared for Nethernet, as we've given them the tools in order to get Nethernet setup.
|
||||
|
||||
If you only needed to enable `clone-remote-port`, see the caution above, with describes why this option **no longer works**.
|
||||
|
||||
If after this, none of those options worked, you may want to look into [Nethernet External Signalling](#nethernet-external-signalling).
|
||||
|
||||
## Nethernet External Signalling
|
||||
|
||||
Nethernet External Signalling (or NXS for short) is an open standard developed by [Open Collaboration](https://opencollaboration.dev/) alongside [Ziax](https://ziax.com/)! This standard allows you to run the Nethernet signalling server (the TCP port part) away from your server, then have them connect to each other!
|
||||
|
||||
This is good because:
|
||||
- The signalling server can handle multiple servers at once, under a single port, making the networking setup more simple
|
||||
- Any external provider can be used, not just your own, for example, [Warden](#warden-signalling)
|
||||
- A hosting provider can automatically setup a signalling server and tell Geyser to use it, making setup much simpler!
|
||||
|
||||
### Warden Signalling
|
||||
|
||||
Warden Signalling, or just Warden, is a free service offered by [Ziax](https://ziax.com/) which Geyser can connect to in order to be given an IP which can be used to connect to your server!
|
||||
|
||||
What this means:
|
||||
- You do not need to forward a TCP port
|
||||
- You will not have a custom IP address, but something like `turquoisemango.wdn.gg` instead
|
||||
- You **still** need to forward a UDP port for Warden to connect to, otherwise Warden will send the client to an unconnectable address
|
||||
- You do not need any other signalling server, Warden is plug and play with Geyser
|
||||
|
||||
:::info
|
||||
|
||||
Warden is designed for smaller servers, if you own a big server, it is strongly advised you use your own signalling server or use Geyser's built in one.
|
||||
|
||||
:::
|
||||
@@ -30,14 +30,14 @@ The playit.gg Minecraft server plugin does not support UDP tunnels. You will nee
|
||||
8. Select the Free Network and click Next.
|
||||

|
||||
**Do not change your Geyser port in `config.yml` unless you have a reason (for example, hosting another Geyser server on the same machine).** The Bedrock (Geyser) port in `config.yml` and the playit.gg ports are separate. playit.gg will forward its port to the default Geyser port and should work as-is. Changing it can cause errors. If you have changed your config port, set the Bedrock port back to the default `19132` and ensure `clone-remote-port` is `false`.
|
||||
9. If the playit.gg agent and Geyser are running on the same device, leave the IP as `127.0.0.1` and set the port to whatever you configured in Geyser's config.
|
||||
9. If the playit.gg agent and GeyserMC are running on the same device, leave the IP as `127.0.0.1` and set the port to whatever you configured in GeyserMC's config.
|
||||

|
||||
10. Select `proxy-protocol-v2` for the Proxy Protocol section and click Next.
|
||||
11. In the Geyser config, under `advanced:` `bedrock:`, set `use-haproxy-protocol` to `true`.
|
||||
11. In the GeyserMC config, under `advanced:` `bedrock:`, set `use-haproxy-protocol` to `true`.
|
||||
12. Click Create Tunnel and wait for the tunnel to be created.
|
||||

|
||||
13. Copy your tunnel's port. For example, if your tunnel address is `visiting-phone.gl.at.ply.gg:6695`, then `6695` is the tunnel port.
|
||||
14. In the Geyser config under `advanced:` `bedrock:`, set `broadcast-port` to your tunnel port (`6695` in the example).
|
||||
14. In the GeyserMC config under `advanced:` `bedrock:`, set `broadcast-port` to your tunnel port (`6695` in the example).
|
||||
15. Save your config. Start your Minecraft server and connect using your tunnel's IP and port.
|
||||
16. If you join successfully, then you are done! Make sure to leave the playit.gg program running as closing it will close the tunnel. You also may want to ratelimit individual connections - use the "Per Connection Rate Limit" option to do so.
|
||||
(If you failed to join, check out the [troubleshooting](#troubleshooting) section of the page.)
|
||||
|
||||
@@ -34,9 +34,7 @@ Geyser only works with **server-side** mods. Mods that require a client-side ins
|
||||
clone-remote-port: false
|
||||
```
|
||||
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used, but be careful,
|
||||
as this only works when using [Nethernet External Signalling](/wiki/geyser/nethernet/setup#nethernet-external-signalling)
|
||||
as the Nethernet TCP port cannot collide with the Java one.
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
|
||||
Since you are self-hosting, you can choose the port freely - the default port is 19132.
|
||||
**Important**: Other services/mods that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
|
||||
|
||||
|
||||
@@ -29,9 +29,7 @@ See also [this page](/wiki/geyser/supported-versions/) on supported versions.
|
||||
clone-remote-port: false
|
||||
```
|
||||
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used, but be careful,
|
||||
as this only works when using [Nethernet External Signalling](/wiki/geyser/nethernet/setup#nethernet-external-signalling)
|
||||
as the Nethernet TCP port cannot collide with the Java one.
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
|
||||
Since you are self-hosting, you can choose the port freely - the default port is 19132.
|
||||
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
|
||||
|
||||
|
||||
@@ -31,9 +31,7 @@ import { Versions } from '@site/src/components/Versions'
|
||||
clone-remote-port: false
|
||||
```
|
||||
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used, but be careful,
|
||||
as this only works when using [Nethernet External Signalling](/wiki/geyser/nethernet/setup#nethernet-external-signalling)
|
||||
as the Nethernet TCP port cannot collide with the Java one.
|
||||
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
|
||||
Since you are self-hosting, you can choose the port freely - the default port is 19132.
|
||||
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
|
||||
|
||||
|
||||
@@ -23,9 +23,7 @@ description: Learn how to set up Geyser with ViaProxy.
|
||||
clone-remote-port: false
|
||||
```
|
||||
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
|
||||
If you enable `clone-remote-port`, the port will be overridden and the ViaProxy port is used, but be careful,
|
||||
as this only works when using [Nethernet External Signalling](/wiki/geyser/nethernet/setup#nethernet-external-signalling)
|
||||
as the Nethernet TCP port cannot collide with the Java one.
|
||||
If you enable `clone-remote-port`, the port will be overridden and the ViaProxy port is used.
|
||||
Since you are self-hosting, you can choose the port freely - the default port is 19132.
|
||||
|
||||
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
|
||||
|
||||
@@ -130,16 +130,6 @@ This is a Spigot/BungeeCord/Velocity plugin that can be used to automatically up
|
||||
|
||||
Creators: [Jens](https://github.com/Jens-Co), [YHDiamond](https://github.com/YHDiamond), [Konicai](https://github.com/Konicai)
|
||||
|
||||
## Junction {#junction}
|
||||
A modern Geyser and Floodgate management solution for Paper, Purpur, and Folia servers. It automates Bedrock player management by executing platform-specific commands and handling LuckPerms or Vault group assignments.
|
||||
|
||||
* [Modrinth](https://modrinth.com/plugin/junction)
|
||||
* [Hangar](https://hangar.papermc.io/Maboroshi/Junction)
|
||||
* [Documentation](https://docs.maboroshi.org/projects/junction)
|
||||
* [GitHub](https://github.com/MaboroshiKobo/Junction)
|
||||
|
||||
Creator: [muhdfdeen](https://github.com/muhdfdeen)
|
||||
|
||||
## SleepingServerStarter {#sleepingserverstarter}
|
||||
Small application that waits for a player to connect before launching actual minecraft server.
|
||||
* [GitHub](https://github.com/vincss/mcsleepingserverstarter)
|
||||
|
||||
+3
-10
@@ -42,11 +42,12 @@ appears correctly on your Java client, then Rainbow is able to analyse it.
|
||||
|
||||
Generally, you use Rainbow as follows:
|
||||
|
||||
1. Set up a Java Edition 26.2 client, with Fabric installed, and ensure that Rainbow is present on your client.
|
||||
1. Set up a Java Edition 26.1 client, with Fabric installed, and ensure that Rainbow is present on your client.
|
||||
2. Join a world or server of choice and make sure all the necessary resource packs are loaded. Then, run `/rainbow create <pack name>`, with `<pack name>` replaced with the name of your resource pack on Bedrock Edition.
|
||||
3. You can then start converting (or "mapping") custom content to be exported in your Bedrock resource pack. You can find a full list of ways to map custom content below.
|
||||
4. Run `/rainbow finish` to finish your conversion. Rainbow will then output the generated resource pack and additional files to `.minecraft/rainbow/<pack name>`. You can click the `Wrote pack to disk` message in chat to open that folder.
|
||||
5. In this folder, you'll find 4 important files/folders:
|
||||
5. In this folder, you'll find 5 important files/folders:
|
||||
- `custom-skulls.yml`: put this in Geyser's config folder. These are the exported player skulls. The file may already exist in Geyser's config folder, be careful with overwriting it!
|
||||
- `custom_mappings`: you need to put the files in here in the `custom_mappings` folder in Geyser's config folder. These are the generated Geyser mappings.
|
||||
- `pack.zip`: this is the generated resource pack for Bedrock Edition. You need to put this file in the `packs` folder in Geyser's config folder.
|
||||
- `lang`: you need to put all files in this folder in the `locales/overrides` folder in Geyser's config folder.
|
||||
@@ -121,12 +122,6 @@ Custom sounds may be mapped by using `/rainbow auto sounds`, which scans through
|
||||
and maps all that are found. You may also use `/rainbow map sound <namespace>`, which maps all the custom sounds
|
||||
of the given namespace. This can be useful when you only want to export custom sounds of a single resource pack.
|
||||
|
||||
### Mapping custom waypoint styles
|
||||
|
||||
Custom waypoint styles, also known as locator bar icons, may be mapped by using `/rainbow auto waypoints`, which scans
|
||||
through all loaded resource packs for custom styles, and maps all that are found. You may also use
|
||||
`/rainbow map waypoint <waypoint style>`, which maps a single waypoint style.
|
||||
|
||||
## Capabilities and limitations
|
||||
|
||||
Rainbow is currently capable of the following:
|
||||
@@ -154,8 +149,6 @@ Rainbow is currently capable of the following:
|
||||
- For the `display_context` property, the `gui` case is mapped, if present.
|
||||
- Also includes detecting if an item should be displayed handheld by looking at the item's model.
|
||||
- Also is able to detect and map items using the "legacy" `custom_model_data` range-dispatch style, and map them to Geyser's `legacy` item mappings.
|
||||
- Generating Geyser skull mappings.
|
||||
- Generating Geyser waypoint style mappings for custom waypoint styles (locator bar icons).
|
||||
- Generating a simple Bedrock resource pack for blocks and simple 2D items, as well as:
|
||||
- Simple custom armour items, by analysing an item's `minecraft:equippable` component and loaded equipment assets.
|
||||
- Custom elytra items also work, but only visually, due to bedrock limitations.
|
||||
|
||||
Reference in new issue
Block a user