Saleblazers

Saleblazers

Not enough ratings
Dedicated Server Beta - Documentation
By DraconianStatue and 2 collaborators
Official documentation for installing, configuring, launching, and using a dedicated server in Saleblazers.
3
   
Award
Favorite
Favorited
Unfavorite
Introduction
Hello Shopkeepers!

Welcome to the Beta release of the Saleblazers dedicated server console!



Using the Dedicated Server Console, you can host your 24/7 servers, control player roles and permissions, and be the lord of a world.

We hope that in the future, we will be able to host special servers with different maps and game modes, whether a simple dueling map or shopkeeping challenges. Expect more exciting news soon!

We've packed the initial beta release of dedicated servers with lots of tools that you can use to make unique servers, from allowing users to claim ownership over areas to make secure homes and shops, randomized spawning throughout the world, and shop permissions that let you set up a hierarchy of roles.
However, we also want to hear from you! We've added a new thread channel on our official Discord Server where you can give us feedback and request new features for dedicated servers specifically so we can make this tool as robust as possible for all your server needs. You can also make community posts on the Steam Forums if that suits you better.

Thank you so much to all of our players, especially everyone who requested that we make this tool. We're so excited that it's ready for you to try out.

-Airstrafe Interactive
Console Installation
You can now install the dedicated server tool through your Steam library or through SteamCMD. If the account you are installing the tool for does not own the base Saleblazers game, you will have to install the dedicated server tool through SteamCMD.

Option A: Steam Library Installation
If your account owns the base game, you can download and update the dedicated server tool using your Steam library.

You can do so by going to your library and marking the Tools checkbox to view available tools, then locating and installing the Saleblazers Dedicated Server tool like you would any other game.


Option B: SteamCMD Setup

To install and access the dedicated server application via SteamCMD, make sure you have downloaded and installed SteamCMD by following Valve’s documentation.

To install and launch the server application, you will need to:
  1. Navigate to steamCMD folder and run SteamCMD
  2. Log in
  3. Install and Update the Saleblazers Dedicated Server Application
  4. Quit SteamCMD once the server application is ready
  5. Navigate to the Saleblazers Dedicated Server Application folder and run the application
    The location can usually be found at “..\SteamCMD\steamapps\common\Saleblazers Dedicated Server\Default”
The CMD console commands to do this will look like this:
  1. >cd <SteamCMDFolderPath>
  2. >SteamCMD
  3. Steam>login <UserName>
  4. Steam>app_update 3099600 validate
  5. Steam>quit
  6. >cd <DedicatedServerAppInstallLocation>
  7. >Saleblazers.exe

Anonymous Installation
If you run into any issues logging in with SteamCMD, you can install the tool using the anonymous login. Instead of logging in with your username, run
login anonymous
. More Information about how to login anonymously can be found on the Valve documentation under the section SteamCMD Login.

Launching the Console
Once the installation completes, you will be able to launch it from the .exe either from your folder browser or through the CMD.


Once launched, a new console window will appear. The application needs a while to initialize itself. Once it’s done, you will be greeted with the window below:


Your console window will start the application and you will be redirected when initialization finishes.
Updating the Console
As we release fixes and new content for Dedicated Servers, you will have to update your tool in order to connect with the newest patches for the main game.

To do this via your Steam Library, select the Update button like you would for the base game.

To do this through SteamCMD, rerun the validate command.
  1. >cd <SteamCMDFolderPath>
  2. >SteamCMD
  3. Steam>login <UserName>
  4. Steam>app_update 3099600 validate
  5. Steam>quit


The Dedicated Server Tool will support some patches for the base game without updating to reduce the number of server restarts needed. On the welcome screen for the console, you will see the range of supported version numbers.
You can keep an eye out on our Discord or the Steam Forums for announcement of new patches for the Dedicated Server tool.
Networking Setup
Hosting Dedicated Server requires some extra networking setup on your PC and router. While our server application tries to do some tasks for you at startup, it sometimes still requires you to check it over.


Firewall and InBound / OutBound Rules
This step makes sure your computer allows Saleblazers to access your public/private network to communicate with Steam Game Server.
  1. If you are running Windows systems, you can find such settings in Windows Defender Firewall by opening it thru Control Panel or search for it start menu.

  2. Once you have it opened up, click on "Advanced Settings.”

  3. Now on the tree view on left side of the window, click on “Inbound Rules.”



  4. Look for an entry named “Saleblazers Dedicated Server”. If you have previously opened the server application, you might already have it. If you don't see it, click on "New Rule..."



  5. If you already have the entry, double click it and ensure "Allow the Connection" is selected.

  6. If you are creating a new rule, select the "Program" rule type and choose the path to the dedicated server application. It is usually located at ..\Steam\steamapps\common\Saleblazers Dedicated Server\Default\Saleblazers.exe
    Set the "Allow the Connection" on this new rule and name it Saleblazers Dedicated Server.

  7. Repeat steps 4-6 for the "Outbound Rules" section.

  8. (Optional) If you are running on virtual machines / sub systems, make sure your virtual machines or sub system application have access to the network as well.

Port Forwarding

Port forwarding is essential for your server IP address to be recognized by Steam Game Server over the public internet.

Our dedicated server tries to automatically forward only required ports if your router device supports UPnP (Universal Plug-n-Play) .

Most routers nowadays support it and you have the option to turn it on/off on your router setting webpage or app that may look like this:


If your router has this feature and you want our server application to handle port forwarding for you, make sure you turn it on.
Whenever you start out dedicated server hosting app, it will try to open all the required ports, if it fails to do so, you will see a red error message printed on the console, that’s to tell you when you have to do it manually.

If you choose to or need to do it manually, here are the required ports that you should open:
    Both TCP & UDP
  • Game Traffic Port (Default 27015), or your manually entered port number after opening our server application.
  • Query Port (Game Traffic Port + 1, default 27016), or you manually entered port number + 1
    SteamRemote Play Port: 27036

    UDP Only
  • Steam Remote Play Ports 27031 ~ 27035 (5 ports total)

To add a port, find a window similar to this in your router’s port forwarding page:


The required fields to fill are:
  • External host - * (wildcard)
  • Internal host - your internal IPv4 Address, which can be found by opening up a CMD window and type “ipconfig

  • Protocol - choose based on the required ports list above
  • External Port & Internal Port - type in the same port number

Once you completed these steps, the server should be ready to host. If you see a message that port forwarding has failed when you launch the server tool, please confirm you've completed these steps and consult your network settings to ensure you are not blocking the application.
Quick Start Guide
Now that you have the console installed and your firewall and port settings configured, you can open your first dedicated server!

The rest of this guide includes a lot of useful information on using the various features for customizing and managing your dedicated server. However, some of you may want to just open a server for your friends with minimal fuss. This section is for you!

Here is a short list to follow on your console to get a game up and running as quickly as possible.
  1. Open your server and choose the default port number
  2. Select Set_Logon and pick Anonymous Game Server Account
  3. Select Create_Lobby and pick Campaign
  4. Name your save, choose whether or not to skip the prologue, set a password, and do not hide from server search
  5. Select no for using the player permission control system so you don't have to configure it
  6. Decide if you want to have people join with their own characters or limit them to server saved characters
  7. Select the [Traditional Saleblazers Experience] preset
  8. Choose Start_Game

