[WEB-2554] Prevent-proxy-connections option does not work
Prevent-proxy-connections option in Minecraft: Java Edition server in operties does not work when using any type of proxy, such as this one
In this case, the player connects to the server from a one IP, but makes a request to from another IP and sessionserver allows player to log in to the server
This was also tested using a mod that allows you to join servers under a proxy:
Everything happens exactly the same way and the sessionserver also allows to join
This was also tested by directly accessing join and hadJoined endpoints:
Whatever IP is specified in the ‘ip’ parameter in the request to this does not affect the result, looks like this parameter is simply ignored
It also doesn’t matter which endpoint is used for joining – the old ” or new ‘join’
I think that the IP logging was broken on these two endpoints, or the hasJoined IP check was broken
server.properties – Minecraft Wiki
The default operties file for Java Edition.
operties is the file that stores all the settings for a multiplayer (Minecraft or Minecraft Classic) server.
When editing operties, it is important that the same structure as the original is used, although the order of the lines is arbitrary. The text before the equal sign is the key, which should not be changed. The text after the equal sign is the property’s value, which can be edited. Lines that begin with # are comments – altering or removing these lines has no effect on the game.
After changes are made to the operties file, the server must be restarted for them to take effect. Another option is to use the /reload command in the server console or in-game, which will also allow changes to be reloaded.
If the operties file does not list all properties (such as if a new version of the server adds new properties, or if the file does not exist), then on startup, the server rewrites the operties file with the new properties listed and set them to their default values.
The operties file is simply a normal text file with UTF-8 encoding, despite its extension, and can therefore be edited with any text editor such as Notepad for Windows, TextEdit for Mac, or nano and vim for Linux.
1 File location
1. 1 Java Edition
1. 2 Bedrock Edition
2. 1 Java Edition
2. 2 Bedrock Edition
3 Minecraft server properties
3. 1 Java Edition
3. 2 Bedrock Edition
4 Minecraft Classic server properties
This file is automatically generated upon the first start of the server (if it does not exist).
In the Working Directory (Defaults to the same folder as)
If the player starts the server by clicking on either, a startup script in the same folder, or a shortcut to either of these, then the Working Directory is set to the same folder as
Path of Working Directory (pwd)
If the player starts it from their home directory (/home/name) the server files are created in /home/name. Follow these guidelines for ensuring that the server files are generated where the player would expect them.
Set aside an entire directory for all of the server files. (Things could get messy if the player doesn’t).
The player’s should be placed here.
Use this script as a guideline for setting up a startup script for the Minecraft server.
It should be in the player’s executable $PATH
Be sure to add the execution permission to the startup script (chmod +x file_name, or use a folder manager)
This file is downloaded with
Same directory as
Same directory as bedrock_server
These are the default settings for a newly installed Minecraft server:
#Minecraft server properties
#(timestamp of first initializing)
motd=A Minecraft Server
Default as of 21w38a.
# Used as the server name
# Allowed values: Any string without semicolon symbol.
# Sets the game mode for new players.
# Allowed values: “survival”, “creative”, or “adventure”
# force-gamemode=false (or force-gamemode is not defined in the operties)
# prevents the server from sending to the client gamemode values other
# than the gamemode value saved by the server during world creation
# even if those values are set in operties after world creation.
# force-gamemode=true forces the server to send to the client gamemode values
# other than the gamemode value saved by the server during world creation
# if those values are set in operties after world creation.
# Sets the difficulty of the world.
# Allowed values: “peaceful”, “easy”, “normal”, or “hard”
# If true then cheats like commands can be used.
# Allowed values: “true” or “false”
# The maximum number of players that can play on the server.
# Allowed values: Any positive integer
# If true then all connected players must be authenticated to Xbox Live.
# Clients connecting to remote (non-LAN) servers will always require Xbox Live authentication regardless of this setting.
# If the server accepts connections from the Internet, then it’s highly recommended to enable online-mode.
# If true then all connected players must be listed in the separate file.
# Which IPv4 port the server should listen to.
# Allowed values: Integers in the range [1, 65535]
# Which IPv6 port the server should listen to.
# The maximum allowed view distance in number of chunks.
# Allowed values: Positive integer equal to 5 or greater.
# The world will be ticked this many chunks away from any player.
# Allowed values: Integers in the range [4, 12]
# After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely.
# Allowed values: Any non-negative integer.
# Maximum number of threads the server will try to use. If set to 0 or removed then it will use as many as possible.
# Allowed values: Any positive integer.
# Allowed values: Any string without semicolon symbol or symbols illegal for file name: /\n\r\t\f`? *\\<>|\”: