Merge pull request #805 from DiscoverSquishy/update/velocity

Updated Compatibility with Velocity 1.x.x
This commit is contained in:
Michael (Parker) Parker 2020-12-13 10:45:33 -05:00 committed by GitHub
commit 436efe4b67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 119 additions and 89 deletions

View File

@ -3,21 +3,22 @@
"meta": { "meta": {
"version": "PTDL_v1" "version": "PTDL_v1"
}, },
"exported_at": "2019-07-14T20:36:29-04:00", "exported_at": "2020-11-22T01:50:29-05:00",
"name": "Velocity", "name": "Velocity",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.", "description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.",
"image": "quay.io\/pterodactyl\/core:java", "features": null,
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "image": "quay.io\/parkervcp\/pterodactyl-images:adoptopenjdk-15-hotspot",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar {{SERVER_JARFILE}}",
"config": { "config": {
"files": "{\r\n \"velocity.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind = \": \"bind = \\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}", "files": "{\r\n \"velocity.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind = \": \"bind = \\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Done (\"\r\n}", "startup": "{\r\n \"done\": \"Done (\"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "shutdown" "stop": "end"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"", "script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\"latest\"\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_LINK=https:\/\/versions.velocitypowered.com\/download\/${VELOCITY_VERSION}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/java\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"",
"container": "alpine:3.10", "container": "alpine:3.10",
"entrypoint": "ash" "entrypoint": "ash"
} }
@ -25,20 +26,20 @@
"variables": [ "variables": [
{ {
"name": "Velocity Version", "name": "Velocity Version",
"description": "The Velocity Proxy version to download.\r\n\r\nset to 'latest ' the download the last stable build.", "description": "The Velocity Proxy version to download.\r\n\r\nSet to 'latest ' the download the last stable build.\r\nSet to '1.1.x-SNAPSHOT' to get the latest dev build.",
"env_variable": "VELOCITY_VERSION", "env_variable": "VELOCITY_VERSION",
"default_value": "latest", "default_value": "latest",
"user_viewable": 1, "user_viewable": true,
"user_editable": 0, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20"
}, },
{ {
"name": "Server Jar File", "name": "Server Jar File",
"description": "Server Jar File name", "description": "Server Jarfile, by default this is set to 'velocity.jar'.\r\nSet it to otherwise if you wish to have a different jarfile name.",
"env_variable": "SERVER_JARFILE", "env_variable": "SERVER_JARFILE",
"default_value": "velocity.jar", "default_value": "velocity.jar",
"user_viewable": 1, "user_viewable": true,
"user_editable": 0, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20"
} }
] ]

View File