Now you and your friends should see your lobby in the Join Game server browser, can enter the password, and start playing!
Note About the System Terminal Version
Some of the formatting features may not work on certain system console versions.

For best compatibility, we recommend the Windows Console Host Terminal.

You can change this in System > For Developers > Terminal in your windows settings.



If you aren't having problems with a different terminal selection, there is no need to change this.
Server Config File
You can save your server configuration into a JSON file and load from it in the future to save time. There is an example default config file at the end of this guide.

To launch the server from a configuration file. You will use the following launch argument:

-config <ConfigJSONFilePath>

in your command prompt or Steam Client. If you are running server from Steam Client, you can fill in launch options in Right Click -> Properties -> General -> Launch Options box

This argument will launch the server by loading configurations in the JSON file and automatically logon, create lobby and start the game.

If you leave <ConfigJSONFilePath> as empty, server will try to look for the configuration file in default data path:

C:\Users\MyUser\AppData\LocalLow\Airstrafe Interactive\Saleblazers\DedicatedServerConfig.json

If it doesn’t exist, the server will create one out of default configuration.

The content of the configuration file should be formatted exactly like the one in the appendix at the end of the guide. You will ONLY change values of each property.
Set_LogOn
One of the first things the console will ask is to log on to the server.

There are two options for logging on, you can make a Steam Game Server Account and log on with a Game Server Login Token, or you can log on with an Anonymous Game Server Account.
Both are valid methods.



If you would like to create a Steam Game Server account, you can do so at https://gtm.steamproxy.vip/dev/managegameservers

Once you log in, you will be asked for the AppID, enter 1419850 and hit create. From here, you can get a GSLT and log on with that in the console.

Creating a Steam Game Server Account requires you to own the main game. If you are hosting a dedicated server from an account that does not own the main game, please choose Anonymous Game Server Account.
Creating A Lobby
Navigating The Console View
Use the arrow keys to navigate through the options. Press Enter to select an option.

Creating A Lobby
Select Create_Lobby.

Choose to start with the Campaign, Load a Save, or start a Custom Map.

If you want to start directly on the Island without playing through the prologue or automatically starting Pop Pop's quest, you can select Custom and then choose The Island as your map selection.

The computer running the dedicated server will save any worlds you start on it and be able to load them for future sessions. If you want to transfer saves between computers, you can move the files in the save folder or use Steam Cloud Saves.

Enter a name for your save file. Names can be 1 to 20 characters long.
The name of the save file will also be the name of the server in the lobby browser so if you want to make a public lobby, we recommend choosing a descriptive name for your save file.

Lobby Options
These options to configure the lobby and join options.

Lobby Name
The name displayed in the server browser.

Lobby Mode[/h2]
Campaign - Starts a new campaign from the Island or Prologue
Load - Loads a Save
Custom - Starts a new world without playing the intro

Lobby Password
Entering a password will require players to enter that password in order to join the server. Leaving this blank will start a server with no password.

World Name
This will be the name of your save file when selecting to load a game.

Lobby Capacity (1-20)
This determines the number of players who can join your lobby.

Use Player Permission Control System?
Selecting Yes will enable the user permissions features for this server.

This is an important setting for hosting public servers versus a private server for your friends.

If you're using this server just to play Saleblazers normally with your friends, you will probably want to select No and not worry about permissions settings.
But if you want to be able to prevent certain players from interfering with certain mechanics or things built by other players, you will want to select Yes and set up some permissions settings which are detailed later in this guide.


Use Server Saved Characters?
Selecting Yes will force players to create a new character saved to this server that they can only access when playing on this dedicated server. Selecting No will allow players to bring their existing characters to the server. This is useful if you want to prevent players from bringing loot, money, or high-level characters into a server and have everyone start from the beginning.

Server Presets
After setting up your lobby, you can choose one of the preset game options to get the server up and running more quickly.


  • Peaceful - Pacifist Mode enabled, peaceful shop on, easy enemies and mostly disabled survival mechanics
  • Easy - Similar to a traditional Saleblazers lobby but with enemies on easy difficulty
  • Normal - Normal Difficulty, traditional Saleblazers lobby
  • Hard - Similar to a traditional saleblazers lobby but with enemies on hard difficulty and some progression prices increased
  • Hardcore Airsrtafer - Hardest enemies, most challenging survival mechanics, fast travel disabled
Game Options
Alternatively to using a preset, you can select Customize Individual Settings to create your own server configuration.

If you select Customize Individual Settings, you will have to make a selection for each of the following game options.

Exploration and Combat

Keep Items on Death
Selecting Yes will have players drop nothing when they die.

Pacifist Mode
Selecting Yes will cause enemies not to attack players unless they are attacked first.

Enemy Damage
Increases the damage dealt by enemies.

Enemy Survivability
Increases enemy HP.

Hit Stun Duration
Changes how much hit stun player attacks do to enemies.

Resource Density
Changes how many items will spawn in containers.

Player EXP Gain
Changes how fast players earn EXP and level up.

Teleportation Totem Unlocks
Determines the cost of unlocking new Teleportation Totems or if they are disabled.

Telemed Rebirth Cost (0-100)
Determines what % of held money is lost when when a player rebirths.

Individual Map Discovery Progress
Selecting Yes will only clear fog of war on the map for players who individually explore an area. Selecting No will share map exploration among all players in the server, like in a normal lobby.

Shopkeeping

Peaceful Shop?
Selecting Yes will disable the enemy ghouls that spawn near players and shops at night. Normal enemies throughout the map are unaffected.

Invincible Shop Items?
Selecting Yes will make items placed inside of shops impervious to damage.

Shop Loss?
Turning this on will enable the Island government to temporarily disable shops that have low customer ratings and require an in-game fee to re-enable them.

Shop EXP Gain
Determines how much EXP earned for the shop level as sales are made.

Customer Budget
Determines the starting size of customer budgets.

Customer Needs
Determines how quickly customer needs are drained while they shop.

Customer Ratings
Determines how harsh customers are when leaving a review of your shop.

Survival

Hunger and Thirst Rate
Determines how quickly player hunger and thirst is drained.

Lethal Hunger and Thirst
Selecting Yes will make players die from low hunger and thirst. Selecting No will leave them at 1 HP when they have low hunger or thirst.

Lethal Cold
Selecting Yes will make players die from environmental cold damage. Selecting No will leave them at 1 HP.

Building Integrity
Selecting Yes will enable the building integrity feature which limits how high players can build based on their supports. Selecting No will allow players to build infinitely. Warning: No is not recommended on large servers as players can construct very large structures which will have a performance impact.

Research Cost
Determines the price of researching new recipes.

Item Durability
Selecting Yes will enable the durability system where items lose HP and eventually break through use if not repaired.

Armor Durability
Selecting Yes will cause equipped armor and clothing to degrade on death.

Allow Friendly Fire?
Selecting Yes will allow players to damage each other inside of the server.

Randomize Player Spawn Locations?
Use the arrow keys to navigate this list and press space on each game area in which players should spawn. Press enter once your selection is complete.
Selecting no areas will cause all players to spawn next to Pop Pop's Shop Plot, like in a traditional lobby.

If you are hosting a public server, randomized spawn locations are highly recommended to avoid griefing.
Lobby Menu Options
Now that your lobby is configured, you'll reach the Lobby Menu. From here you can start the game and manage players.

    Start_Game
    Starts the game for any players waiting in the lobby. Players who join the lobby after will be able to enter the game right away.
    Set Server Status
    Configures server visibility and new player connections. Configured using two sub-options.
    • Show/Hide Server From Search - Select Show to make the lobby visible in the Join Game lobby search. Select Hide to make the lobby only joinable through direct IP connection.
    • Set Accept New Connections - Select Accept to allow players to join the lobby. Select Deny to prevent any new players from joining the lobby.
    Close_Lobby
    Close the lobby, kicking all players in the lobby or the game server.
    List_Players
    List all the players in the lobby and loaded in the game.
    Kick_Player
    Kick a player from the game or lobby.
    Ban_SteamID
    Ban a player from their SteamID from entering your server. The List_Players option will display the SteamID of all players.
    Unban_SteamID
    Unban a banned player from their Steam ID so they can enter your server again.
    Server_SetMaxPlayers
    Change the maximum player count for the lobby. The default maximum player count is 8. This must be a whole number between 1 and 99.
Note: Functionality for player counts above 8 is temporarily bugged. This functionality will be restored as soon as possible.

Game Host Menu Options
Once you hit start game, you will still have access to the above Lobby Menu Options, but some new options will become available as well.



Server_Admin
This opens the administration menu where you can manage server roles, set the default role options, and award or deprive roles to players in the server. The Server Role Management section of this documentation goes into more detail on how this system works.

Save_Game
Manually saves the game. The game will also save automatically every 5 minutes and when you run Close_Lobby but this can be used for extra saves as needed.

Change_Map
Allows the server to change the active map.
Please be warned that some of these maps are not updated often and are there more as easter eggs. Additionally, changing the map can cause some instability for players doing certain actions.
Regardless, this command is useful to have if the server ever gets stuck and needs to reload a map or switch automatically. In the future this will also be where you can access other game modes.

The most common maps to use right now are The Island where the main game takes place and Campaign where the prologue takes place.

Close_Lobby
Saves the game and closes the lobby. Automatically disconnects all active players.

Command Mode
Opens the console to allow the server to run other commands.
  • sv_cheats 1 enables cheats for all players in the server sv_cheats 0 disables cheats again
  • commands lists all available commands to run
  • q quits the console and returns to the Game Host Menu Options screen

Refresh Server Messages
Reloads the file containing messages that can be broadcast to players in the server.
Server messages are useful for configuring welcome/rules messages or reminders for joining a discord server, following certain rules, or announcing server changes.

Edit or add messages to the server message file located at
C:\Users{UserName}\AppData\LocalLow\Airstrafe Interactive\Saleblazers\Saves\ServerMessages.txt

The settings for each message in the file are:

  1. Style: 0 = Popup, 1 = Notification, 2 = Chat Message
  2. SendTrigger: 0 = Manual, 1 = On Join
  3. AutoRepeatInterval: -1 = Off, >0 = Repeating at this frequency (in seconds)

Please refer to the public lobby setup example section of this guide for an example with images of how to configure server messages.

Broadcast Server Messages
This allows you to select from the server messages loaded in your text file to broadcast to your server.

Note that messages, even set to repeat, will need to be rebroadcast every time the server is shut down and reopened.

You can stop messages that are set to repeat using this command. You can also broadcast one time messages by hand from this menu.
Server Admin & Role Management
Server Admin
Server admin player has the privilege of opening the dedicated server console from in-game developer console. Server admin has full control of the console including running all the server console commands while inside the server lobby.

Server admin can be configured inside the server configuration file. It can also be assigned/unassigned in game by running Server_Admin console command. You will need the player’s Steam ID.
To access the server console as an admin, press ~ key to open the developer console while you are in game and use the command

Server.console

To open up the console window.
Server admin can also assign/unassign other player as admin players by running

Server.assign_admin
Server.unassign_admin

Server Role Management
Server roles are the primary tool for configuring player permissions in dedicated servers.
Using them intelligently can allow you to run various types of servers, from a more traditional Saleblazers experience with some griefing protections in place, to a more roleplay focused server where roles take the form of jobs, to a PvP server where players can build safehouses to protect their gear.

Role Overview
There are two types of roles on a dedicated server. Global Roles and Area Roles.

Global Roles control what players can do across the map and whether or not they can claim areas for themselves.
Global roles are configured by the server admins. Initially this is done from the Dedicated Server console, but you can configure admin roles that can edit or add global role permissions from within the game so you or trusted members of your server can manage them that way.

Area Roles control what players can do in a specific area. These are configured by players themselves once they claim an area. The server owner configures the default settings for both unclaimed areas and for claimed areas that have not been adjusted by their owner. However, once an area is claimed, the owner of that area can adjust what permissions other players have within the area bounds.
Global Roles
    Presets
    • Prisoner
    • Moderator
    • Admin
    Role Settings
    These settings control what a role can do.
    Can Manage Permissions?
    Selecting Yes means this role can change global permissions. This is the most powerful type of permission and should only be given to users you want to help with management of the server.
    Can Manage Assignments?
    Selecting Yes means this role can assign and deprive global roles to other players. This is a powerful type of permissions and should only be given to users you want to help with management of the server.
    Can Kick Players?
    Selecting Yes means this role can kick other players from the server. This permissions should only be given to users who are helping to moderate the server.
    Can Ban Players?
    Selecting Yes means this role can ban other players from the server. This permissions should only be given to users who are helping to moderate the server.
    Can Un-ban Players?
    Selecting Yes means this role can unban previously banned players from the server. This permissions should only be given to users who are helping to moderate the server.
    Can Claim Areas
    Selecting yes allows this role to claim an previously unclaimed area and become the owner of a part of the map. Doing so lets them manage user permissions within that area so they can build a house or run a shop in the claimed area and have control over who can interact, damage, and take things in that area.
    Can Manage Areas
    Selecting yes allows this role to bypass all area permissions on a claimed or unclaimed area of the map. This is a powerful permission type and should only be given to users you want to help with management of the server. Bypassing area permissions will allow users with this role to interfere with claimed areas and even remove access from the players who originally claimed the area. This is most useful for handling griefing or other improper area usage on your server.
    Ban Totem Teleportation?
    Selecting Yes will prevent players with this role from teleporting. This could be useful if you want to better manage the new player experience on your server before they earn a role with teleportation privileges, or for hardcore leaning servers that may want to ban teleportation completely.
    Totem Teleportation Cooldown?
    Selecting Yes will add a cooldown between teleporting for players with this role. After selecting yes, you will be prompted to enter the cooldown length (in seconds).
    Ban Certain Crafting Stations
    Selecting Yes will prevent users with this role from accessing a subset of crafting stations. After selecting yes, you will be prompted to select which crafting stations to ban for this role using the space bar. This setting is useful for roleplay servers or other situations where you may want to limit some crafting to specific players.
    Ban Map Pinging
    Selecting Yes will prevent users with this role from pinging on the map. Map pings show for all players, so this setting is useful for limiting the number of map pings or limiting it to certain players for emphasis. Pings from players who have permission to ping will still appear for players who are banned from pinging.
    Ban World Pinging
    Selecting Yes will prevent users with this role from pinging in the world. Normally pinging on the map will also display a ping in the world for all players and vice versa. This setting is useful if you want to allow map pinging but don't want a high number of world pings showing up for all players.
