For a private Minecraft Java server serving roughly two to eight friends, start with survival, normal difficulty, authenticated accounts, an enforced whitelist, an eight-player cap, view-distance=8, and simulation-distance=6. Keep online-mode=true, leave RCON disabled, and adjust distances only after checking server tick performance. Those values are a practical starting profile rather than a vendor-prescribed “best” configuration. Your group’s edition, play style, hardware, mods, and actual peak player count should determine the final settings.
What is the best starting configuration for a small private group?
The following profile is designed for a friends-only survival world with about two to eight concurrent players. It favors account security and predictable performance over maximum view distance. Put these properties in the Java server’s server.properties file, then add each friend to the whitelist through the server console or your hosting panel.
gamemode=survival
difficulty=normal
online-mode=true
white-list=true
enforce-whitelist=true
max-players=8
view-distance=8
simulation-distance=6
spawn-protection=16
pvp=<group decision>
hardcore=false
enable-rcon=false
Increase view-distance or simulation-distance only when the server remains healthy during a busy session. Set max-players near the real peak, not the number of people you might invite someday. More simultaneous players consume more resources, so an unnecessarily high cap can make a small world less stable.
How should I secure a friends-only Java server?
Keep account authentication enabled
Leave online-mode=true on any Internet-facing server. The server checks joining players against the Minecraft account service, which prevents unauthenticated names from entering under someone else’s identity. Turning it off may be useful for a tightly controlled offline test, but it removes an important identity check and is a poor default for a shared world.
Enable and enforce the whitelist
Set white-list=true and enforce-whitelist=true. Java stores approved names in whitelist.json; add players before you distribute the connection details. Enforcement means that players who are not on the list are removed when the list is reloaded, so check names carefully before applying a change.
Authentication and the whitelist solve different problems. online-mode verifies that a person controls a Minecraft account, while the whitelist decides whether that verified account is allowed into this particular world. Use both for a private group.
Why should RCON remain off?
enable-rcon=false keeps remote console access disabled. The cited Java properties guidance recommends leaving it off because RCON does not provide encryption; an exposed RCON password can therefore reveal administrative control. Enable it only when you have a secured administration workflow that protects the connection outside the Minecraft server itself.
Which gameplay settings should the group choose?
Gameplay properties establish the social contract before anyone builds a base. Agree on these choices in your group chat, write them down, and change them deliberately rather than during an argument over a lost inventory.
| Setting | Available behavior or values | Decision guidance |
|---|---|---|
gamemode |
Survival, creative, adventure, or spectator | Survival is the neutral starting point; creative suits a build-focused world. |
difficulty |
Peaceful, easy, normal, or hard | Normal is a balanced default; hard is appropriate for a deliberate challenge. |
pvp |
Player damage enabled or disabled where the release exposes this property | Make a group decision before inviting competitive players, and confirm the exact property or gamerule for your release. |
hardcore |
Hardcore enabled or disabled | Leave it false unless everyone accepts permanent death consequences. |
force-gamemode |
Players are forced into the server’s default mode when joining | Use true when everyone must rejoin in the chosen mode; leave it false when trusted players need individual mode changes. |
Survival, creative, and selective privileges
A cooperative survival group can use gamemode=survival and grant creative privileges only to designated builders or administrators. A pure creative server can use gamemode=creative while retaining authentication and the whitelist; privacy controls are still useful even when the world has no survival progression.
Difficulty, PvP, and hardcore are social settings
Normal difficulty avoids making the first session either trivial or punishing. Hard difficulty works for a challenge group, but announce it before players commit to a long-term base. PvP should be explicit: accidental damage can end a cooperative session faster than a technical problem. Hardcore changes the meaning of death; the cited guide says the mode defaults to hard difficulty and turns a dead player into a spectator, so enable it only with unanimous agreement.
What do view-distance and simulation-distance actually control?
View distance sends world data
view-distance is the server-side visibility radius measured in chunks. It controls how far around a player the server sends world data, affecting how much terrain can be seen and how much data must be delivered to clients. Larger values help explorers and builders who need long sight lines, but they increase work for the server and network.
Simulation distance updates the world
simulation-distance controls the range in which entities and blocks are updated. Farms, mobs, redstone mechanisms, and other ticking activity depend on this active area. A lower value can improve tick performance without shrinking the amount of terrain a player can see, so it is an independent lever rather than a synonym for view distance.
How should I tune the two distances?
- Start with
view-distance=8andsimulation-distance=6for a small private Java group. - Have several players travel, load new chunks, and use farms at the same time. Watch for delayed block updates, slow mob movement, or visible stutter.
- If the server struggles, lower simulation distance first when the problem is tick delay or entity activity. Lower view distance when chunk delivery or long-range visibility is the heavier burden.
- Change one property at a time, restart or reload as required by your server build, and test again. Raise a value only after the previous setting has remained stable during a busy session.
Defaults can change between releases. The Java properties reference used for this guide scopes its table to Minecraft 1.21.9 and was updated March 24, 2026, so inspect the generated server.properties after upgrading a server jar.
How many players should I allow?
max-players caps concurrent connections. Set it close to the highest number you genuinely expect at one time; a cap of eight is sensible for a two-to-eight-player group. If you set the number far above the real peak, players may assume the machine can support them even though every additional active player consumes resources.
Capacity is not just a slot count. World size, exploration speed, farms, entities, mods, server software, and the machine’s available CPU, memory, and storage all affect the result. There is no single Java RAM figure that is valid for every release and workload; measure your own server under the busiest activity your group plans to run.
What hardware does the official Bedrock Dedicated Server require?
Bedrock uses a separate dedicated-server stack and configuration format. The official requirements list 4 GB of RAM, 180 MB to 1 GB of available storage, and Ubuntu 22.04 LTS or later as the supported Linux baseline. Those figures describe the Bedrock server requirement block, not a universal recommendation for every modded or heavily populated installation.
| Edition | Dedicated software | Access-list terminology | Client reach described by the official material | Configuration focus |
|---|---|---|---|---|
| Java Edition | Java server with server.properties |
white-list, enforce-whitelist, and whitelist.json |
Java clients | view-distance, simulation-distance, online-mode, gameplay properties, and optional RCON |
| Bedrock Edition | Official Bedrock Dedicated Server | allow-list terminology and allowlist.json |
Windows, Xbox, PlayStation, mobile, and Nintendo Switch clients are listed in the official FAQ | Bedrock properties such as tick-distance, view-distance, online-mode, and allow-list controls |
Do not copy Java property names into a Bedrock configuration file. The editions have different server software and access-list terminology, even when the underlying goal—restricting a private world—is the same.
How do I set up a private Java server step by step?
- Choose the edition and release. Confirm that every player owns and uses Java Edition, then select the server release that matches the clients. If you are following the 1.21.9 Java properties reference, remember that later releases may generate different defaults or add properties.
- Install the Java server software. Put the server files in a dedicated folder with enough free storage for the world and backups. Start it once so it can create its configuration and world files, then stop it cleanly before editing settings.
- Open
server.properties. Use a plain-text editor and change the gameplay, security, capacity, distance, and protection properties. Keep the spelling and lower-case values exactly as the generated file expects. - Apply the private profile. Set
online-mode=true,white-list=true,enforce-whitelist=true,max-players=8,view-distance=8,simulation-distance=6,spawn-protection=16,hardcore=false, andenable-rcon=false. Choosepvp,gamemode, anddifficultywith the group. - Populate the whitelist. Add each player’s correct account name through the server console or the control panel supplied by your deployment. Verify the spelling before enabling enforcement; an incorrect name will be treated as unauthorized.
- Review network exposure. The Java setup walkthrough identifies
query.portas the port to forward for inbound connections in its procedure. Use the port required by your particular deployment and firewall, and do not expose administration services merely because players need game access. - Start and test privately. Join with one account first, then invite the rest. Test movement, chunk loading, spawn protection, PvP behavior, and whitelist enforcement before calling the server ready.
- Record the working configuration. Save a copy of the properties file and note the server release. This makes it easier to compare settings after an upgrade or recover from an accidental edit.
How do I configure a Bedrock cross-platform group?
- Use the official Bedrock Dedicated Server. It is the dedicated software intended to host a Bedrock Edition multiplayer world.
- Confirm client compatibility. The official FAQ lists Windows, Xbox, PlayStation, mobile, and Nintendo Switch Bedrock clients. Make sure every participant is using Bedrock rather than Java before troubleshooting connections.
- Meet the published Linux baseline when applicable. The official page lists Ubuntu 22.04 LTS or later, 4 GB of RAM, and 180 MB to 1 GB of available space. Leave additional headroom for the operating system, world growth, backups, and other services.
- Edit Bedrock’s configuration files. Use Bedrock property names such as
tick-distanceandview-distance, and use the Bedrockallow-listandallowlist.jsonterminology. Do not assume a Java property has the same name or effect. - Enable account checks and the allow-list. Keep the server private by enabling the applicable authentication and allow-list controls, then add each player using the Bedrock administration workflow.
- Test on more than one device family. A Windows client and a console or mobile client can expose different connection, input, or performance issues. Test before scheduling a group event.
Which settings fit different group play styles?
| Group type | Recommended direction | Important decisions |
|---|---|---|
| Small private survival group | Survival, normal difficulty, authenticated accounts, enforced whitelist, eight-player cap, view distance 8, simulation distance 6, spawn protection 16, hardcore off, RCON off | Choose PvP with the group and raise distances only after performance testing. |
| Cooperative builders | Creative, or survival with selective creative privileges; keep authentication and the allow-list enabled | Increase view distance gradually if long sight lines matter, watching tick performance after each change. |
| Challenge or competitive group | Survival with normal or hard difficulty; authenticated accounts and enforced whitelist | Decide PvP explicitly and consider force-gamemode=true when everyone must rejoin in the server’s chosen mode. |
| Bedrock cross-platform group | Official Bedrock Dedicated Server with Bedrock configuration and allow-list terminology | Confirm that every player is on a supported Bedrock client and size the host around the real peak. |
What does spawn protection do?
spawn-protection protects the central spawn area from ordinary block breaking by players without the necessary privileges. The Java guidance uses 16 as a practical private-server starting value. Setting it to 0 permits players to break blocks there, which can be useful for a deliberately unprotected hub but removes the default buffer around the arrival point.
Spawn protection is not a replacement for the whitelist. It governs block interaction near spawn; it does not decide who can connect or prevent a trusted player from damaging another player elsewhere in the world.
When should I use resource packs or pause an empty server?
Shared resource packs
resource-pack lets the group point clients at a shared pack. Set require-resource-pack when every participant must load it; a player who declines a required pack is disconnected. Tell friends about that requirement before they join, especially if the pack is large or their connection is limited.
Pausing an empty server
On versions that expose pause-when-empty-seconds, the server can pause after the configured period with no players connected. The cited properties guide lists a 60-second default. Check whether your release includes the property before relying on it, because properties and defaults evolve.
How do I diagnose lag and connection problems?
Players see delayed block breaks or mobs move erratically
- Lower
simulation-distancefirst if entity and block updates are delayed. - Ask players to stop high-activity farms temporarily and test again; concentrated entity or redstone activity can expose a capacity limit.
- Reduce the number of simultaneous players to the actual stable peak rather than leaving an aspirational cap in place.
Chunk loading is slow or distant terrain disappears
- Lower
view-distanceand test while players travel into unexplored terrain. - Check the host’s network and storage activity in addition to CPU and memory; sending and generating new chunks stresses more than one resource.
- Raise the value gradually only after several players can explore without renewed delays.
A friend is rejected despite having the correct game
- Confirm that the player is using the same edition as the server. Java clients do not use the Bedrock Dedicated Server stack, and Bedrock clients use allow-list terminology rather than Java’s whitelist files.
- Check
online-modeand the account name recorded in the appropriate list. A name typo or a mismatched account can look like a network failure. - If enforcement was recently reloaded, verify that every intended player is present before asking them to reconnect.
Players cannot interact near the starting area
- Check
spawn-protection. A value of 16 protects the area around spawn; a value of 0 removes that protection. - Test with the appropriate administrative privileges before changing the setting for everyone.
Remote administration is exposing the server
- Keep
enable-rcon=falseunless you have a secured, non-public administration path. - RCON does not support encryption, so do not treat a strong password as a substitute for protecting the connection.
- Separate the game connection port from administrative services in your firewall rules.
What should I review after a Minecraft update?
Back up the world and the current properties file before replacing a server jar or Bedrock build. Then inspect the newly generated configuration for renamed, removed, or newly introduced properties. The Java reference cited here was updated March 24, 2026 and scopes its defaults to version 1.21.9; it is a useful snapshot, not a promise that every later release behaves identically.
After an update, run a short acceptance test: authenticate with a normal account, confirm that an unlisted account is refused, test the selected game mode and difficulty, load new chunks with several players, check farms and redstone, and verify that resource-pack and spawn-protection behavior still matches your group’s agreement. Keep the previous file available so you can restore a known-good configuration if a new default causes trouble.
What is the practical verdict for most friend groups?
Use the private survival profile as your baseline: authenticated accounts, an enforced allow-list, a realistic player cap, normal difficulty, and conservative distance values. Treat PvP, hardcore, creative privileges, resource packs, and forced game mode as explicit group decisions. If the group plays on consoles or mobile devices, choose Bedrock Dedicated Server from the start; if everyone uses Java, use the Java server and its server.properties controls. Performance tuning is iterative: lower simulation distance for tick problems, lower view distance for chunk-delivery pressure, and increase either only after testing the busiest scenario you expect.
Frequently Asked Questions
Can Java and Bedrock players join the same dedicated server?
The two editions use different dedicated-server software and configuration files, so plan around one edition for the group rather than assuming the server executable is interchangeable. Choose Java when everyone has Java clients, or use the official Bedrock Dedicated Server when the group includes the Bedrock platforms listed by its documentation.
Should I raise view distance or simulation distance first?
Raise the setting that addresses the actual complaint. Increase view distance for longer visible terrain; increase simulation distance only when the group needs activity, farms, or entities to update farther away. Change one value at a time and test with several players online.
Can I temporarily admit a guest without opening the server to everyone?
Yes. Keep authentication and whitelist enforcement enabled, add the guest’s account to the appropriate list for the event, and remove it afterward if the world is intended to remain friends-only. Do not replace the allow-list with a public player cap.
Why did my settings change after upgrading the server?
Minecraft server properties are release-dependent, and the documented Java table is scoped to version 1.21.9. Compare the new generated file with your saved configuration after each upgrade, then retest security, gameplay, distances, and resource-pack behavior before inviting the whole group.