@ -1,106 +1,135 @@
# Config version. Do not change this # Config version. Do not change this
config-version = "1.0" config-version = "1.0"
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577. # What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
bind = "0.0.0.0:25577" bind = "0.0.0.0:25577"
# What should be the MOTD? This gets displayed when the player adds your server to # What should be the MOTD? This gets displayed when the player adds your server to
# their server list. Legacy color codes and JSON are accepted. # their server list. Legacy color codes and JSON are accepted.
motd = "&3A Velocity Server" motd = "&3A Velocity Server"
# What should we display for the maximum number of players? (Velocity does not support a cap # What should we display for the maximum number of players? (Velocity does not support a cap
# on the number of players online.) # on the number of players online.)
show-max-players = 500 show-max-players = 500
# Should we authenticate players with Mojang? By default, this is on. # Should we authenticate players with Mojang? By default, this is on.
online-mode = true online-mode = true
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
# authentication server, the player is kicked. This disallows some VPN and proxy
# connections but is a weak form of protection.
prevent-client-proxy-connections = false
# Should we forward IP addresses and other data to backend servers? # Should we forward IP addresses and other data to backend servers?
# Available options: # Available options:
# - "none": No forwarding will be done. All players will appear to be connecting from the # - "none": No forwarding will be done. All players will appear to be connecting
# proxy and will have offline-mode UUIDs. # from the proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this if # - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
# you run servers using Minecraft 1.12 or lower. # if you run servers using Minecraft 1.12 or lower.
# - "modern": Forward player IPs and UUIDs as part of the login process using Velocity's # - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
# native forwarding. Only applicable for Minecraft 1.13 or higher. # plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
player-info-forwarding-mode = "NONE" # unable to implement network level firewalling (on a shared host).
# - "modern": Forward player IPs and UUIDs as part of the login process using
# If you are using modern IP forwarding, configure an unique secret here. # Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
forwarding-secret = "FrP42MxySW6Y" player-info-forwarding-mode = "legacy"
# If you are using modern or BungeeGuard IP forwarding, configure an unique secret here.
forwarding-secret = ""
# Announce whether or not your server supports Forge. If you run a modded server, we # Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on. # suggest turning this on.
#
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
# instead for a nicer display in the server list.
announce-forge = false announce-forge = false
# If enabled (default is false) and the proxy is in online mode, Velocity will kick
# any existing player who is online if a duplicate connection attempt is made.
kick-existing-players = false
# Should Velocity pass server list ping requests to a backend server?
# Available options:
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
# will determine the initial server list ping response.
# - "mods": Passes only the mod list from your backend server into the response.
# The first server in your try list (or forced host) with a mod list will be
# used. If no backend servers can be contacted, Velocity won't display any
# mod information.
# - "description": Uses the description and mod list from the backend server. The first
# server in the try (or forced host) list that responds is used for the
# description and mod list.
# - "all": Uses the backend server's response as the proxy response. The Velocity
# configuration is used if no servers could be contacted.
ping-passthrough = "DISABLED"
[servers] [servers]
# Configure your servers here. Each key represents the server's name, and the value # Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to. # represents the IP address of the server to connect to.
lobby = "127.0.0.1:30066" lobby = "127.0.0.1:30066"
minigames = "127.0.0.1:30068" minigames = "127.0.0.1:30068"
# In what order we should try servers when a player logs in or is kicked from aserver.
try = ["lobby"]
factions = "127.0.0.1:30067" factions = "127.0.0.1:30067"
# In what order we should try servers when a player logs in or is kicked from aserver.
try = [
"lobby"
]
[forced-hosts] [forced-hosts]
"minigames.example.com" = ["minigames"]
# Configure your forced hosts here. # Configure your forced hosts here.
"minigames.example.com" = [ "lobby.example.com" = ["lobby"]
"minigames" "factions.example.com" = ["factions"]
]
"lobby.example.com" = [
"lobby"
]
"factions.example.com" = [
"factions"
]
[advanced] [advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will # Specify a custom timeout for connection timeouts here. The default is five seconds.
# compress all packets, and setting it to -1 will disable compression entirely. connection-timeout = 5000
compression-threshold = 256 # Enables BungeeCord plugin messaging channel support on Velocity.
bungee-plugin-message-channel = true
# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000
# Enables compatibility with HAProxy.
proxy-protocol = false
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
tcp-fast-open = true
# Shows ping requests to the proxy from clients.
show-ping-requests = false
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true
# How much compression should be done (from 0-9). The default is -1, which uses the # How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6. # default level of 6.
compression-level = -1 compression-level = -1
# Declares the proxy commands to 1.13+ clients.
announce-proxy-commands = true
# Enables the logging of commands
log-command-executions = false
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256
# How fast (in milliseconds) are clients allowed to connect after the last connection? By # How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0. # default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 3000 login-ratelimit = 3000
# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000
# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000
# Enables compatibility with HAProxy.
proxy-protocol = false
[query] [query]
# If query is enabled, on what port should the query protocol listen on?
port = 25577
# Whether plugins should be shown in query response by default or not
show-plugins = false
# This is the map name that is reported to the query services.
map = "Velocity"
# Whether to enable responding to GameSpy 4 query responses or not. # Whether to enable responding to GameSpy 4 query responses or not.
enabled = false enabled = false
# If query is enabled, on what port should the query protocol listen on?
port = 25577
# This is the map name that is reported to the query services.
map = "Velocity"
# Whether plugins should be shown in query response by default or not
show-plugins = false
[metrics] [metrics]
# A unique, anonymous ID to identify this proxy with.
id = ""
log-failure = false
# Whether metrics will be reported to bStats (https://bstats.org). # Whether metrics will be reported to bStats (https://bstats.org).
# bStats collects some basic information, like how many people use Velocity and their # bStats collects some basic information, like how many people use Velocity and their
# player count. We recommend keeping bStats enabled, but if you're not comfortable with # player count. We recommend keeping bStats enabled, but if you're not comfortable with
# this, you can turn this setting off. There is no performance penalty associated with # this, you can turn this setting off. There is no performance penalty associated with
# having metrics enabled, and data sent to bStats can't identify your server. # having metrics enabled, and data sent to bStats can't identify your server.
enabled = true enabled = false
# A unique, anonymous ID to identify this proxy with.
id = "b12f2e77-133c-4a5f-b288-d8833be3dc4d"
log-failure = false
# Legacy color codes and JSON are accepted in all messages.
[messages]
generic-connection-error = "&cAn internal error occurred in your connection."
already-connected = "&cYou are already connected to this proxy!"
online-mode-only = "&cThis server only accepts connections from online-mode clients.\n\n&7Did you change your username? Sign out of Minecraft, sign back in, and try again."
# Prefix when the player is disconnected from a server.
# First argument '%s': the server name
disconnect-prefix = "&cCan't connect to %s: "
no-available-servers = "&cThere are no available servers."
# Prefix when the player gets kicked from a server.
# First argument '%s': the server name
kick-prefix = "&cKicked from %s: "
moved-to-new-server-prefix = "&cThe server you were on kicked you: "