Area Roles
Role Settings
These settings control what a role can do within this area.

Can Manage Permissions?
Selecting Yes will allow players with this role to change permission settings in this area. This is the most powerful area permission setting and should only be given to players you trust with managing the area completely.

Can Manage Assignments?
Selecting Yes will allow players with this role to assign and deprive other players of roles in this area. This permission setting should only be given to players you trust to help manage the area.

Can Interact with Items?
Selecting Yes will allow players with this role to interact with items in this area. This setting can help prevent unknown players from tampering with your items stored in the area, using crafting stations, and using shop related items.

Can Pickup Items?
Selecting Yes will allow players with this role to pickup items in this area. Selecting No will prevent players with this role from picking up anything other than items they have placed while in this area. This setting is good for preventing unknown players from stealing items stored in this area.

Can Place Items?
Selecting Yes will allow players with this role to place items into this area. Selecting No will prevent players with this role from placing anything while in this area. This settings is useful for preventing griefing by unknown players. However, it also prevents unknown players from giving or delivering any items to your claimed area.

Can Build Building Pieces?
Selecting Yes will allow players with this role to construct building pieces with the Bamboo Construction Hammer within this area.

Can Dismantle Building Pieces?
Selecting Yes will allow players with this role to dismantle building pieces within this area by pressing F on them using the Bamboo Construction Hammer.

Can Access Containers?
Selecting Yes will allow players with this role to access containers in this area. Players with container access can both add items to containers and take them out of containers.

Can Use Teleport to Totems?
Selecting Yes will allow players with this role to teleport to other totems while inside of this area and also to teleport to totems that are within this area while they are somewhere else.

Can Throw Items?
Selecting Yes will allow players with this role to throw items using G while in this area. Throwing items can be similar to placing items in Saleblazers, so ensure you are setting this option correctly based on the permissions for placing items.

Can Damage Other Players?
Selecting Yes will allow players with this role to damage other players in this area only if Friendly Fire is enabled for the lobby.

Can Damage NPCs and Enemies?
Selecting Yes will allow players with this role to damage AIs in this area. It may be useful to turn this on for roles where you want players to be able to defend the area from enemies. It may also be useful to turn this off for unknown players who you don't want to damage friendly or neutral AIs within the area.

Can Damage Normal Items?
Selecting Yes will allow players with this role to damage placed items in this area that aren't inside of a shop plot. Both items placed by players and items that may have been in the area before it was claimed.

Can Damage Shop Items?
Selecting Yes will allow players with this role to damage placed items in this area that are inside of a shop plot. If an area does not contain a shop plot, then this setting will have no effect.

Shop Management Level
This permission setting offers 6 levels of shop management permissions. Visitor, Staff, SeniorStaff, Manager, SeniorManager, and Owner.
These permissions only apply if there is a shop inside the claimed area. They will let area owners set up different roles so other players can help run the shop in that area without giving all of them full access to every part of the shop such as the vault or employee table.

The different permission levels give the following freedoms. Each one also has all the permissions granted by the previous levels.
Permission Level
Freedoms
Description
Visitor
Cannot interact with anything in the shop.
Visitors can come by and look at the shop.
Staff
Can interact with items inside the shop.
Staff can mostly just checkout customers.
SeniorStaff
Can open and close the shop. Can access containers in the shop. Senior staff can restock, sell, and open and close the shop. They have access to the shop goods and storage.
Senior staff can restock, sell, and open and close the shop. They have access to the shop goods and storage.
Manager
Can toggle policies and specialty items or categories. Can assign and configure employees.
Managers can change the set up of the shop and it's employees, but they can't hire or purchase new policies.
SerniorManager
Can unlock shop policies and research employee upgrades. Can hire, fire, and train employees.
Senior Managers have full access to change everything about the shop and can spend the shop's money on employees or policies. But they cannot withdraw vault money to keep for themselves.
Owner
Can access the shop vault. Can rename the shop.
Owners have no restrictions on what they can do in the shop.
Global Role Presets and Defaults
These are the default global permissions that every player has in a server using the permission system. These defaults can be changed by the server using the server_admin command.

Default Global Permissions
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
No
Can Kick Players?
No
Can Ban Players?
No
Can Un-Ban Players?
No
Can Claim Areas?
Yes
Can Manage Areas?
Yes
Ban Totem Teleportation?
No
Totem Teleportation Cooldown
0
Ban Certain Crafting Stations
No
Ban Map Pinging?
No
Ban World Pinging?
No

There are three default roles server owners can assign to their players if they don't want to make their own roles. The default settings for these roles are as follows. Server owners can use these roles but change their settings or make completely new roles.

Presets
  • Prisoner
  • Moderator
  • Admin

Prisoner Default Settings
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
No
Can Kick Players?
No
Can Ban Players?
No
Can Un-Ban Players?
No
Can Claim Areas?
No
Can Manage Areas?
No
Ban Totem Teleportation?
Yes
Totem Teleportation Cooldown
N/A
Ban Certain Crafting Stations
Yes
Choose Banned Crafting Stations:
All
Ban Map Pinging?
Yes
Ban World Pinging?
Yes

Moderator Default Settings
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
Yes
Can Kick Players?
Yes
Can Ban Players?
Yes
Can Un-Ban Players?
Yes
Can Claim Areas?
No
Can Manage Areas?
Yes
Ban Totem Teleportation?
No
Totem Teleportation Cooldown
0
Ban Certain Crafting Stations
No
Ban Map Pinging?
No
Ban World Pinging?
No

Admin Default Settings
Permission
Value
Can Manage Permissions?
Yes
Can Manage Assignments?
Yes
Can Kick Players?
Yes
Can Ban Players?
Yes
Can Un-Ban Players?
Yes
Can Claim Areas?
No
Can Manage Areas?
Yes
Ban Totem Teleportation?
No
Totem Teleportation Cooldown
0
Ban Certain Crafting Stations
No
Ban Map Pinging?
No
Ban World Pinging?
No
Area Role Presets and Defaults
These are the default permissions that every player has in an unclaimed chunk. These defaults can be changed by the server using the server_admin command.

