Hello everyone, I am having trouble setting up skungee. Does anyone have a tutorial, on how to set it up, or does anyone know a good, working, easy-to-use alternative?
I am trying to make a bungeecord server with a server selector, to connect a player to a server - like hypixel.
I suspect the error is happening in the config.yml file of Skungee.
Can anyone have a look?
I have solved it:
Line of code that I am using:
Thank you so much, if you can help, any helpful advice is welcome!
-William
I am trying to make a bungeecord server with a server selector, to connect a player to a server - like hypixel.
I suspect the error is happening in the config.yml file of Skungee.
Can anyone have a look?
I have solved it:
Code:
skungee send player to bungeecord server "Lobby"
Line of code that I am using:
Code:
connect bungee %player% to server "Lobby"
Code:
Paper server Skungee config.yml file.
# Skungee (Spigot) - The Skript addon for Bungeecord.
# The version is to help determine which version this config is. Please don't modify this value.
version: "1.0.15"
# Print additional information in the console. The developers of Skungee may ask you to enable this when reporting an error.
debug: false
# Ignores the packets that spam alot such as GLOBALSCRIPTS and HEARTBEAT in the debug.
# Developers of Skungee may notify you to disable this option when reporting an error.
IgnoreSpamPackets: true
# The details of the Skungee Bungeecord plugin. Place the same login credentials as the Bungeecord Skungee here.
host: "127.0.0.1"
port: 25564
# All security options to protect your Skungee on Bungeecord and Spigot from possible external sources.
# Everything in this section must match the same values as the Skungee config.yml on the Spigot servers.
security:
# Debug option for security, a Skungee developer may ask you to enable this.
debug: false
# All strings get decoded in UTF_8, some symbols may not apply.
password:
# Should all packets require a password in order to be processed.
enabled: false
# Password can't be "hashed" unless instructed too (read below)
password: "insert password"
# Should Skungee add a protected hash to the password using a one-way encryption.
# This makes the password nearly impossible to decode if an external source somehow gets it.
hash: true
# If the hashFile option is true, set the password and then restart the server.
# Skungee will create a hashed file in the Skungee folder location containing your password in a hashed format.
# Keep in mind that the hash option above needs to be set to true.
# After the file has been generated, set the password option above to "hashed" (Case sensitive)
# Skungee will remember your original password until you change the password to anything other than "hashed" and this will be repeated.
# This creates a more secure system so that if someone invades your servers files, your Skungee password is protected and all your Skungee servers are protected.
# If you require any assistance with this option, please contact a Skungee developer.
hashFile: false
# Choose which algorithm you would like to use for the hash.
# Algorithms at the time this was written: MD5, SHA-1 and SHA-256 (Strongest)
hashAlgorithm: "SHA-256"
encryption:
# Should Skungee encrypt all sent packets.
enabled: false
# Set which Cipher algorithm you would like to use.
cipherAlgorithm: "AES/CBC/PKCS5Padding"
# The cipher key is like another password.
cipherKey: "insert 16 length"
# Should Skungee print any errors that may happen.
# If you come across any errors with encryption, make sure you message the developers of Skungee, and not to users in a public setting.
printEncryptionErrors: true
breaches:
# Breaches are even more added security, Breaches require the password or encryption option to be enabled for this to work.
# Breaches is a system designed to stop constant failed attempts. Since there is no threshold for how many packets can be sent a tick, this option aims to add
# security for that. If a(n) IP/Server fails X amount of times, what should Skungee do to protect your server. Choose from the options below.
enabled: false
# The amount of times a(n) IP/Server can fail at successfully sending security details.
attempts: 30
# Should Skungee shutdown the server if there is such an issue of security breaching?
# Keep in mind that someone could use this to shutdown your server, this option should only be used if you really trust the security of your server
# or that you have files and data that you really want to protect. We suggest not enabling it, but it's here for anyone who wants hardcore security.
# This option is also good to be used if your server is private.
shutdown: false
# Should Skungee block the IP/Server from sending packets if it fails X amount of times?
# This only blocks the IP/Server until the server is restarted again.
blockAddress: true
# Should Skungee log all events that meet the settings above in a `log.txt` within the Skungee folder?
log: true
# If the log system has picked up any external sources address, you can put it in this list below, and Skungee will remember and always block that address.
# Don't include the port as they could use a different port.
blacklisted:
- 123.456.7.890
# Configurations related to the Socket connection between Spigot and Bungeecord Skungees'
connection:
# The delay is in milliseconds between each connect.
delay: 1000
# The max amount of times Skungee should try to connect to the Skungee on the Bungeecord.
attempts: 20
# If Bungeecord Skungee is not found, Skungee will run a small non performance enducing task to constantly keep checking when the Bungeecord comes online.
# This option allows to define how long to wait in seconds.
keep-alive: 10
# The delay in milliseconds between each handshake packet attempt.
handshake-delay: 2000
# If the connection could not be created should Skungee disable itself?
disable: false
# When the Bungeecord disconnects, Skungee will go into keep alive mode.
# This defines the time in ticks before the keep alive task starts.
# This value should not be modified, only if a Skungee developer lets you know you can.
bungeecord-keep-alive-delay: 100
# Reciever, this will allow for some syntax to work. Like "evaluate", "server is online", "global scripts", "network variables" and lots more.
# This also needs to be enabled in order to run events.
# Keep in mind that this port must not already be in use. If you run all your servers on the same machine, you will need to make
# the port option different on each Spigot server. Like 1339, 5670, 25567... etc any port that isn't already in use.
reciever:
enabled: true
# The port that the Reciever should run on.
port: 1338
# Should Skungee automatically determine which port to use that is open?
# If this is false it will use the port option above.
automatic: true
# Define the range that should be scanned for the Automatic port finder.
starting-port: 1000
max-port: 65534
# This is how fast the keeping alive packet should be sent back and forth to Skungee.
# The lower this is, the faster the accuracy. (A fast rate would be 5-10) This all depends on your server's network speeds.
# Heartbeat is in ticks
heartbeat: 50
# Should Skungee hault the server until it recieves a value.
# This can be critical for some users such as grabbing important network variables.
# Information: basically Skungee will wait until the Skungee on the Bungeecord becomes active while a value is being called.
# So if you do something like `set {_value} to network variable {example}` and this node is false and the Bungeecord Skungee is offline, this will return null.
# If this node is true below, it will wait until the Bungeecord Skungee is found/online.
# There is an alternaitve async method to this in the form of a syntax:
# `wait until skungee connects`
# This syntax will wait in an async thread until Skungee connects and this walking down the rest of the trigger. Which is also recommeneded.
hault: false
# Broadcast all the syntax that didn't register to the console.
NotRegisteredSyntax: false
# Converts the Enum's into proper english enums like `FADE_TYPE` will be `fade type` or `fading type` as defined in the english.lang of the jar. (Which can be edited, they parent aliases parsing)
UseEnglishEnums: true
# Disables the message saying the addon was enabled.
DisableRegisteredInfo: false
# Disables all messages to the console. Only important stack traces and information logger will be sent.
# If you don't like Skungee constantly notifing what is going on, you can disable this.
DisableConsoleMessages: false
# Disables the colour in the console.
DisableConsoleColour: false
# Settings for GlobalScripts
GlobalScripts:
# Sends a message to console stating that a script has been automatically reloaded or created. (This happens when the file on the Bungeecord gets edited/saved)
Messages: true
# Should all the scripts of this server mimic the exact scripts on the Bungeecord Skungee.
# WARNING: This will override any scripts that don't match the ones in the Bungeecord Skungee scripts folder.
# Make sure you don't have any scripts in the scripts folder of Skript on the Spigot servers.
MimicExact: false
# Should Skungee return all players as a UUID to the spigot servers.
# If you run a cracked offline Bungeecord network, it is best to keep this false.
ReturnUUIDs: true
# When a player is returned from Bungeecord it can't be a Player or ProxiedPlayer because for the Player class, the
# player actually has to be online the server the syntax is calling from, and it can't be ProxiedPlayer because Spigot doesn't have that class.
# So Skungee makes it's own custom system to handle it, and you get these wonderful settings to define how you would like it.
#
# Define in the node below how Skungee should return the value of "players".
#
# The following types are "STRING", "UUID" and "OFFLINEPLAYER" (Capitalization doesn't matter)
# This option is best to keep on "STRING" or "OFFLINEPLAYER" if you have a cracked offline Bungeecord network.
# Else if you run your Bungeecord network with `online_mode`, `ip_forward` and `bungeecord` option true (Online Bungeecord network), the best option would be having it as "OFFLINEPLAYER"
SkungeeReturn: "string"
# If the UUID is present, should Skungee convert to the option above using the UUID. This makes the returned "players" more accurate and less prone to mistakes.
# If you have a cracked offline Bungeecord network, and you're using the "OFFLINEPLAYER" option, set this option to false.
SkungeeReturnUUID: true
# If a syntax returns a number that can be parsed as a timespan, should Skungee convert it into a Timespan?
# Example: '5 minutes and 27 seconds'
Timespans: true
# Bungeecord events.
Events: true
# You can enable this to allow "set bungeecord server list version protocol to X" to work with any protocol version, X being any protocol ID
# You may look for protocol IDs here http://wiki.vg/index.php?title=Protocol_History&printable=yes
# Keeping this false will make Skungee recommend using the supported Bungeecord protocols and cancel any other inputed protocol.
# This is handy if you want to make some cool text around your version/ping icon. (Example: https://imgur.com/a/t3EvLye)
# The image was done by setting the protocol to a version that the client is older than, and then setting the name of the protocol.
PingEventProtocolOverride: false
# If you have purchased the ServerInstances expansion you will need to enable this so the Syntax can get registered to Skript.
# This option does nothing without the expansion purchased and installed on the Bungeecord.
ServerInstances: false
Code:
Bungeecord Skungee config.yml file.
# Skungee (Bungeecord) - The Skript addon for Bungeecord.
# The version is to help determine which version this configuration is.
# Please do not modify this value, it may result in the configuration resetting!
version: "1.0.15"
# This is the main port for the Skungee network system. Skungee will setup this port on this Bungeecord machine.
# Make sure the port is "port forward/open" or that you have access to this port to be running, if not change this to an available port.
# If you don't know what ports you can access, contact your hosting company and ask for some ports.
# You can say "May I get some Votifier ports" to make it more clear to them, and they should give you a few ports. Normally all 4 digit ports above 1000 are available to you.
# Just be advised if it doesn't work, the ports aren't avalible or are already in use.
# Make sure all the port options of the Skungee's on the connected Spigot servers are matching this.
port: 25564
# You can select which address to bind to, if you're on a shared host (i.e McProHosting) you should set this value to your Bungeecord IP address.
# This will allow Skungee to know which IP to attach to.
bind-to-address: "127.0.0.1"
# Prints additional information in the console. The developers of Skungee may ask you to enable this when reporting an error.
debug: false
# Define packets to ignore in the debug.
# Developers of Skungee may notify you to add or remove packets from this list when reporting an error.
debug-ignored-packets:
- "HEARTBEAT"
- "GLOBALSCRIPTS"
# All security options to protect your Skungee on Bungeecord and Spigot from possible external sources.
# Everything in this section must match the same values as the Skungee config.yml on the Spigot servers.
security:
# Debug option for security, a Skungee developer may ask you to enable this.
debug: false
# All strings get decoded in UTF_8, some symbols may not apply.
password:
# Should all packets require a password in order to be processed.
enabled: false
# Password can't be "hashed" unless instructed too (read below)
password: "insert password"
# Should Skungee add a protected hash to the password using a one-way encryption.
# This makes the password nearly impossible to decode if an external source somehow gets their hands on the packet.
hash: true
# If the hashFile option is true, set the password and then restart the server.
# Skungee will create a hashed file in the Skungee folder location containing your password in a hashed format.
# Keep in mind that the hash option above needs to be set to true.
# After the file has been generated, set the password option above to "hashed" (Case sensitive)
# Skungee will remember your original password until you change the password to anything other than "hashed" and this will be repeated.
# This creates a more secure system so that if someone invades your servers files, your Skungee password is protected and all your Skungee servers aswell.
# If you require any assistance with this option, please contact a Skungee developer.
hashFile: false
# Choose which algorithm you would like to use for the hash.
# Algorithms at the time this was written: MD5, SHA-1 and SHA-256 (Strongest)
hashAlgorithm: "SHA-256"
encryption:
# Should Skungee encrypt all sent packets.
enabled: false
# Set which Cipher algorithm you would like to use.
cipherAlgorithm: "AES/CBC/PKCS5Padding"
# The cipher key is like another password.
# Must match the key placed in the Skungee Spigot config.yml
cipherKey: "insert 16 length"
# Should Skungee print any errors that may happen.
# If you come across any errors with encryption, make sure you message the developers of Skungee, and not to users in a public setting.
printEncryptionErrors: true
breaches:
# Breaches are even more added security, Breaches require the password or encryption option to be enabled for this to work.
# Breaches is a system designed to stop constant failed attempts. Since there is no threshold for how many packets can be sent a tick, this option aims to add
# security for that. If a(n) IP/Server fails X amount of times, what should Skungee do to protect your server. Choose from the options below.
enabled: false
# The amount of times a(n) IP/Server can fail at successfully sending security details.
attempts: 30
# Should Skungee shutdown the server if there is such an issue of security breaching?
# Keep in mind that someone could use this to shutdown your server, this option should only be used if you really trust the security of your server
# or that you have files and data that you really want to protect. We suggest not enabling it, but it's here for anyone who wants hardcore security.
# This option is also good to be used if your server is private.
shutdown: false
# Should Skungee block the IP/Server from sending packets if it fails X amount of times?
# This only blocks the IP/Server until the server is restarted again.
blockAddress: true
# Should Skungee log all events that meet the settings above in a `log.txt` within the Skungee folder?
log: true
# If the log system has picked up any external sources address, you can put it in this list below, and Skungee will remember and always block that address.
# Don't include the port as they could use a different port.
blacklisted:
- 123.456.7.890
# Makes the blacklist a whitelist instead, meaning only addresses in the list above may send packets to this server.
# This option doesn't exist on the Spigot Skungee as it has a tendency to cause massive errors.
blacklist-is-whitelist: false
# Disables the message saying Skungee was enabled.
DisableRegisteredInfo: false
# Disables all messages to the console. Only important stack traces and information logger will be sent.
# If you don't like Skungee constantly notifing what is going on, you can disable this.
DisableConsoleMessages: false
# Disables the colour in the console.
DisableConsoleColour: false
# disable the player time counter.
disable-player-time: false
# Change the allowed buffer size of the server sockets accepting all the packets.
# NOTE: This number must be a byte cap size. Aka divisable by 8. (512, 1024, etc)
# If you have lots of allocated ram, and lots of Skungee servers, you may want to increase this.
# This is in bytes. A kilobyte is 1,024 bytes, your server is usally measured in mega or giga bytes.
# Anything below 16k is usally fairly accepted, above is a bit overkill. The default in Java is 8,192
# Since people use Skungee on hosters (not recommended), the default is increased to 10k.
buffer-size: 10240
Recievers:
# How many times should Skungee try to connect to a server's reciever?
allowedTrys: 10
# The system that tracks and manages when servers go online and offline. This system determines many things and here are the configurations for it.
Tracker:
# How many times should Skungee (Bungeecord) check before determining a server is offline.
# The lower this is, the faster the syntax can determine it's offline state on the Spigot server.
allowedTrys: 4
# If a spigot server goes unresponsive and this is true, Skungee will stop tracking it.
DisableTracking: false
# If you have scripts in the folder Bungeecord/plugins/Skungee/scripts/
# Skungee will relay these scripts to all connected servers.
# This acts like global scripts to keep all servers up to date.
# All connected servers need to have the "Reciever" option enabled in the Skungee settings.
# If you place folders within the scripts folder, they will be routed to the server that the folder is named.
# Example: Bungeecord/plugins/Skungee/scripts/Hub/ will only go to the server named "Hub" aswell as any scripts in Bungeecord/plugins/Skungee/scripts/
GlobalScripts:
Enabled: true
# Charset is the set of characters to use. If you would like symbols and such, you can adjust that setting here.
# By default special symbols outside of the UTF-8 aren't supported. It's the default of your Java machine.
# Charsets are by follows:
# default - The default charset of this Java virtual machine.
# US-ASCII - Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set
# ISO-8859-1 - ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
# UTF-8 - Eight-bit UCS Transformation Format
# UTF-16BE - Sixteen-bit UCS Transformation Format, big-endian byte order
# UTF-16LE - Sixteen-bit UCS Transformation Format, little-endian byte order
# UTF-16 - Sixteen-bit UCS Transformation Format, byte order identified by an optional byte-order mark
Charset: "default"
# Bungeecord events. This also needs to be disabled on the Spigot servers if you're disabling this option.
Events: true
# To be honest the "[on] bungee[[ ]cord] [server list] ping" event can be very laggy on your server, if you have a high player database Skungee will be working hard.
# Everytime a user clicks the "Refresh" button in the multiplayer server list or that lists updates, this event will get called as the client is trying to get the motd.
# This can add up to be alot of event calls. If you have a high core machine you may not have to worry as Skungee handles most of itself in async threads.
# But this configuration node also determines the Spigot side Skungee event handler, the event is handled async and Spigot handles it back to the synced thread.
# So it's up to you, you have been informed about the side effects of using this event, it may also appear slower than normal in the server list for some users.
# This slowness is something that can't really be changed due to how Skungee has to work with Skript. We have tested on a 1,000 player database which is small, and it kept up.
DisablePingEvent: false
# Should Skungee use the UUID's that are incoming from Spigot servers.
# If you run bungeecord in offline mode for cracked players, it's best to keep this on false.
# If this option is false, only the name of players will be determined.
# NOTE: Please make sure you have the option `bungeecord` set to true in the spigot.yml of all the servers connected to this bungeecord.
# You also need to have the option `ip_forward` set to true in the config.yml of Bungeecord for this to work properly.
IncomingUUIDs: true
NetworkVariables:
# Define the storage type for the variables.
# Options are: CSV (FlatFile),
StorageType: CSV
# Backup the variable database.
# Allow variables to be re-writen if a server calls for it.
AllowOverrides: true
# Automatic sharing means that Skungee will try to make Skungee's (Spigot side) variables
# match the exact variables that the Skungee (Bungeecord) has.
# So basically if you update a global variable, Skungee will make every Spigot server variables match that.
# So all you need todo is
#
# set network variable {test} to "Hello world!"
#
# Then on every other server, the variable {test} will be be set to "Hello world!"
#
# WARNING: Keep in mind this will override any variable names that match Skungee's.
# If this is enabled Skungee variable names will be priority!
# It should be harmless if you don't care about your old data.
# And last thing, this is cap sensitive, can't change or fix that. That's Skript. (Has been taken into consideration and fixed in Bensku's edit)
AutomaticSharing: false
Backups:
Enabled: true
# Should Skungee send a message in the console when the variables get saved?
ConsoleMessage: true
# Set the backup time in minutes. (Default is 5 hours)
IntervalTime: 300
# Packets can be handled, read and managed from Skungee on the Bungeecord. Just let that settle in.
Packets:
# Should Skungee be allowed to intercept, inject and read packets from the Minecraft clients (players)?
# If this is false some syntax that rely on packets will not be registered or return nothing.
# If you have errors with the packets or a developer of Skungee instructed you to, you can do so here.
Enabled: true
Misc:
# Whenever a message isn't set in a syntax, should Skungee grab a funny message to say to the user when kicked.
# This is best used if you make a Bungeecord ban manager lol.
UseFunnyKickMessages: false
FunnyKickMessages:
- This bungeecord server can't contain you
- What are you doing in my swamp!
- Don't let the door kick you on the way out!
- Have a nice flight!
- Hope to hear back from you soon!
- Bad news Batman.
- You have been kicked from the network!
- Bungeecord says no, you can't be here.
- You're needed elsewhere.
- Someones toy's in the water hole.
- You have been kicked my friend.
- I hope you find a good place in our heart.
- Get rekt, you have beed kicked from the network!
- We were playing hot potato and you lost.
- Can I get your number so I can never call again.
- When was the last time you washed your hands?\nWe keep it clean around here.
- Heaven sent an angel to kick you from our network.
- RIP you.
- RIP, you have been kicked.
- You have been kicked.
- An operator has kicked your hard.
- Someones not your friend.
- The server had an internal error with you.
- I guess that was the last straw.
- K\nI\nC\nK\nE\nD
- Your stupidity outweighs my inteligence
- The network cannot contain high levels of uglyness
- System overload with too much of you.
- i'd hang a medal off your ass, but my boot fits better.
- common sense eludes you doesn't it.
- ever had a foot in your ass? YA DO NOW!
- apparently you don't learn.... do you?
- how about heres my finger hes my thumb this is my boot right up yer bum.
- thankyou please call again.
- I'm sorry but all our operators are busy at the moment, Try again later.
- that word's a no no, ya do do.
- This is a beauty parlour... you appear to have hit all 27 branches on the ugly tree... there is nothing we can do for you. Try the shop next door
- God loves you"...............................wait.......NO I don't.
- This is Alex from Target, You're not allowed in my store!
- Have a ride on the short bus?
- It's along walk home so grab your coat, yopur leaving.
- don't say i never gave you nothin (swift kick)\
- here a early Christmas prizent.
- insert own kick message cos your not worht the effort
- try that one again and il wear your ass for a slipper
- Get the hell of my network!
- My mother gave me life, i gave her the blues, my wife gave me hell i gave her herpies, youve given me nothing so consider this a gift
- Congratulations, you have been promoted to the rank kicked.
- You know what gives me depression? You.
- Im sorry for this inconvenience of you getting kicked, if you require help, please contact us at 1-800 I don't care..
Thank you so much, if you can help, any helpful advice is welcome!
-William
Last edited: