⚠️ The latest release is unstable. Use preview builds instead
Skip to content

Server Settings

Game and server settings are configured via server-settings.json. This file is auto-created with sensible defaults on first startup.

Accessing the Settings File

The settings file is stored on your host machine at .local-container/settings/server-settings.json (relative to your docker-compose.yml).

To view:

sh
cat .local-container/settings/server-settings.json

To edit:

  1. Open .local-container/settings/server-settings.json with any text editor
  2. Make your changes
  3. Restart to apply: docker compose restart

First Run

This file is auto-created with defaults on first server startup. If the file doesn't exist yet, start the server once and it will be created.

Default Settings

json
{
  "Game": {
    "FarmName": "Junimo",
    "FarmType": 0,
    "ProfitMargin": 1.0,
    "StartingCabins": 1,
    "SpawnMonstersAtNight": "auto",
    "RemixBundles": false,
    "RemixMines": false,
    "CommunityCenterYear1": false,
    "CabinLayoutNearby": false,
    "UseLegacyRandom": false,
    "RandomSeed": null,
    "PetBreed": 1,
    "PetName": "Apples",
    "MushroomCave": true,
    "BuyJoja": false
  },
  "Server": {
    "MaxPlayers": 10,
    "CabinStrategy": "CabinStack",
    "SeparateWallets": false,
    "ExistingCabinBehavior": "KeepExisting",
    "VerboseLogging": false,
    "AllowIpConnections": false,
    "LobbyMode": "Shared",
    "ActiveLobbyLayout": "default",
    "AdminSteamIds": [],
    "NetworkBroadcastPeriod": 1
  }
}

Game Creation Settings

These settings only take effect when creating a new game. They are ignored when loading an existing save.

SettingDescriptionDefault
FarmNameFarm name displayed in-game"Junimo"
FarmTypeFarm map type: a number 0-7 or a name for a built-in farm, or a farm Id string for a mod-added farm (see table below)0
ProfitMarginSell price multiplier1.0
StartingCabinsNumber of cabins created with new game1
SpawnMonstersAtNightMonster spawning: "true", "false", or "auto""auto"
RemixBundlesUse remixed or default CC bundles"false"
RemixMinesUse remixed or default mines rewards"false"
CommunityCenterYear1Guarantee the community center is completable in year 1false
CabinLayoutNearbyWhether to use nearby cabin layout. Only has an effect when CabinStrategy is "None"false
UseLegacyRandomUse the legacy RNG algorithmsfalse
RandomSeedSeed to use for RNG. "null" for a random seed"null"
PetBreedBreed of pet. [0-4] are cats, [5-9] are dogs. -1 for no pet1
PetNameName of starting pet"Apples"
MushroomCaveMakes the farm cave a mushroom cave. Set to false for fruit bats.true
BuyJojaWhether to buy the Joja membership when available.false

Farm Types

The eight built-in farms can be selected by number or by name (names are case- and space-insensitive, so "FourCorners" and "four corners" both work):

ValueNameFarm Type
0"Standard"Standard
1"Riverland"Riverland
2"Forest"Forest
3"Hilltop"Hilltop
4"Wilderness"Wilderness
5"FourCorners"Four Corners
6"Beach"Beach
7"MeadowlandsFarm"Meadowlands

Either column works and the two are equivalent — e.g. "FarmType": 7 and "FarmType": "MeadowlandsFarm" select the same farm.

Mod-added farms

A farm added by a mod is selected by its Id string (mod farms have no number):

json
"FarmType": "FrontierFarm"

The Id is the Id field of the farm's entry in the mod's Data/AdditionalFarms content (check the mod for the exact value). The mod must be installed on the server for the Id to resolve. An unknown Id — or a number above 7 — falls back to the Standard farm with a warning in the log.

If you have a single farm mod installed and don't want to look up its Id, use the keyword "modded", which selects the first installed mod farm:

json
"FarmType": "modded"

Because mod load order isn't guaranteed, prefer the explicit Id when more than one farm mod is installed. With no farm mod installed, "modded" falls back to Standard with a warning.

Profit Margin

ValueDifficulty
1.0Normal prices
0.7575% prices (harder)
0.550% prices (hard)
0.2525% prices (very hard)

Monster Spawning

  • "true": Monsters spawn at night on all farm types
  • "false": No monster spawning
  • "auto": Only spawn on Wilderness farm type

Server Runtime Settings

These settings apply on every startup and can be changed between runs.

SettingDescriptionDefault
MaxPlayersMaximum concurrent players10
CabinStrategyCabin management strategy"CabinStack"
SeparateWalletsEach player has their own moneyfalse
ExistingCabinBehaviorHow to handle visible cabins"KeepExisting"
VerboseLoggingEnable detailed debug loggingfalse
AllowIpConnectionsAllow direct IP connectionsfalse
LobbyModeLobby mode for password protection"Shared"
ActiveLobbyLayoutActive lobby layout name"default"
AdminSteamIdsSteam IDs auto-granted admin on join[]
NetworkBroadcastPeriodTicks between farmer/location/world-state delta broadcasts (1=every tick, 3=vanilla)1

Cabin Strategies

StrategyDescriptionBest For
CabinStackCabins hidden off-map. Each player sees only their own at a shared position.Most servers
FarmhouseStackCabins hidden off-map. All players exit at the main farmhouse's front door (shared entry point).Co-op focused
NoneVanilla behavior. Cabins placed at real farm positions.Traditional multiplayer

Existing Cabin Behavior

Controls what happens to visible cabins already on the farm when using a stacked strategy.

BehaviorDescription
KeepExistingLeave existing cabins at their positions. Only new cabins follow the strategy.
MoveToStackRelocate all visible cabins to the hidden stack on startup.

Wallet Modes

SettingDescription
falseShared wallet: all players share one money pool
trueSeparate wallets: each player has their own money

You can toggle this in-game using the !changewallet admin command.

Direct IP Connections

WARNING

Direct IP connections don't provide user IDs, so the server can't track farmhand ownership. Players may lose access to their farmhands if they reconnect from a different IP.

Only enable if you need it for specific network configurations.

Network Broadcast Period

Controls how often the server broadcasts farmer, location, and world-state deltas to connected players.

ValueBehavior
1Broadcast every tick. Lowest perceived latency, highest bandwidth (mod default).
2Broadcast every other tick. Roughly 50% bandwidth reduction with one extra tick of latency (~16ms at 60 TPS).
3Vanilla Stardew default. Roughly 66% bandwidth reduction with two extra ticks of latency.

Allowed range is 1 to 60. Out-of-range values are clamped and a warning is logged on startup. Raise this value if connected players report bandwidth saturation; lower it if movement and inventory changes feel laggy.

Password Protection Settings

For lobby mode and layout settings, see Password Protection.

SettingDescription
LobbyMode"Shared" (all in one lobby) or "Individual" (separate lobbies)
ActiveLobbyLayoutName of the lobby layout for new players

Released under the MIT License.