Default Area Permissions
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
No
Can Interact with Items?
Yes
Can Pickup Items?
Yes
Can Place Items?
Yes
Can Build Building Pieces?
Yes
Can Dismantle Building Pieces?
Yes
Can Access Containers?
Yes
Can Teleport to Totems?
Yes
Can Throw Items?
Yes
Can Damage Other Players?
Yes
Can Damage NPC and Enemies?
Yes
Can Damage Normal Items?
Yes
Can Damage Shop Items?
Yes
Shop Management Level
Owner

Once an area is claimed, there are three default roles that players can use. These are the default permissions for those roles. The owner of the area can change these roles or make new ones.

Presets
  • Assistant
  • Manager
  • Owner

Assistant Default Settings
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
No
Can Interact with Items?
Yes
Can Pickup Items?
No
Can Place Items?
Yes
Can Build Building Pieces?
No
Can Dismantle Building Pieces?
No
Can Access Containers?
No
Can Teleport to Totems?
Yes
Can Throw Items?
No
Can Damage Other Players?
No
Can Damage NPC and Enemies?
No
Can Damage Normal Items?
No
Can Damage Shop Items?
No
Shop Management Level
Senior Staff

Owner Default Settings
Permission
Value
Can Manage Permissions?
Yes
Can Manage Assignments?
Yes
Can Interact with Items?
Yes
Can Pickup Items?
Yes
Can Place Items?
Yes
Can Build Building Pieces?
Yes
Can Dismantle Building Pieces?
Yes
Can Access Containers?
Yes
Can Teleport to Totems?
Yes
Can Throw Items?
Yes
Can Damage Other Players?
Yes
Can Damage NPC and Enemies?
Yes
Can Damage Normal Items?
Yes
Can Damage Shop Items?
Yes
Shop Management Level
Senior Manager

Manager Default Settings
Permission
Value
Can Manage Permissions?
No
Can Manage Assignments?
Yes
Can Interact with Items?
Yes
Can Pickup Items?
Yes
Can Place Items?
Yes
Can Build Building Pieces?
Yes
Can Dismantle Building Pieces?
Yes
Can Access Containers?
Yes
Can Teleport to Totems?
Yes
Can Throw Items?
Yes
Can Damage Other Players?
Yes
Can Damage NPC and Enemies?
Yes
Can Damage Normal Items?
Yes
Can Damage Shop Items?
Yes
Shop Management Level
Owner
Show and Hide Area Permissions
Some of the permissions available to players who claim areas may be at odds with the global experience you want for your server.

For example, in a PvP server you may not want anyone turning off Friendly Fire inside of a specific area. They can claim an area and build a base that is secure, but you might still want other players to be able to fight and attack them in their area.

To account for this, server owners can hide some of the area permissions so that players who claim an area can't change them and the settings will always remain at the default.

You can do this from the Server_Admin -> Area -> Change Permission Controllability command.
Controlling Permissions From Inside a Server
Whenever a player joins a dedicated server with permissions settings, they will receive two special briefcase items in their inventory. While the server owner can manage global permissions from the server console, the briefcases are used to manage permissions as a player from within the server.


These briefcase items do not drop on death and if they are lost can be crafted at a crafting bench of any tier.

To use a briefcase, equip it to the hotbar and press left mouse button. This will open a corresponding menu to manage permissions.



The Permissions Briefcase is used to claim an area of the map and control area permissions. If an area is already claimed, you can also use this briefcase to request a role for that area.



The Server Permissions Briefcase is used to manage global role permissions. Only the server owner and trusted players assigned to roles with global role modifying permissions will be able to change these roles, but any player can use this briefcase to request a new role.


Pressing left mouse button with a briefcase equipped will open up the permissions menu that looks like this.

In the top left, you can see the current selection. It will say global if using the server permissions briefcase or the name of the area you are in if using the area permissions case.

To the right of that, there are toggles for two tabs, Permissions and Assignments.

Assignments
The assignments tab shows all of the players who have roles in this area (or globally if using the server permissions briefcase).
If you have permission to manage roles in this area, you can assign or deprive players with roles and manage incoming role requests.

If no one has claimed an area, you can press assign and assign yourself the Owner role to claim it for yourself.


Permissions
The permissions tab lets you configure what permissions each role has.

You can select roles from the left or add a new one and then use the settings menu to configure what players with that role can do in this area.


Requesting a Role
If you want a new role and don't have permission to give it to yourself, you will need to request a role using the button in the top right. Select the role you want and press confirm.
The player with role management for that area or for the server as a whole can then approve or deny your request.
Save File Transfer
The save files for the server are stored in a folder next to where the save files for the main game are.

The save file path is: C:\Users\UserName\AppData\LocalLow\Airstrafe Interactive\Saleblazers\Saves

In this folder, you will see sub folders for each account with save files. If you've played the main game on this computer, you will see a sub folder named as a bunch of numbers which is your Steam ID.

Once you launch the dedicated server, it will populate a sub folder for the save files from the server. This folder will either be another series of random numbers if you created a Steam Game Server account to log in with or a folder called AnonymousServerAccount if you did not.

The world save is called PersistentSave_FastSave and adds numbers for each subsequent save made.

If you would like to transfer your personal save onto the dedicated server or vice versa, just copy this file between your Steam ID save folder and the folder for the dedicated server. Make sure you don't overwrite any other files with the same number.

If you want to transfer PersistentSave_FastSave_1 for example, but you already have a file with that name in the target location, you can rename the file to PersistentSave_FastSave_2 or whatever number you don't already have.

As with any time you are messing with your save files, I always recommend making a manual backup by compressing the folder to zip before doing so.
This way you can revert to your previous files if you accidentally mess anything up.
Server Stability
Consider restarting your server every so often on a loose schedule to improve stability. You can configure a message reminder to let players know when this downtime will happen.

The server system should be stable overall but we will be monitoring any issues that come up during the initial testing phase of the server tool.

If there are any major instabilities, we will likely delist all dedicated servers from the lobby search for a short period so the issues can be resolved.
Public Lobby Setup Example
This example serves as a framework and checklist for players looking to host a public dedicated server. Following it should help ensure your server runs smoothly and has some baseline protections in place for players who join it.

Checklist:
  • Select a game mode
  • Configure lobby settings
  • Start the server
  • Suggestion: Block new connections to the server until you've finished configuring the game settings and permissions
  • Set the server max players
  • Configure the server messages text file
  • Start broadcasting server messages
  • Configure global default permissions
  • Configure area permission visibility and default permissions
  • Accept new connections

Select Game Mode: Custom

Name your custom game: PvP_Claims_RandStart

We'll give this server a descriptive name so people know what kind of server they're joining from the lobby search menu.

Select a Map: The Island

Selecting The Island as a custom map is recommended for public servers because it gets players into the sandbox part of the game right away, skipping the more linear prologue sequence and Pop Pop's introduction cutscene.

Password On? No
Hide From Server Search? No

Join Using Server Saved Characters? Yes

For this public server, we don't want players bringing in end game items and stacks of cash from their own worlds, so we're going to have everyone start on the server fresh.

How do you want to set up your game? Hardcore Unique and Unknown Adventure

