diff --git a/src/components/Provider.tsx b/src/components/Provider.tsx
index 2f45ea4..b805d67 100644
--- a/src/components/Provider.tsx
+++ b/src/components/Provider.tsx
@@ -1,8 +1,7 @@
import type { HostingProvider, ProviderType } from "@site/src/types/providers";
import ReactMarkdown from "react-markdown";
-import Admonition from '@theme/Admonition';
import React, { useState } from 'react';
-import Translate, { translate } from "@docusaurus/Translate";
+import { translate } from "@docusaurus/Translate";
import { providersData } from "../data/providers";
export const noP = (props: { children: any; }) => {
@@ -29,7 +28,7 @@ export const Provider = ({ type }) => {
)
}
-export const ProviderSelector = () => {
+export const ProviderSelector = ({setProvider}) => {
const providers: HostingProvider[] = [
...Object.values(providersData.built_in),
...Object.values(providersData.support),
@@ -38,9 +37,17 @@ export const ProviderSelector = () => {
providers.unshift({
name: 'Not listed',
- description: translate({
- id: 'providers.provider.not_listed.description',
- 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.
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."
+ url: null,
+ config: {
+ clone_remote_port: true
+ },
+ connect_instructions: translate({
+ id: 'providers.connect.templates.java_ip_port',
+ message: 'Connect with the Java server IP and Java server port.'
+ }),
+ info: translate({
+ id: 'providers.provider.not_listed.info',
+ message: "If these instructions do not work, contact your server hosting provider and ask for a UDP port. Then, set clone-remote-port to false, and set 'bedrock port' to the port you got. For VPS/KVM servers, please follow the self-hosting steps."
})
} as HostingProvider);
@@ -51,6 +58,7 @@ export const ProviderSelector = () => {
const selectedName = event.target.value;
const provider = providers.find(p => p.name === selectedName);
setSelectedProvider(provider);
+ setProvider(provider);
}
return (
@@ -63,15 +71,6 @@ export const ProviderSelector = () => {
))}
- Provider Instructions}>
- {selectedProvider ? (
- {selectedProvider.description}
- ) : (
-
- Select a provider to see specific installation instructions
-
- )}
-
);
}
diff --git a/src/data/providers.ts b/src/data/providers.ts
index df61a59..286ee44 100644
--- a/src/data/providers.ts
+++ b/src/data/providers.ts
@@ -3,22 +3,87 @@ import { Providers } from "../types/providers"
// Do not modify the structure of this file without updating the extraction logic in create-providers-json.ts
-const descriptionTemplates = {
- default: translate({
- id: 'providers.templates.default',
- message: "Enable `clone-remote-port` (or manually set `bedrock port` to the Java port), and connect with the Java IP and port."
+const connectionTemplates = {
+ asConfigured: translate({
+ id: 'providers.connect.templates.default.as_configured',
+ message: "Connect using the Java server IP and the Bedrock port set in your Geyser config."
}),
- ipAndPort: translate({
- id: 'providers.templates.ip_and_port',
- message: "Enable `clone-remote-port` (or manually set `bedrock port` to the Java port), uncomment `bedrock address`, and change `0.0.0.0` to your Java server's IP. Connect with the Java IP and port."
+ bedrockPort: translate({
+ id: 'providers.connect.templates.default_bedrock_port',
+ message: "Connect with the Java server IP and the default Bedrock port (19132)."
}),
- forwardingOption: translate({
- id: 'providers.templates.forwarding_option',
- message: "Offers a working port forwarding option."
+ sameAsJava: translate({
+ id: 'providers.connect.templates.java_ip_port',
+ message: 'Connect with the Java server IP and Java server port.'
}),
- javaIp: translate({
- id: 'providers.templates.java_ip',
- message: "Make sure your remote address is 'auto', uncomment `bedrock address`, and change `0.0.0.0` to your Java server's IP."
+ providedByHost: translate({
+ id: 'providers.connect.templates.provided_by_host',
+ message: 'Instructions on how to connect on Bedrock edition are provided by the host.'
+ })
+}
+
+const configChangeTemplates = {
+ cloneRemotePort: {
+ clone_remote_port: true
+ },
+ contactHostForPort: {
+ port_instruction: translate({
+ id: 'providers.config.templates.ask_host_for_port',
+ message: "Contact your server hosting provider and ask for a UDP port to use Geyser. Set 'bedrock port' to the port provided."
+ })
+ },
+ assignPort: {
+ port_instruction: translate({
+ id: 'providers.config.templates.assign_port',
+ message: "Assign a UDP port in the server hosting providers panel, and set 'bedrock port' to it."
+ })
+ },
+ allocatedPort: {
+ port_instruction: translate({
+ id: 'providers.config.templates.allocated_port',
+ message: "Set 'bedrock port' to one of the ports allocated to you."
+ })
+ },
+ cloneRemotePortOrSupport: {
+ clone_remote_port: true,
+ other_instruction: translate({
+ id: 'providers.config.templates.alternative_support',
+ message: "Alternatively to running Geyser on the same port as the Java server, contact the server hosting provider to get a custom port."
+ })
+ },
+ cloneRemotePortOrCustom: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.config.templates.alternative_allocation',
+ message: "Alternatively to running Geyser on the same port as the Java server, you can create a port allocation."
+ })
+ },
+ cloneRemotePortOrDedicatedIp: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.config.templates.custom_port_dedicated_ip',
+ message: "If you have a dedicated IP, you can contact the server hosting provider's support to use a custom port."
+ })
+ },
+ javaAddress: {
+ port: 19132,
+ address_instructions: translate({
+ id: 'providers.config.templates.java_address',
+ message: "Set 'bedrock address' to the Java server's public address."
+ })
+ },
+ javaIpAndPort: {
+ clone_remote_port: true,
+ address_instructions: translate({
+ id: 'providers.config.templates.java_address'
+ })
+ }
+}
+
+const warnings = {
+ ovhFirewallMisconfiguration: translate({
+ id: 'providers.warnings.ovh_firewall_misconfig',
+ message: "To fix random `Unable to Connect` issues, see [here](https://wiki.geysermc.org/geyser/port-forwarding/#ovh-and-soyoustart)."
})
}
@@ -27,174 +92,214 @@ export const providersData: Providers = {
{
name: 'Apex Hosting',
url: 'https://apexminecrafthosting.com/',
- description: translate({
- id: 'providers.provider.apex_hosting.description',
- message: "Full auto installation. Go to the Customizations tab in the panel and select 'Enabled' under the 'Geyser Auto Installer' option. Then, restart and connect to your server with your Java IP and port. See [Apex's article](https://apexminecrafthosting.com/geysermc/) for more details."
+ hosting_article: "https://apexminecrafthosting.com/geysermc/",
+ hosting_support: "https://apexminecrafthosting.com/support/",
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.apex_hosting.install',
+ message: "Go to the Customizations tab in the panel and select 'Enabled' under the 'Geyser Auto Installer' option."
})
},
{
name: 'Arth Hosting',
url: 'https://arthmc.xyz/',
- description: translate({
- id: 'providers.provider.arth_hosting.description',
+ connect_instructions: connectionTemplates.asConfigured,
+ custom_install_location: translate({
+ id: 'providers.provider.arth_hosting.install',
message: "Geyser is installed and configured on all servers by default. You can disable it in the 'Manage Plugins' menu."
})
},
{
name: 'Aternos',
url: 'https://aternos.org/',
- description: translate({
- id: 'providers.provider.aternos.description',
- message: "Install Geyser in the Aternos plugin list and connect to your server with your Java IP and port. See [Aternos's article](https://support.aternos.org/hc/en-us/articles/360051047631) for more details. Do note: Aternos automatically installs the latest version of the plugin, but does not auto update it. To update Geyser on Aternos, simply reinstall the plugin (no need to uninstall the plugin/deleting the plugin files)."
+ connect_instructions: connectionTemplates.sameAsJava,
+ hosting_article: "https://support.aternos.org/hc/en-us/articles/360051047631",
+ hosting_support: "https://discord.aternos.org/",
+ custom_install_location: translate({
+ id: 'providers.provider.aternos.install',
+ message: "Install Geyser in the Aternos plugin list."
+ }),
+ info: translate({
+ id: 'providers.provider.aternos.info',
+ message: "Aternos automatically installs the latest version of Geyser, but does not auto update it. To update, reinstall the plugin (no need to uninstall Geyser/deleting the plugin files)."
})
},
{
name: 'Cloud Nord',
url: 'https://cloudnord.net/',
- description: translate({
+ connect_instructions: connectionTemplates.asConfigured,
+ hosting_support: "https://cloudnord.net/submitticket.php",
+ info: translate({
id: 'providers.provider.cloud_nord.description',
- 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."
- })
+ message: "Servers from the [Crossplay Server](https://cloudnord.net/minecraftcrossplay-server-hosting/) hosting section do not need further configuration."
+ }),
+ custom_install_location: translate({
+ id: 'providers.provider.cloud_nord.install',
+ message: "Install Geyser from the Plugins/Mods tab on the panel."
+ }),
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.cloud_nord.port',
+ message: "Go to the Network tab on your server and generate a new port, or pick an existing unused one. Then, set 'bedrock port' to it."
+ })
+ }
},
{
name: 'CreeperHost',
url: 'https://www.creeperhost.net/',
- description: translate({
- id: 'providers.provider.creeperhost.description',
- message: "Has a toggle within the control panel to automatically enable Geyser. May not be enabled by default, so you may need to toggle it and restart the server."
+ connect_instructions: "provided_by_host",
+ custom_install_location: translate({
+ id: 'providers.provider.creeperhost.install',
+ message: "Has a toggle within the control panel to automatically enable Geyser."
})
},
{
name: 'Cubes Hosting',
url: 'https://www.cubes.host/',
- description: translate({
- id: 'providers.provider.cubes_hosting.description',
- message: "Install Geyser using the plugin manager. Then restart the server and Geyser will run on an additional port - you can check it in the server console. Geyser-Standalone can be set up through a support ticket."
- })
+ connect_instructions: translate({
+ id: 'providers.provider.cubes_hosting.connect',
+ message: "Connect with the Java server IP and the port shown in the server console."
+ }),
+ custom_install_location: translate({
+ id: 'providers.provider.cubes_hosting.install',
+ message: "Install Geyser using the plugin manager. Then restart the server and Geyser will run on an additional port - you can check it in the server console."
+ }),
+ info: translate({
+ id: 'providers.provider.cubes_hosting.info',
+ message: "Geyser-Standalone can be set up through a support ticket."
+ }),
},
{
name: 'exaroton',
url: 'https://exaroton.com/',
- description: translate({
- id: 'providers.provider.exaroton.description',
- message: "Install Geyser in the exaroton plugin list and connect to your server with your Java IP and port. See [exaroton's article](https://support.exaroton.com/hc/en-us/articles/360019857918-Geyser) for more details."
+ hosting_article: "https://support.exaroton.com/hc/en-us/articles/360019857918-Geyser",
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.exaroton.install',
+ message: "Install Geyser in the exaroton plugin list."
})
},
{
name: 'GGServers',
url: 'https://ggservers.com',
- description: translate({
- id: 'providers.provider.ggservers.description',
- message: "Can be installed to any server from their auto plugin setups. No further configuration needed."
+ connect_instructions: connectionTemplates.providedByHost,
+ custom_install_location: translate({
+ id: 'providers.provider.ggservers.install',
+ message: "Can be installed to any server from their auto plugin setups."
})
},
{
name: 'Lilypad',
url: 'https://lilypad.gg',
- description: translate({
- id: 'providers.provider.lilypad.description',
- message: "Tick the 'Enable Bedrock crossplay?' option when changing your server software to automatically install and configure Geyser + Floodgate. For more details, navigate to [lilypad.gg/bedrock](https://lilypad.gg/bedrock)."
+ hosting_article: "https://lilypad.gg/bedrock",
+ connect_instructions: connectionTemplates.providedByHost,
+ custom_install_location: translate({
+ id: 'providers.provider.lilypad.install',
+ message: "Tick the 'Enable Bedrock crossplay?' option when changing your server software to automatically install and configure Geyser + Floodgate."
})
},
{
name: 'Minefort',
url: 'https://minefort.com/',
- description: translate({
- id: 'providers.provider.minefort.description',
- message: "On the server dashboard under 'Connect Support', make sure 'Allow Bedrock' is enabled. Then connect via `play.minefort.com` and join using `/server [servername]`, or connect via `[servername].minefort.com`."
+ connect_instructions: translate({
+ id: 'providers.provider.minefort.connect_instructions',
+ message: "Connect via `play.minefort.com` and join using `/server [servername]`, or connect directly via `[servername].minefort.com`."
+ }),
+ additional_step: translate({
+ id: 'providers.provider.minefort.additional_step',
+ message: "To allow Bedrock players, go to the server dashboard under 'Connect Support', and enable the 'Allow Bedrock' option."
})
},
{
name: 'Minehut',
url: 'https://minehut.com/',
- description: translate({
- id: 'providers.provider.minehut.description',
+ connect_instructions: translate({
+ id: 'providers.provider.minehut.connect_instructions',
message: "Connect via `bedrock.minehut.com` and do `/join [servername]`, or connect directly via `[servername].bedrock.minehut.gg`."
})
},
{
name: 'Physgun',
url: 'https://physgun.com/',
- description: descriptionTemplates.default
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'PiglinHost',
url: 'https://piglinhost.com/',
- description: translate({
- id: 'providers.provider.piglinhost.description',
- message: "Order from the [cross-platform servers page](https://piglinhost.com/minecraft-java-hosting.html). Alternatively, contact their support by creating a [support ticket](https://billing.piglinhost.com/submitticket.php?step=2&deptid=5) or via discord for installation and configuration help."
- })
+ hosting_support: 'https://billing.piglinhost.com/submitticket.php?step=2&deptid=5',
+ connect_instructions: connectionTemplates.providedByHost,
+ config: {
+ other_instructions: translate({
+ id: 'providers.provider.config.other',
+ message: "If you did not order the server from the [cross-platform servers page](https://piglinhost.com/minecraft-java-hosting.html), contact the support for help with Geyser setup."
+ })
+ }
},
{
name: 'OMGServ',
url: 'https://www.omgserv.com/en/',
- description: translate({
- id: 'providers.provider.omgserv.description',
- message: "Select Geyser in the [Install Menu](https://i.imgur.com/Gewpsrq.png), it will be automatically installed. You can enable floodgate in the [server properties on the dashboard](https://i.imgur.com/jg5mzNj.png)."
+ connect_instructions: connectionTemplates.providedByHost,
+ custom_install_location: translate({
+ id: 'providers.provider.omgserv.install',
+ message: "Select Geyser in the [Install Menu](https://i.imgur.com/Gewpsrq.png), to automatically it. You can enable floodgate in the [server properties on the dashboard](https://i.imgur.com/jg5mzNj.png)."
})
},
{
name: 'Pufferfish Host',
url: 'https://pufferfish.host/',
- description: translate({
- id: 'providers.provider.pufferfish_host.description',
+ connect_instructions: connectionTemplates.providedByHost,
+ info: translate({
+ id: 'providers.provider.pufferfish_host.info',
message: "Geyser is installed and configured on all servers by default."
})
},
{
- name: 'Server.pro',
+ name: 'Server.pro (Gaming plans)',
url: 'https://server.pro',
- description: translate({
- id: 'providers.provider.server.pro.description',
- message: "Different instructions for different plans: On VPS, select Geyser in the [Service Type Menu](https://i.imgur.com/loSNmvu.png), Floodgate can be enabled on the dashboard configuration. For manual installation: Using a Premium or Free plan, use the same port as your Java server for the Bedrock port in the configuration file and connect that; for the Free plan, also enable the `clone-remote-port` option. If you are using a PRO or a VPS plan, you can use any port, which can be opened on the Firewall tab."
- })
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.server_pro.port',
+ message: "Allocate a UDP port in the firewall tab, and set 'bedrock port' to it."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured
},
{
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."
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.snakecraft_hosting.install',
+ message: "Select 'Paper + Geyser with Floodgate' under the Jar Type at checkout to install the Geyser plugin."
})
},
{
name: 'SRKHOST',
url: 'https://www.srkhost.eu/',
- description: translate({
- id: 'providers.provider.srkhost.description',
+ connect_instructions: connectionTemplates.providedByHost,
+ custom_install_location: translate({
+ id: 'providers.provider.srkhost.install',
message: "You can enable Geyser on the version changer page. Geyser will run on the given port by the host."
})
},
- {
- 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',
- description: translate({
- id: 'providers.provider.wisehosting.description',
- message: "Both auto and manual installation available. Find the GeyserMC presets from the `Properties` tab in the Game Panel. There, click `Install` and restart your server. See [Crossplay FAQ](https://help.wisehosting.com/en/articles/13-how-to-install-geysermc-java-bedrock-crossplay-to-your-server) for additional details."
+ hosting_article: 'https://help.wisehosting.com/en/articles/13-how-to-install-geysermc-java-bedrock-crossplay-to-your-server',
+ connect_instructions: connectionTemplates.providedByHost,
+ custom_install_location: translate({
+ id: 'providers.provider.wisehosting.install',
+ message: "For auto installation: Find the GeyserMC presets from the `Properties` tab in the Game Panel. There, click `Install` and restart your server."
})
},
{
name: 'ZapHosting',
url: 'https://zap-hosting.com/en/',
- description: translate({
- id: 'providers.provider.zaphosting.description',
- 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."
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.zaphosting.install',
+ message: "Find the plugin in the control panel and restart your server."
})
}
],
@@ -202,473 +307,577 @@ export const providersData: Providers = {
{
name: 'Akliz',
url: 'https://www.akliz.net/',
- description: descriptionTemplates.forwardingOption
+ connect_instructions: connectionTemplates.asConfigured,
+ config: configChangeTemplates.assignPort,
},
{
name: 'Aquatis',
url: 'https://aquatis.host/',
- description: translate({
- id: 'providers.provider.aquatis.description',
- message: "Need to open a support ticket to get a UDP port, then use that as the `bedrock port`."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: configChangeTemplates.contactHostForPort,
},
{
name: 'BisectHosting',
url: 'https://www.bisecthosting.com/',
- description: translate({
- id: 'providers.provider.bisecthosting.description',
- message: "You must have a plan with a dedicated IP. In Geyser's config, uncomment the `bedrock address` and set it to the public IP of your server (e.g. `address: 51.79.129.18`). Leave the port as `19132`. Under the home tab, select 'Enable UDP Network' and restart the server. See Bisect's [article](https://www.bisecthosting.com/clients/index.php?rp=/knowledgebase/193/How-to-install-Geyser-and-Floodgate-on-a-Minecraft-Java-server.html) for full instructions. If you still cannot connect after following these instructions, contact Bisect Support as they reportedly have UDP disabled on some nodes."
- })
+ hosting_support: 'https://www.bisecthosting.com/clients/index.php?rp=/knowledgebase/193/How-to-install-Geyser-and-Floodgate-on-a-Minecraft-Java-server.html',
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port: 19132,
+ address_instruction: translate({
+ id: 'providers.provider.bisecthosting.config.address',
+ message: "Set 'bedrock address' to the public IP of your server (e.g. `address: 51.79.129.18`)"
+ })
+ },
+ additional_step: translate({
+ id: 'providers.provider.additional_step',
+ message: "Under the home tab, select 'Enable UDP Network' and restart the server."
+ }),
+ warn: translate({
+ id: 'providers.provider.bisecthosting.info',
+ message: "If you still cannot connect after following these instructions, contact Bisects support as they reportedly have UDP disabled on some nodes."
+ }),
},
{
name: 'Birdflop',
url: 'https://birdflop.com/',
- description: translate({
- id: 'providers.provider.birdflop.description',
- message: "Open an allocation in the networks tab. If you have a dedicated IP, you can open a ticket to request allocation of the default Bedrock port (19132). Update the config to use the allocated port and restart the server."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.birdflop.config.port',
+ message: "Open an allocation in the networks tab, and set 'bedrock address' to it."
+ }),
+ other_instructions: translate({
+ id: 'providers.provider.birdflop.other',
+ message: "If you have a dedicated IP, you can open a ticket to request allocation of the default Bedrock port (19132)"
+ })
+ }
},
{
name: 'Bloom.Host',
url: 'https://www.bloom.host/',
- description: translate({
- id: 'providers.provider.bloomhost.description',
- message: "See [Bloom's documentation](https://docs.bloom.host/plugins/geysermc/) for setup instructions."
- })
+ hosting_article: 'https://docs.bloom.host/plugins/geysermc/',
+ connect_instructions: connectionTemplates.bedrockPort,
+ config: {
+ other_instructions: translate({
+ id: 'providers.provider.bloom.other',
+ message: "Create the allocation for port 19132 in the 'port and proxies' tab on the panel."
+ })
+ }
},
{
name: 'Clovux',
url: 'https://clovux.net/',
- description: descriptionTemplates.javaIp
+ connect_instructions: connectionTemplates.bedrockPort,
+ config: configChangeTemplates.javaAddress
},
{
name: 'Consulhosting',
url: 'https://consulhosting.nl/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Craft-Hosting',
url: 'https://craft-hosting.ru/',
- description: translate({
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava,
+ warn: translate({
id: 'providers.provider.craft-hosting.description',
- message: "Set the Bedrock port to the Java server's port and connect with that port; note that this provider appears to only provide service in Russia."
+ message: "This provider appears to only provide service in Russia."
})
},
{
name: 'DedicatedMC',
url: 'https://dedicatedmc.io/',
- description: translate({
- id: 'providers.provider.dedicatedmc.description',
- message: "Check [DedicatedMC's documentation](https://docs.dedicatedmc.io/plugins-mods/how-to-install-geysermc/) for specific instructions."
- })
+ hosting_article: 'https://docs.dedicatedmc.io/plugins-mods/how-to-install-geysermc/',
+ config: configChangeTemplates.cloneRemotePortOrSupport,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'ElfIDC',
url: 'https://www.elfidc.com/',
- description: translate({
- id: 'providers.provider.elfidc.description',
- message: "When placing an order, choose Paper/Spigot + Geyser, which will automatically install the Geyser plugin. Connect with the Java server's IP and port. Note: This provider only provides service in China."
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.elfidc.custom',
+ message: "When placing an order, choose Paper/Spigot + Geyser, which will automatically install the Geyser plugin."
+ }),
+ warn: translate({
+ id: 'providers.provider.elfidc.warning',
+ message: "This hosting provider only provides service in China."
})
},
{
name: 'EnviroMC',
url: 'https://enviromc.host/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'ExtraVM',
url: 'https://extravm.com/',
- description: descriptionTemplates.javaIp
+ connect_instructions: connectionTemplates.bedrockPort,
+ config: configChangeTemplates.javaAddress,
},
{
name: 'FadeHost',
url: 'https://fadehost.com/',
- description: translate({
- id: 'providers.provider.fadehost.description',
- message: "Set the Bedrock port to the Java server's port and connect with that port. Alternatively, buy a dedicated IP address to support a different port."
- })
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePortOrDedicatedIp,
},
{
name: 'FakaHeda',
url: 'https://fakaheda.eu/',
- description: translate({
- id: 'providers.provider.fakaheda.description',
- message: "Set the `bedrock port` in the config to the Java server's port or use one of the available ports allocated to your server, and connect with that port."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: configChangeTemplates.cloneRemotePortOrCustom
},
{
name: 'FalixNodes',
url: 'https://falixnodes.net/',
- description: translate({
- id: 'providers.provider.falixnodes.description',
- message: "Open a port yourself on the network page in the game panel, then use that port in the bedrock section of the Geyser config."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.falixnodes.config.port',
+ message: "Open a port yourself on the network page in the game panel, then use that port in the bedrock section of the Geyser config."
+ })
+ }
},
{
name: 'Ferox Hosting',
url: 'https://feroxhosting.nl',
- description: translate({
- id: 'providers.provider.ferox_hosting.description',
- message: "Open a port yourself in their panel and check out the [knowledgebase article](https://feroxhosting.nl/kb/) for how to install and configure Geyser."
- })
+ hosting_article: "https://feroxhosting.nl/kb/",
+ connect_instructions: connectionTemplates.asConfigured,
+ config: configChangeTemplates.assignPort,
},
{
name: 'Fluctis Hosting',
url: 'https://fluctishosting.com',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'FREAKHOSTING',
url: 'https://freakhosting.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'FreeMcServer.net',
url: 'https://freemcserver.net',
- 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."
- })
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'GameHosting.it',
url: 'https://www.gamehosting.it/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'GameProHost',
url: 'https://gameprohost.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'GPortal',
url: 'https://www.g-portal.com/',
- description: translate({
- id: 'providers.provider.gportal.description',
- 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'."
- })
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.gportal.description',
+ 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."
+ }),
+ address_instruction: translate({
+ id: 'providers.provider.gportal.description',
+ message: "Set 'bedrock address' to the Java server IP."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured
},
{
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)."
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: "providers.provider.heavynode.config.port",
+ message: "Open a port yourself in the networking section of the control panel."
+ })
+ },
+ info: translate({
+ id: 'providers.provider.heavynode.info',
+ message: "The default bedrock port `19132` is available with a dedicated IP (contact support)."
+ }),
+ warn: translate({
+ id: "providers.provider.heavynode.warn",
+ message: "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/',
- description: translate({
- id: 'providers.provider.hicoria.description',
- message: "Use one of the available ports allocated for your server for the Bedrock port in your config and connect with that port."
- })
+ config: configChangeTemplates.allocatedPort,
+ connect_instructions: connectionTemplates.asConfigured
},
{
name: 'Hosterfy',
url: 'https://www.hosterfy.com/',
- description: translate({
- id: 'providers.provider.hosterfy.description',
- message: "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. You can also ask for a new port."
- })
+ config: configChangeTemplates.cloneRemotePortOrSupport,
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'HostEZ',
url: 'https://hostez.io/minecraft',
- description: translate({
- id: 'providers.provider.hostez.description',
- message: "Geyser plugin supported with self-install or installed on request with its own port."
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.hostez.config.port',
+ message: "Add 1 to the port you were assigned (e.g. 25565 -> 25566), and set that as the 'bedrock port' in the config."
+ }),
+ other_instructions: translate({
+ id: 'providers.provider.hostez.config.other',
+ message: "Different ports can be set in the Allocations tab. Premium products with a dedicated IP can use the default port (19132)."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured,
+ info: translate({
+ id: 'providers.provider.hostez.info',
+ message: "Most MC plans also include UDP DDoS protection, which can be used with Geyser."
})
},
{
name: 'Host Havoc',
url: 'https://hosthavoc.com/minecraft',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Hosting-Minecraft',
url: 'https://hosting-minecraft.pro/',
- description: translate({
- id: 'providers.provider.hosting-minecraft.description',
- message: 'Create a new port in the "Allocations" tab and use that port in the config.'
- })
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.hosting-minecraft.config.port',
+ message: "Create a new port in the \"Allocations\" tab and set 'bedrock port' to that port."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured
},
{
name: 'HumbleServers',
url: 'https://humbleservers.com/',
- description: translate({
- id: 'providers.provider.humbleservers.description',
- message: "Set the Bedrock port to the Java server's port, or to one of the two extra ports, and connect with that port. If the subdomain doesn't work, use your regular numbered IP address."
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.humbleservers.config.other',
+ message: "Alternatively to using the Java server port, use one of the two extra ports."
+ })
+ },
+ connect_instructions: translate({
+ id: 'providers.provider.humbleservers.connect',
+ message: "Connect with the Java server IP and Java server port. If the subdomain doesn't work, use your regular numbered IP address."
})
},
{
name: 'KeKsHost',
url: 'https://kekshost.com/en/',
- description: translate({
- id: 'providers.provider.kekshost.description',
- message: "Use the default bedrock port (19132) and the server ip to connect on Bedrock edition. No changes to the Geyser config are needed. You can also ask for a new port and use it instead."
- })
+ connect_instructions: connectionTemplates.bedrockPort,
},
{
name: 'Kinetic Hosting',
url: 'https://kinetichosting.net/',
- description: translate({
- id: 'providers.provider.kinetic_hosting.description',
- message: "Open a port in the Network and Ports page, and set that port as the `bedrock port` in the Geyser config. Alternatively, use the Java server's port by enabling the `clone-remote-port` option in the config. Connect with the same IP as on Java, and the port that you have chosen. For more info see the hosts [support article](https://www.kinetichosting.net/articles/minecraft-java/plugins/geyser)."
- })
+ hosting_article: 'https://www.kinetichosting.net/articles/minecraft-java/plugins/geyser',
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.config.other',
+ message: "Alternatively to using the Java server port, open a port in the Network and Ports page, and set that port as the `bedrock port` in the Geyser config."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured
},
{
name: 'MC-HOST24.de',
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.'
- })
+ config: configChangeTemplates.javaIpAndPort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'MCPEhost.ru',
url: 'https://mcpehost.ru',
- description: translate({
- id: 'providers.provider.mcpehost.ru.description',
- message: "Create an additional port in the server settings and enable UDP protocol, then use that as the `bedrock port` in the config. Connect with the Java IP and that new port."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.mcpehost_ru.config.port',
+ message: "Create an additional port in the server settings and enable UDP protocol, then use that as the `bedrock port`."
+ })
+ }
},
{
name: 'Meloncube',
url: 'https://www.meloncube.net/',
- description: translate({
- id: 'providers.provider.meloncube.description',
- message: "Contact the support for a UDP port to use for Geyser. Set that port as the `bedrock port`, and connect with it."
- })
+ connect_instructions: connectionTemplates.providedByHost,
+ config: configChangeTemplates.contactHostForPort,
},
{
name: 'MineStrator',
url: 'https://minestrator.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Minecraft-Hosting.pro',
url: 'https://www.minecraft-hosting.pro/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
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."
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava,
+ custom_install_location: translate({
+ id: 'providers.provider.netbela.custom_install_location',
+ message: "Install Geyser with the dedicated Plugin installer."
})
},
{
name: 'NFOservers',
url: 'https://nfoservers.com/',
- description: translate({
- id: 'providers.provider.nfoservers.description',
- message: "Uncomment and set `bedrock address` to the server IP in the Geyser config file. As an alternative, you can run Geyser standalone separately on an Unmanaged VDS."
+ config: configChangeTemplates.javaAddress,
+ connect_instructions: connectionTemplates.bedrockPort,
+ info: translate({
+ id: 'providers.provider.nfoservers.info',
+ message: "You can also run Geyser-Standalone separately on an Unmanaged VDS."
})
},
{
name: 'Nitrado',
url: 'https://nitrado.net',
- description: translate({
- id: 'providers.provider.nitrado.description',
- message: "Get Geyser as a plugin. Add 4 to the Port of the Java server. See [here](https://wiki.nitrado.net/en/How_to_install_GeyserMC_and_Floodgate) for specific instructions."
- })
+ hosting_article: 'https://wiki.nitrado.net/en/How_to_install_GeyserMC_and_Floodgate',
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.nitrado.config.port',
+ message: "Get Geyser as a plugin. Add 4 to the Port of the Java server."
+ })
+ }
},
{
name: 'Nodecraft',
url: 'https://nodecraft.com',
- description: translate({
- id: 'providers.provider.nodecraft.description',
- message: "Use the default server port and `0.0.0.0` or your server IP as the host address."
- })
+ config: {
+ port: 25565
+ },
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'PaperNodes',
url: 'https://papernodes.com/',
- description: translate({
- id: 'providers.provider.papernodes.description',
- message: 'Enable clone-remote-port (or manually set the Bedrock port to the Java port), and connect with the Java IP and port. Alternatively, you can contact the host to request an additional port or a dedicated IP.'
- })
+ config: configChangeTemplates.cloneRemotePortOrSupport,
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'Pebblehost',
url: 'https://pebblehost.com/',
- description: translate({
- id: 'providers.provider.pebblehost.description',
- message: "Enable `clone-remote-port` (or manually set `bedrock port` to the Java port), and connect with the Java IP and port. See [this video](https://youtu.be/v9lC80UBZF4) for a PebbleHost-specific tutorial."
- })
+ hosting_article: 'https://youtu.be/v9lC80UBZF4',
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'PlanetNode',
url: 'https://planetnode.net',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'PUBCS',
url: 'https://pubcs.com',
- description: translate({
- id: 'providers.provider.pubcs.description',
- message: "Set the Bedrock port to the Java server's port and connect with that port, or upgrade to a plan that includes dedicated IP address to support a different port."
- })
+ config: configChangeTemplates.cloneRemotePortOrDedicatedIp,
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'RamShard',
url: 'https://ramshard.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Redline Hosting',
url: 'https://redlinehosting.net/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Revivenode',
url: 'https://revivenode.com/',
- description: translate({
- id: 'providers.provider.revivenode.description',
- message: "Set `bedrock port` to the Java server's port (either by setting it yourself, or enabling `clone-remote-port`). You can also create a secondary port in the `network tab` and use that. To fix random `Unable to Connect` issues, see [here](https://wiki.geysermc.org/geyser/port-forwarding/#ovh-and-soyoustart)."
- })
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.revivenode.config.other',
+ message: "You can also create a secondary port in the `network tab` and use that as the `bedrock port`."
+ })
+ },
+ connect_instructions: connectionTemplates.sameAsJava,
+ warn: warnings.ovhFirewallMisconfiguration
},
{
name: 'ScalaCube',
url: 'https://scalacube.com/',
- description: descriptionTemplates.ipAndPort
+ config: configChangeTemplates.javaIpAndPort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'Shockbyte',
url: 'https://shockbyte.com/',
- description: translate({
- id: 'providers.provider.shockbyte.description',
- message: "The port will be automatically set after you download Geyser and restart the server. Connect with the same IP and port as on Java. For Geyser Standalone installation instructions, see [here](https://shockbyte.com/billing/knowledgebase/173/Introduction-to-GeyserMCorDragonProxy-How-GeyserMC-Works.html)."
- })
+ hosting_article: 'https://shockbyte.com/billing/knowledgebase/173/Introduction-to-GeyserMCorDragonProxy-How-GeyserMC-Works.html',
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'Skynode.pro',
url: 'https://skynode.pro/',
- description: translate({
- id: 'providers.provider.skynode.pro.description',
- message: "Go to 'Server Details', add a new port, and set the `bedrock port` in your config to that port. Connect with it and the Java server's address."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ port_instruction: translate({
+ id: 'providers.provider.skynode.pro.config.port',
+ message: "Go to 'Server Details', add a new port, and set the `bedrock port` in your config to that port."
+ })
+ }
},
{
name: 'Sparked Host',
url: 'https://sparkedhost.com',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'STIPE',
url: 'https://stipe.com.au/',
- description: translate({
- id: 'providers.provider.stipe.description',
- 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."
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort,
+ info: translate({
+ id: 'providers.provider.stipe.info',
+ message: "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."
- })
+ config: configChangeTemplates.cloneRemotePortOrSupport,
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'The Minecraft Hosting',
url: 'https://theminecrafthosting.com/',
- description: translate({
- id: 'providers.provider.the_minecraft hosting.description',
- message: "Try using `19132` as the Bedrock port, if that does not work, use the same Java server's port for the `bedrock port` in your config and connect with that port and the Java server's IP."
- })
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: 'TNAHosting',
url: 'https://tnahosting.net/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'TurboHost',
url: 'https://turbohost.nl/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'UltimateSRV',
url: 'https://ultimatesrv.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'VexyHost',
url: 'https://vexyhost.com/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'Volcano Hosting',
url: 'https://www.volcanohosting.net/',
- description: descriptionTemplates.default
+ connect_instructions: connectionTemplates.sameAsJava,
+ config: configChangeTemplates.cloneRemotePort
},
{
name: 'VoltHosting',
url: 'https://www.volthosting.co.uk/',
- description: translate({
- id: 'providers.provider.volthosting.description',
- message: "Enable clone-remote-port (or manually set bedrock port to the Java port), and connect with the Java IP and port. Alternatively, request an additional port, or buy a dedicated IP address. If you continue to have issues, please [contact VoltHosting support](https://volthosting.co.uk/contact.html) for further assistance."
- })
+ hosting_support: 'https://volthosting.co.uk/contact.html',
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.volthosting.config.other',
+ message: "Alternatively, request an additional port, or buy a dedicated IP address."
+ })
+ },
+ connect_instructions: connectionTemplates.asConfigured,
},
{
name: 'Vultam',
url: 'https://vultam.net/',
- description: translate({
- id: 'providers.provider.vultam.description',
- message: "Enable `clone-remote-port` in the Geyser config, and connect with the Java IP and port. Alternatively, allocate an additional port to your server from the Network section of the control panel and set it as the `bedrock.port` in the Geyser config. Use that port to connect from Bedrock. Please contact [Vultam support](https://clients.vultam.net/submitticket.php?step=2&deptid=1) if you need assistance."
- })
+ hosting_support: 'https://clients.vultam.net/submitticket.php?step=2&deptid=1',
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.vultam.config.other',
+ message: "Alternatively, allocate a port to your server in the Network section of the control panel. Set that as the `bedrock port` in the Geyser config."
+ })
+ }
},
{
name: 'Wasabi Hosting',
url: 'https://wasabihosting.com',
- description: translate({
+ custom_install_location: translate({
id: '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."
- })
+ message: "Install Geyser with the plugin installer."
+ }),
+ config: configChangeTemplates.cloneRemotePort,
+ connect_instructions: connectionTemplates.sameAsJava
},
{
name: "Wepwawet",
url: "https://wepwawet.net/",
- description: translate({
- id: 'providers.provider.wepwawet.description',
- message: "Add a new port in the Network tab. Use this new port as the bedrock port."
- })
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ other_instructions: translate({
+ id: 'providers.provider.wepwawet.config.other',
+ message: "Add a new port in the Network tab. Use this new port as the bedrock port."
+ })
+ }
},
{
name: 'WinterNode',
url: 'https://winternode.com',
- description: translate({
- id: 'providers.provider.winternode.description',
- message: "Set the Bedrock port to the Java server's port and connect with that port. Alternatively, request an additional port, or buy a dedicated IP address."
- })
+ config: {
+ clone_remote_port: true,
+ other_instructions: translate({
+ id: 'providers.provider.winternode.config.other',
+ message: "Alternatively, request an additional port, or buy a dedicated IP address."
+ })
+ },
+ connect_instructions: connectionTemplates.sameAsJava,
},
{
name: 'WitherHosting',
url: 'https://witherhosting.com/',
- description: translate({
- id: 'providers.provider.witherhosting.description',
- message: "Either use the Java server's port, or create a port in the ports manager on the panel and use that for Bedrock. Refer to the hosts [support article](https://support.witherhosting.com/en/article/how-to-install-and-use-geysermc-1xn5l6v/) for further info."
- })
+ hosting_article: 'https://support.witherhosting.com/en/article/how-to-install-and-use-geysermc-1xn5l6v',
+ connect_instructions: connectionTemplates.asConfigured,
+ config: {
+ other_instructions: translate({
+ id: 'providers.provider.witherhosting.config.other',
+ message: "Either use the Java server's port, or create a port in the ports manager on the panel and use that for Bedrock."
+ })
+ }
}
],
no_support: [
{
name: 'MyArena',
url: 'https://www.myarena.ru/',
- description: translate({
+ connect_instructions: null,
+ warn: translate({
id: 'providers.provider.myarena.description',
message: "Does seem to be working, but the Java version is too old in order for Geyser to run properly."
})
@@ -676,7 +885,8 @@ export const providersData: Providers = {
{
name: 'NiCraft',
url: 'https://www.ni-host.com/',
- description: translate({
+ connect_instructions: null,
+ warn: translate({
id: '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."
})
@@ -684,7 +894,8 @@ export const providersData: Providers = {
{
name: 'Feather',
url: 'https://feathermc.com/',
- description: translate({
+ connect_instructions: null,
+ warn: translate({
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."
})
diff --git a/src/types/providers.ts b/src/types/providers.ts
index 78c18a3..cd3eeab 100644
--- a/src/types/providers.ts
+++ b/src/types/providers.ts
@@ -3,7 +3,24 @@ import React from "react";
export type HostingProvider = {
name: string;
url: string;
- description: React.ReactNode;
+ hosting_article?: String; // Many hosts have their own articles for Geyser
+ hosting_support?: String; // A link to the host support, can show when setup help fails
+ custom_install_location?: React.ReactNode; // e.g. aternos, can skip the entire download/config process on setup guide
+ config?: ConfigDetails; // If present, geyser config must be modified to function
+ connect_instructions: React.ReactNode; // what players must input to connect
+ additional_step?: React.ReactNode; // e.g.: must enable udp in settings/enable geyser mode
+ info?: React.ReactNode; // Additional information. Displayed in info bubble.
+ warn?: React.ReactNode; // shaming server hosting providers with issues.
+}
+
+// Either: clone-remote-port, or
+export type ConfigDetails = {
+ port?: number;
+ address?: string;
+ clone_remote_port?: boolean;
+ port_instruction?: React.ReactNode; // Instructions on where to get a port
+ address_instruction?: React.ReactNode; // Instructions on where to get the bedrock address
+ other_instructions?: React.ReactNode; // Other message on which config settings can be changed
}
export type ProviderType = "built_in" | "support" | "no_support";
diff --git a/wiki/geyser/setup.mdx b/wiki/geyser/setup.mdx
index 7f3e190..2a5fe76 100644
--- a/wiki/geyser/setup.mdx
+++ b/wiki/geyser/setup.mdx
@@ -4,60 +4,76 @@ page_sidebar: false
description: Guides to setup Geyser on all supported platforms
---
-import Tabs from "@theme/Tabs";
-import TabItem from "@theme/TabItem";
+import Tabs from '@theme/Tabs'
+import TabItem from '@theme/TabItem'
+import Admonition from '@theme/Admonition';
+import Translate from "@docusaurus/Translate";
-import ModdedServers from './setup/provider/modded-servers.mdx';
-import ProxyServers from './setup/provider/proxy-servers.mdx';
-import PaperSpigot from './setup/provider/paper-spigot.mdx';
+import ModdedServers from '@site/wiki/geyser/setup/provider/_modded-servers.mdx'
+import ProxyServers from '@site/wiki/geyser/setup/provider/_proxy-servers.mdx'
+import PaperSpigot from '@site/wiki/geyser/setup/provider/_paper-spigot.mdx'
-import ModdedServersSelf from './setup/self/modded-servers.mdx';
-import ProxyServersSelf from './setup/self/proxy-servers.mdx';
-import PaperSpigotSelf from './setup/self/paper-spigot.mdx';
-import ViaProxy from './setup/self/viaproxy.mdx';
-import Standalone from './setup/self/standalone.mdx';
+import ModdedServersSelf from '@site/wiki/geyser/setup/self/modded-servers.mdx'
+import ProxyServersSelf from '@site/wiki/geyser/setup/self/proxy-servers.mdx'
+import PaperSpigotSelf from '@site/wiki/geyser/setup/self/paper-spigot.mdx'
+import ViaProxy from '@site/wiki/geyser/setup/self/viaproxy.mdx'
+import Standalone from '@site/wiki/geyser/setup/self/standalone.mdx'
import PlatformIcon from '@site/src/components/PlatformIcon'
-import ModIcon from '@site/static/img/icons/fabric.png';
-import ProxyServersIcon from '@site/static/img/icons/velocity.png';
-import PaperSpigotIcon from '@site/static/img/icons/paper.png';
-import ViaProxyIcon from '@site/static/img/icons/viaproxy.png';
-import StandaloneIcon from '@site/static/img/icons/geyser.png';
+import ModIcon from '@site/static/img/icons/fabric.png'
+import ProxyServersIcon from '@site/static/img/icons/velocity.png'
+import PaperSpigotIcon from '@site/static/img/icons/paper.png'
+import ViaProxyIcon from '@site/static/img/icons/viaproxy.png'
+import StandaloneIcon from '@site/static/img/icons/geyser.png'
-import { ProviderSelector } from "@site/src/components/Provider";
+import { ProviderSelector } from '@site/src/components/Provider'
+import { useState } from 'react'
-
-
-
-
- } default>
-
+export const SetupGuide = () => {
+ const [provider, setProvider] = useState(null)
+ return (
+
+
+
+ {provider ? (
+ <>
+ {provider.connect_instructions ? (
+
+ } default>
+
+
+ }>
+
+
+ }>
+
+
+
+ ) : (Not supported}>{provider.warn})}
+ >
+ ) : null}
- }>
-
-
- }>
-
-
-
-
-
-
- } default>
-
-
- }>
-
-
- }>
-
-
- }>
-
-
- }>
-
+
+
+ } default>
+
+
+ }>
+
+
+ }>
+
+
+ }>
+
+
+ }>
+
+
+
-
-
\ No newline at end of file
+ )
+}
+
+
\ No newline at end of file
diff --git a/wiki/geyser/setup/provider/_modded-servers.mdx b/wiki/geyser/setup/provider/_modded-servers.mdx
new file mode 100644
index 0000000..ea81ed2
--- /dev/null
+++ b/wiki/geyser/setup/provider/_modded-servers.mdx
@@ -0,0 +1,70 @@
+import Admonition from '@theme/Admonition';
+
+import { Versions } from '@site/src/components/Versions'
+
+:::caution
+Geyser-Fabric and Geyser-NeoForge run **only** on a server.
+See [this page](/wiki/geyser/supported-versions#fabric-neoforge-servers) for more details.
+:::
+
+:::info
+Geyser only works with **server-side** mods. Mods that require a client-side install will not work!
+:::
+
+{props.provider.warn ? {props.provider.warn} : null}
+
+
Installing Geyser:
+{props.provider.custom_install_location ? props.provider.custom_install_location : (
+
+ - Download the mod from [the download page](/download).
+ - Place the Geyser mod jar in the `mods` folder. **For Fabric, you will also need the [FabricAPI](https://modrinth.com/mod/fabric-api) mod.**
+ - Restart the server.
+
+)}
+
+
+{props.provider.config ? (
+ <>
+ Geyser config changes:
+ Open your Geyser config. It is located in `/config/Geyser-Fabric/config.yml` (or
+ `/config/Geyser-NeoForge/config.yml`), and change the following:
+
+ {props.provider.config.address ? - Change the `address` to `{props.provider.config.address}`
: null}
+ {props.provider.config.port ? - Change the `port` to `{props.provider.config.port}`
: null}
+ {props.provider.config.clone_remote_port ? - Change `clone-remote-port` to `true`
: null}
+ {props.provider.config.port_instruction ? - {props.provider.config.port_instruction}
: null}
+ {props.provider.config.address_instruction ? - {props.provider.config.address_instruction}
: null}
+ {props.provider.config.other_instructions ? - {props.provider.config.other_instructions}
: null}
+
+ >
+) : null}
+
+{props.provider.additional_step ? (
+ <>
+ Additional Steps:
+ {props.provider.additional_step}
+
+ >
+) : null}
+
+
+{props.provider.connect_instructions ? (
+ <>
+ Connecting on Bedrock:
+ {props.provider.connect_instructions}
+ >
+) : null}
+
+
+{props.provider.info ? {props.provider.info} : null}
+
+
+{props.provider.hosting_article || props.provider.hosting_support ? (
+ <>
+ More Information:
+
+ >
+) : null}
\ No newline at end of file
diff --git a/wiki/geyser/setup/provider/_paper-spigot.mdx b/wiki/geyser/setup/provider/_paper-spigot.mdx
new file mode 100644
index 0000000..3bb3a42
--- /dev/null
+++ b/wiki/geyser/setup/provider/_paper-spigot.mdx
@@ -0,0 +1,65 @@
+import Admonition from '@theme/Admonition';
+
+import { Versions } from '@site/src/components/Versions'
+
+:::info
+If your server is not running , you will need to install ViaVersion.
+See also [this page](/wiki/geyser/supported-versions/) on supported versions.
+:::
+
+{props.provider.warn ? {props.provider.warn} : null}
+
+Installing Geyser:
+{props.provider.custom_install_location ? props.provider.custom_install_location : (
+
+ - Download the plugin from [the download page](/download).
+ - Place the Geyser-Spigot.jar in the `plugins` folder.
+ - Restart the server.
+
+)}
+
+
+{props.provider.config ? (
+ <>
+ Geyser config changes:
+ Open your Geyser config. It is located in `/plugins/Geyser-Spigot/config.yml`.
+
+ {props.provider.config.address ? - Change the `address` to `{props.provider.config.address}`
: null}
+ {props.provider.config.port ? - Change the `port` to `{props.provider.config.port}`
: null}
+ {props.provider.config.clone_remote_port ? - Change `clone-remote-port` to `true`
: null}
+ {props.provider.config.port_instruction ? - {props.provider.config.port_instruction}
: null}
+ {props.provider.config.address_instruction ? - {props.provider.config.address_instruction}
: null}
+ {props.provider.config.other_instructions ? - {props.provider.config.other_instructions}
: null}
+
+ >
+) : null}
+
+{props.provider.additional_step ? (
+ <>
+ Additional Steps:
+ {props.provider.additional_step}
+
+ >
+) : null}
+
+
+{props.provider.connect_instructions ? (
+ <>
+ Connecting on Bedrock:
+ {props.provider.connect_instructions}
+ >
+) : null}
+
+
+{props.provider.info ? {props.provider.info} : null}
+
+
+{props.provider.hosting_article || props.provider.hosting_support ? (
+ <>
+ More Information:
+
+ >
+) : null}
diff --git a/wiki/geyser/setup/provider/_proxy-servers.mdx b/wiki/geyser/setup/provider/_proxy-servers.mdx
new file mode 100644
index 0000000..8377cd1
--- /dev/null
+++ b/wiki/geyser/setup/provider/_proxy-servers.mdx
@@ -0,0 +1,68 @@
+import Admonition from '@theme/Admonition';
+
+import { Versions } from '@site/src/components/Versions'
+
+:::info
+- Install Geyser **only** on the proxy server! You can install Floodgate on all servers for better skin support &
+network-wide Floodgate API availability for other plugins.
+- All servers on the network must accept Java clients, as Geyser imitates one.
+:::
+
+{props.provider.warn ? {props.provider.warn} : null}
+
+Installing Geyser:
+{props.provider.custom_install_location ? props.provider.custom_install_location : (
+
+ - Download the plugin for your proxy software from [the download page](/download).
+ - Place the Geyser plugin jar in the `plugins` folder.
+ - Restart the proxy.
+
+)}
+
+
+{props.provider.config ? (
+ <>
+ Geyser config changes:
+ Open your Geyser config. It is located in `/config/Geyser-Velocity/config.yml` (or
+ `/config/Geyser-BungeeCord/config.yml`), and change the following:
+
+ {props.provider.config.address ? - Change the `address` to `{props.provider.config.address}`
: null}
+ {props.provider.config.port ? - Change the `port` to `{props.provider.config.port}`
: null}
+ {props.provider.config.clone_remote_port ? - Change `clone-remote-port` to `true`
: null}
+ {props.provider.config.port_instruction ? - {props.provider.config.port_instruction}
: null}
+ {props.provider.config.address_instruction ? - {props.provider.config.address_instruction}
: null}
+ {props.provider.config.other_instructions ? - {props.provider.config.other_instructions}
: null}
+
+ >
+) : null}
+
+
+{props.provider.additional_step ? (
+ <>
+ Additional Steps:
+ {props.provider.additional_step}
+
+ >
+) : null}
+
+
+{props.provider.connect_instructions ? (
+ <>
+ Connecting on Bedrock:
+ {props.provider.connect_instructions}
+ >
+) : null}
+
+
+{props.provider.info ? {props.provider.info} : null}
+
+
+{props.provider.hosting_article || props.provider.hosting_support ? (
+ <>
+ More Information:
+
+ >
+) : null}
\ No newline at end of file
diff --git a/wiki/geyser/setup/provider/modded-servers.mdx b/wiki/geyser/setup/provider/modded-servers.mdx
deleted file mode 100644
index 4b31801..0000000
--- a/wiki/geyser/setup/provider/modded-servers.mdx
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: Geyser Hosting Provider Modded Setup
-description: Learn how to set up Geyser on your Fabric or NeoForge server from a hosting provider.
----
-
-import { Versions } from '@site/src/components/Versions'
-
-:::caution
-Geyser-Fabric and Geyser-NeoForge run **only** on a server.
-See [this page](/wiki/geyser/supported-versions#fabric-neoforge-servers) for more details.
-:::
-
-:::info
-Geyser only works with **server-side** mods. Mods that require a client-side install will not work!
-:::
-
-1. Select your server hosting provider in the dropdown above.
-2. Download the mod from [the download page](/download).
-3. Place the Geyser mod jar in the `mods` folder, and restart the server. **For Fabric, you will also need [FabricAPI](https://modrinth.com/mod/fabric-api).**
-4. Open your Geyser config, located in `/config/Geyser-Fabric/config.yml` (or `/config/Geyser-NeoForge/config.yml`), and find the following:
-
- ```yaml
- bedrock:
- # The IP address that will listen for connections.
- # Generally, you should only uncomment and change this if you want to limit what IPs can connect to your server.
- #address: 0.0.0.0
-
- # The port that will listen for connections. This is the port that Bedrock players will use to connect to your server.
- port: 19132
-
- # Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
- # This option makes the Bedrock port the same as the Java port every time you start the server.
- # This option is for the plugin version only.
- clone-remote-port: false
- ```
- The vital part is the port. This is the port that Bedrock players will use to connect to your server.
- Follow the instructions in the provider selector - change the port, and if necessary, `clone-remote-port` & `address`.
- If `clone-remote-port` is enabled, the bedrock port will be overwritten with the Java port!
- **Important**: Other services/mods that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
-
-5. Verify whether connections are possible by running `geyser connectiontest ` in the console.
-
-:::info
-To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
-:::
\ No newline at end of file
diff --git a/wiki/geyser/setup/provider/paper-spigot.mdx b/wiki/geyser/setup/provider/paper-spigot.mdx
deleted file mode 100644
index 6104a4f..0000000
--- a/wiki/geyser/setup/provider/paper-spigot.mdx
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Geyser Hosting Provider Paper / Spigot Setup
-description: Learn how to set up Geyser on a Paper or Spigot server from a hosting provider.
-hide_title: true
----
-
-import { Versions } from '@site/src/components/Versions'
-
-:::info
-If your server is not running , you will need to install ViaVersion.
-See also [this page](/wiki/geyser/supported-versions/) on supported versions.
-:::
-
-1. Select your server hosting provider in the dropdown above.
-2. Download the plugin from [the download page](/download).
-3. Place the Geyser-Spigot.jar in the `plugins` folder, and restart the server.
-4. Open your Geyser config, located in `/plugins/Geyser-Spigot/config.yml`, and find the following:
-
- ```yaml
- bedrock:
- # The IP address that will listen for connections.
- # Generally, you should only uncomment and change this if you want to limit what IPs can connect to your server.
- #address: 0.0.0.0
-
- # The port that will listen for connections. This is the port that Bedrock players will use to connect to your server.
- port: 19132
-
- # Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
- # This option makes the Bedrock port the same as the Java port every time you start the server.
- # This option is for the plugin version only.
- clone-remote-port: false
- ```
- The vital part is the port. This is the port that Bedrock players will use to connect to your server.
- Follow the instructions in the provider selector - change the port, and if necessary, `clone-remote-port` & `address`.
- If `clone-remote-port` is enabled, the bedrock port will be overwritten with the Java port!
- **Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
-
-5. Verify whether connections are possible by running `geyser connectiontest ` in the console.
-
-:::info
-To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
-:::
diff --git a/wiki/geyser/setup/provider/proxy-servers.mdx b/wiki/geyser/setup/provider/proxy-servers.mdx
deleted file mode 100644
index a248c66..0000000
--- a/wiki/geyser/setup/provider/proxy-servers.mdx
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Geyser Hosting Provider Proxy Servers Setup
-description: Learn how to set up Geyser on your Bungee, Waterfall, or Velocity server from a hosting provider.
-hide_title: true
----
-
-import { Versions } from '@site/src/components/Versions'
-
-:::info
-- Install Geyser **only** on the proxy server! You can install Floodgate on all servers for better skin support &
- network-wide Floodgate API availability for other plugins.
-- All servers on the network must accept Java clients, as Geyser imitates one.
-:::
-
-1. Select your server hosting provider in the dropdown above.
-2. Download the plugin for your proxy software from [the download page](/download).
-3. Place the Geyser jar in the `plugins` folder, and restart the server.
-4. Open your Geyser config, located in `/plugins/Geyser-xyz/config.yml`, and find the following:
-
- ```yaml
- bedrock:
- # The IP address that will listen for connections.
- # Generally, you should only uncomment and change this if you want to limit what IPs can connect to your server.
- #address: 0.0.0.0
-
- # The port that will listen for connections. This is the port that Bedrock players will use to connect to your server.
- port: 19132
-
- # Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
- # This option makes the Bedrock port the same as the Java port every time you start the server.
- # This option is for the plugin version only.
- clone-remote-port: false
- ```
- The vital part is the port. This is the port that Bedrock players will use to connect to your server.
- Follow the instructions in the provider selector - change the port, and if necessary, `clone-remote-port` & `address`.
- If `clone-remote-port` is enabled, the bedrock port will be overwritten with the Java port!
- **Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
-
-5. Verify whether connections are possible by running `geyser connectiontest ` in the console.
-
-:::info
-To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use Floodgate.
-:::
\ No newline at end of file