For this public server, we want to have randomized map spawning, individual map discovery progress, and friendly fire, so we're going to select the hardcore adventure preset. Once we do, we'll have to select which game areas to randomize player spawning within.

Choose Spawnable Areas: Quarry | Grasslands | Bamboo Forest | Cherry Hill | Clearing | Crossroads | Shallows | Hillside | Highlands | Forest Clearing | Kazai Village Outskirts
We're going to select some areas on the western side of the map that are generally safer areas to spawn and traverse, with a couple more dangerous areas like the quarry thrown in to shake things up.


First, we're going to select Set Server Status and then Set Accept New Connections to Deny, preventing anyone from joining the server until we change it back. This will give us time to configure the rest of our server settings before anyone joins.


Next, we're going to launch the server by selecting Start_Game.


From the Game Menu, we're going to select Server_SetMaxPlayers.

Enter max player count (1 ~ 20): 20
We want as many people as possible in this public server.
Note: Functionality for player counts above 8 is temporarily bugged. This functionality will be restored as soon as possible.

Next, we're going to set up our server messages.
We open up the server messages file located at:
C:\Users{UserName}\AppData\LocalLow\AirstrafeInteractive\Saleblazers\Saves\ServerMessages.txt
We're going to leave the settings for the Welcome Message and just edit the contents, It will look like this once we're done.


After changing that message, we're going to add a chat message and a popup message that will repeat periodically while players are in the server to remind them of the server info. The final text file will look like this.


Once the text file is saved, we need to run Refresh Server Messages to load those new messages into the server.
Then we select Broadcast Server Messages and Start Broadcasting and select each of our messages one at a time. We will have to rebroadcast these messages if we ever shut down and reopen the server.


Now, when a player joins our server, they will see this message.

And they will see these messages every 90 seconds and every 20 minutes, respectively.

Next we're going to set up the permissions for the server. Select Server_Admin from the game menu.

We'll start with the Default Global Permissions.


We're going to keep most of the default settings, except we're going to turn on a 60 second timer for teleportation to slow down some map movement and reduce loading on the server from constant teleportation. We're also going to ban map and world pinging so we don't get spammed with 20 players constantly pinging.


The Default Area Permissions are mostly good as is for our purposes. We want players to be able to claim areas and turn them into bases where they know that no one else can steal or destroy their items. However, we do want to hide the option to disable friendly fire in claimed areas as this is a hardcore PvP server.

With our permissions ready to go, we're ready to open up the server. We'll select Set Server Status again and this time setting Set Accept New Connections to Accept.

Private Lobby Setup Example
This example serves as a framework and checklist for players looking to host a private dedicated server for their friends.

Checklist:
  • Select a game mode
  • Configure lobby settings
  • Start the server
  • Disable permissions

Select Game Mode: Campaign

Name your campaign: My_Clan_Server

Skip Prologue? No

Selecting Campaign and playing through the prologue will start a new game from the intended tutorial area so everyone playing can become familiar with the game. You can of course skip the prologue if your group is already familiar with the game or wants to get directly into the sandbox.

Password On? Yes
Hide From Server Search? No

Turning on a password will keep out unknown players. If you want to have your friends join using your server's IP address, you can also hide the server from the lobby search, which will be even more secure.

Join Using Server Saved Characters? No

For this private server we want to let our friends join with their normal characters so they can continue to progress their character level and gear on their own saves as well.

How do you want to set up your game? Traditional Saleblazers Experience



We can now launch the server by selecting Start_Game.

Next we're going to disable permissions for the server. We want this server to just be a persistent version of the normal game. Select Server_Admin from the game menu.

We'll start with the Global Permissions.


Then we'll do the same for the Area Permissions.

Now we're all set to join the server with our friends and have a great time!
Area Permission Example
In this example, we're going to outline what it looks like to claim and configure an area. This will be most commonly used by players joining a public dedicated server that uses area permission controls.

The area permissions briefcase is the primary one we'll be using as a player in this server. But if we don't have permission to claim an area yet, we'll need to activate the server briefcase first and request a role that has claim permissions.

Once we've secured our area claim permissions, the next step is finding an area we want to claim.
In this case, we've found a nice spot in the grasslands north of Bellstalker Mountain to build our base.




Here we can activate the area permissions case and set ourselves as the owner of this area.





By default, we are now the only ones who can interact with items and build things in this area. Although, the server owner has control over what these default permissions are so be sure to check the rules for your server.

We can now make our own set of roles for our area using the Permissions tab.



I'm going to make two roles, one for visitors who I might want to trade items with and one for my friends who I want to build a base with here.



Once our roles are set up, we can now assign players to the roles and field requests.

My friend is going to come to the area and activate their briefcase. From their permissions menu they request the clanmate role.
On my area briefcase I can view and approve this request. Now they can help me build my base! But they don't have permission to change the roles of other players in the area.

Favorite Server
Users can select the heart button in the Join Game lobby browser to "favorite" a dedicated server. This will keep the current server hosted by that user at the top of the player's lobby list.



Note that favoriting a server is more like favoriting a server host. If they rehost a server with a slightly different configuration, that new server will still be a favorite.
Headless Server Machine
Skip this section if you are hosting on a non headless machine

For those of you who are running the dedicated server in a headless server machine, you may not be able to see this interactive console window. We provided 2 ways for you to set up and run your dedicated server.

Method 1: Launch server in headless mode and load from configuration file

To launch the server in headless mode, use the following launch arguments

-headless
-config <ConfigJSONFilePath>

So the final command to run the server in headless mode will look something like:

./Salebalzers.exe -headless -config “C:\Users\MyUser\AppData\LocalLow\Airstrafe Interactive\Saleblazers\DedicatedServerConfig.json”

Method 2: Launch server normally and connect to it remotely using named pipes

Our interactive console uses Windows Inter Process Communication provided by named pipes. By default we kick start the pipe communication automatically. To aid headless server users, we are exposing a manual way to start the named pipe. It’s mostly straightforward.


Pre Setup Checklist

Before you proceed, please make sure your setup environment meets the following conditions

  1. You have another Windows machine with graphics capabilities
  2. That machine is connected to the same network as your headless server machine
  3. You have admin privileges on both machines
  4. You are allowed to alter firewall rules and network sharing settings on both machines


Step 1: Setup firewall rules

Named pipe IPC requires SMB(Server Message Block) port to be opened up. In most cases the port number is 445. You need to open up this port on TCP layer in both your firewall InBound and OutBound rules. To do this in windows command prompt, run the following commands:

> netsh advfirewall firewall add rule name="Allow SMB Inbound" dir=in action=allow protocol=TCP localport=445
> netsh advfirewall firewall add rule name="Allow SMB Outbound" dir=out action=allow protocol=TCP localport=445


You can then verify rule status by:

> netsh advfirewall firewall show rule name="Allow SMB Inbound"
> netsh advfirewall firewall show rule name="Allow SMB Outbound"


If firewall rules are not setup properly before you attempt to connect, you will get stuck “Connecting to Server”.


Step 2: Configure network sharing settings

First you need to enable File and Printer Sharing, you can do this by entering the following command in Windows Command Prompt

> netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

Second you need disable Password Protected Sharing, you can do this by running

> NET USER Guest /ACTIVE:YES


Step 3: Run the dedicated server console app on your other machine

On your other machine, navigate to dedicated server console app directory, by default is

steamapps\common\Saleblazers Dedicated Server\Default\Saleblazers_Data\StreamingAssets\DedicatedServerConsole

And then you can run the application with pipename argument:

> ./DedicatedServerConsole.exe -pipename <CustomPipeName>

Parameters:
  • CustomPipeName: An arbitrary name you give it, you will use the same name to connect to it on your other machine

Wait till you see this repeating message:
“Waiting for Main Game Connection...”

Step 4: Run the main game on server machine

On your server machine, navigate to your dedicated server base game installation directory and run the game with 1 argument

./Salebalzers.exe -pipeip <IPAddress> -pipename <CustomPipeName>

Parameters:
  • IPAddress: the internal network IPv4 address of the machine that’s running the console window, for example “192.168.1.30” or default "." for local machine ip
  • CustomPipeName: The same arbitrary name you gave it in step 3

If you did all the configurations correctly, the console window will display the port selection

ATTENTION: If a connection attempt is made but the attempt is blocked by password protected sharing or other exception causing the console to shut down, you need to restart the base game as well before making a second connection attempt. Same applies if you accidentally closed the console while server is running
Planned Features
These are additional features we're working on for dedicated servers that we will be adding to the tool soon. As we get feedback from you all we will update this with new features that are in progress.

If you have suggestions for new features for the dedicated server tool, please let us know on the Steam forums or in our Discord in the dedicated-server-feedback-forums channel.

  • Configuring decay rate for area claims so server hosts can adjust how long claims last
  • Allowing server hosts to set the server to pause when no users are connected
  • Vacation setting for employees to not simulate or take payment while no one is in the server
  • Setting to always allow access to your own death box, regardless of global or area permissions
  • Option to turn of or adjust the cost of Telemed Totem Rebirth
  • Option for server settings configurations to be saved and loaded from a file
  • Setting up player to player trading posts
  • Settings for automatically acquiring certain global roles after an amount of playtime or resources paid
Known Issues
These are some known bugs specific to dedicated servers.
We will update this list as things are reported and fixed.

  1. Currently player counts above 8 are only working when a player has already joined the lobby and then the lobby count is updated.
  2. Sometimes when one player receives a notification such as being dehydrated, other players on the server will receive that notification as well.
  3. Sometimes if the server host delays for a long time (1 hour or more) between starting a lobby and selecting start game, the server will have to be restarted.
  4. The favorite icon on the lobby browser can sometimes clip with other UI elements.
  5. The server text log in the console does not handle all color tags from the main game at the moment.
  6. The server is sometimes not creating the save folder properly on first launch, if this happens to you, please create a folder called AnonymousServerAccount in the directory C:\Users\UserName\AppData\LocalLow\Airstrafe Interactive\Saleblazers\Saves and choose anonymous when logging on to the server console.
Appendix A: Config Example File
{ "LoginConfig": { "HostingPort": 27015, "bAnonymousAccount": true, "GSLT": "" }, "AdminConfig": { "AdminSteamIDs": [] }, "LobbyConfig": { "HostOptions": {}, "SerializedOptions": { "Options": [ { "Key": "Lobby_Mode", "Value": "1" }, { "Key": "Lobby_Save", "Value": "21" }, { "Key": "Lobby_Name", "Value": "Test" }, { "Key": "Lobby_Map", "Value": "2" }, { "Key": "Lobby_Password", "Value": "" }, { "Key": "Lobby_SaveName", "Value": "New Normal World" }, { "Key": "Lobby_Capacity", "Value": "8" }, { "Key": "Lobby_FriendlyFire", "Value": "False" }, { "Key": "Lobby_PermissionsActive", "Value": "False" }, { "Key": "Lobby_CloudCharacters", "Value": "False" }, { "Key": "Lobby_NoDeathboxDrop", "Value": "False" }, { "Key": "Lobby_PacifistMode", "Value": "False" }, { "Key": "Lobby_EnemyDamageMod", "Value": "1" }, { "Key": "Lobby_PlayerDamageMod", "Value": "1" }, { "Key": "Lobby_HitStunModifier", "Value": "2.25" }, { "Key": "Lobby_ItemDensityMod", "Value": "0.5" }, { "Key": "Lobby_PlayerXPGainMod", "Value": "1" }, { "Key": "Lobby_TotemUnlockMod", "Value": "1" }, { "Key": "Lobby_RebirthCostMod", "Value": "0.2" }, { "Key": "Lobby_LocalMapDiscovery", "Value": "False" }, { "Key": "Lobby_PeacefulNight", "Value": "False" }, { "Key": "Lobby_InvincibleShop", "Value": "False" }, { "Key": "Lobby_ShopDifficulty", "Value": "1" }, { "Key": "Lobby_ShopXPGainMod", "Value": "1" }, { "Key": "Lobby_CustomerBudgetMod", "Value": "1" }, { "Key": "Lobby_CustomerNeedMod", "Value": "1" }, { "Key": "Lobby_CustomerRatingMod", "Value": "1" }, { "Key": "Lobby_HungerThirstRateMod", "Value": "1" }, { "Key": "Lobby_LethalHungerThirst", "Value": "False" }, { "Key": "Lobby_LethalCold", "Value": "False" }, { "Key": "Lobby_BuildingIntegrity", "Value": "True" }, { "Key": "Lobby_ResearchCost", "Value": "1" }, { "Key": "Lobby_ItemDurability", "Value": "True" }, { "Key": "Lobby_ArmorDurability", "Value": "True" }, { "Key": "Lobby_RandomPlayerSpawning", "Value": "0" }, { "Key": "Lobby_Difficulty", "Value": "2" }, { "Key": "Lobby_InvasionMode", "Value": "0" }, { "Key": "Lobby_Main", "Value": "True" }, { "Key": "Lobby_Friends", "Value": "False" }, { "Key": "Lobby_Version", "Value": "EDITOR" }, { "Key": "Lobby_LowerVersionBound", "Value": "v0.14.9.7" }, { "Key": "Lobby_UpperVersionBound", "Value": "v0.14.9.75" }, { "Key": "Lobby_Address", "Value": "90268932146419725" }, { "Key": "Lobby_Host", "Value": "90268932146419725" }, { "Key": "Lobby_HostName", "Value": "Dedicated Server" }, { "Key": "Lobby_DedicatedServer", "Value": "True" } ] }, "AutoSaveIntervalSeconds": 600, "bAdvertiseServer": true }, "GlobalPermissionConfig": { "DefaulPermissions": { "bCanManagePermissions": true, "bCanManageAssignments": true, "bCanKick": true, "bCanBan": true, "bCanUnBan": true, "bCanManageAreas": true, "bCanClaimAreas": true, "bBanTotemTeleportation": false, "totemTeleportationCooldown": 0, "bannedCraftStations": 0, "bBanMapPing": false, "bBanWorldPing": false }, "bOverrideControllability": false, "ControllablePermissions": [] }, "AreaPermissionConfig": { "DefaulPermissions": { "bCanManagePermissions": true, "bCanManageAssignments": true, "bCanInteract": true, "bCanPickup": true, "bCanPlace": true, "bCanBuild": true, "bCanDismantle": true, "bCanAccessContainer": true, "bCanFastTravel": true, "bCanThrow": true, "bCanDamagePlayer": true, "bCanDamageAI": true, "bCanDamageItem": true, "bCanDamageShop": true, "shopManagementLevel": 5 }, "bOverrideControllability": false, "ControllablePermissions": [] }, "MessageConfig": { "AutoBroadcastMessages": [ "Welcome Message" ] } }
Appendix B: Data Values and Information
All available game zones for randomized player spawning configuration

  • Desert
  • Desert Mountains
  • Meteor
  • River Upstream
  • Snow Cave
  • Ambrosia's Camp
  • Quarry
  • Kazai Castle
  • Kazai Mountains
  • Skull Camp Major Outpost
  • Wetlands
  • McQuillan Ranch
  • Bellstalker Mountain
  • The South Coast
  • New Bedstone Village
  • Rally Outpost
  • The North Coast
  • Southern Snow Shop Plot
  • Golf Course
  • Snow Shop Plot
  • Shepherd's Summit
  • Snowville Outskirts
  • Ruined Shepherd
  • Grasslands
  • Bedstone Winery
  • Apex Forest
  • Zena's Stronghold
  • Invasion Island
  • Bamboo Forest
  • Trenches
  • Cherry Hill
  • Stronghold
  • Shepherd Ruins
  • Clearing
  • Crossroads
  • Shallows
  • Kazai Village
  • Bellstalker Mountain Peak
  • Deep Screaming Swamp
  • Screaming Swamp
  • Barry's Bazaar
  • Snowville
  • Hillside
  • Aiden's House
  • Razor Claw Bay
  • Dojo Shop Plot
  • Kazai Castle Settlement
  • Highlands
  • Skull Coast
  • Decommissioned Shop Plot
  • Deciduous Forest
  • Shepherd Delta Golf Club
  • Pop Pop’s Shop Plot
  • Pop Pop’s House
  • Cole’s Cart Store
  • Forest Clearing
  • Smithrock Shop Plot
  • Kazai Village Outskirts
  • Big Box Booms
  • Skull Coast Forward Outpost
  • Hillside Shop Plot
  • Ruins Overlook Outpost

Shop Management Level Privilege Details

Position
Inside Shop Interact
Open/Close Shop (w/ Auto)
Shop Container Access
Toggle Policies/Specialties
Assign/Setup Employees
Visitor
N
N
N
N
N
Staff
Y
N
N
N
N
Senior Staff
Y
Y
Y
N
N
Manager
Y
Y
Y
Y
Y
Senior Manager
Y
Y
Y
Y
Y
Owner
Y
Y
Y
Y
Y

Position
Unlock Policies/Employees
Hire/Fire/Train Employee
Vault Access
Rename Shop
Visitor
N
N
N
N
Staff
N
N
N
N
Senior Staff
N
N
N
N
Manager
N
N
N
N
Senior Manager
Y
Y
N
N
Owner
Y
Y
Y
Y


Banned Crafting Flags Configuration

The craft flag is an integer flag composed of the following bits


PlayerCrafting = 1 << 0,
CraftingTable = 1 << 1,
BuildingBlueprint = 1 << 2,
Furnace = 1 << 3,
FarmingBlueprint = 1 << 4,
Bonfire = 1 << 5,
Sawmill = 1 << 6,
CharcoalKiln = 1 << 7,
SewingMachine = 1 << 8,
RecyclingMachine = 1 << 9,
Oven = 1 << 10,
BasicStove = 1 << 11,
ElectronicsLab = 1 << 12,
BasicWeaponForge = 1 << 13,
AdvancedWeaponForge = 1 << 14,
WineBarrel = 1 << 15,
CoffeeMachine = 1 << 16,
WoodenCrafting = 1 << 17,
StoneCrafting = 1 << 18,
CopperCrafting = 1 << 19,
IronCrafting = 1 << 20,
Cauldron = 1 << 21,
BobaMachine = 1 << 22

You can you an online tool like This one [www.bradgoodman.com] to create a hex value like “0x1822a8” and convert it to decimal and use that as the property value
9 Comments
super yeye 8 Oct @ 8:50pm 
我已经开放了全部端口,为什么每次启动服务端都会显示Auto Port Forwarding Failed! Please turn on UPnP on your router or manually forward required ports. Documentation can be found on Steam forum我使用的是云端服务器,没有条件进行路由器设置。
KrabKley 22 Apr @ 4:28am 
I'm trying to run on windows 2012 server and I don't understand what's wrong?

[22.04.2025 14:23:33] Starting server console window process...
[22.04.2025 14:23:33] Waiting for Hosting Port Selection...
[22.04.2025 14:23:33] Connected to Console Window!
[22.04.2025 14:23:34] Waiting for Hosting Port Selection...
[22.04.2025 14:23:35] Server hosted on port 27015
[22.04.2025 14:23:35] Game Version Compatibility Set to [v0.14.9.7] - [v0.14.9.75]
[22.04.2025 14:23:57] [[Error]] Steam Server Initialization Failed, Server will not run!
[22.04.2025 14:23:57] Game State Changed from Loading to InitializationFailure
[22.04.2025 14:23:57] Game Version Compatibility Set to [v0.14.9.7] - [v0.14.9.75]
[22.04.2025 14:24:32] Running Console Command SafeExit
[22.04.2025 14:24:32] Safe Exiting...
[22.04.2025 14:24:33] Detected Server quitting
Sister Fister 5 Mar @ 3:16am 
Is there any proton support or plans to create a unix executable?
DraconianStatue  [author] 3 Feb @ 9:42am 
@Julius Likes Men, Right now there is not a setting for individual main quest or research progress. But at least for research progress, that's something we're working on!
julius likes Men 3 Feb @ 9:40am 
Is there a Setting to not have everything shared through all players on the server? (research and quests)
(CH)Wobi 31 Jan @ 9:51pm 
Thanks for giving us this!:steamhappy:
Lexaay 31 Jan @ 3:20am 
Anyone else having issues finding the file "PersistentSave_FastSave" under %locallow\airstrafe interactive%?
Xiatang 29 Jan @ 3:14pm 
The server save issue was only discovered after the server rollback.
I saw "The game will also save automatically every 5 minutes," but it doesn't seem to have been executed (I checked the backup and it's definitely not there).
Only manual saves seem to work. However, the save is from our current progress, and I'm not sure if this is the reason the auto-save is not working, or if I missed something.
Maniax24 29 Jan @ 2:24pm 
I was getting nowhere with no errors just the option to quit,
This requires the target machine to have Steam installed even if your are not logged in.
After installing steam and troubleshooting i get the option to "Set_Logon" finally