ADD: initial commit

This commit is contained in:
maple 2024-10-25 19:27:29 +02:00
commit d0a12e3d14
Signed by: maple
GPG key ID: D21A3B3050EEF763
15 changed files with 1355 additions and 0 deletions

186
README.md Normal file
View file

@ -0,0 +1,186 @@
<div align="center">
<img src="https://raw.githubusercontent.com/owospace/spce.moe/master/logo.png" width="160" height="148">
<h1 align="center">DST-Template</h1>
<p align="center">
This contains configurations & setup for a Linux-based Don't Starve Together dedicated server.<br>
<a href="https://github.com/owospace/DST-Template#getting-started"><strong>Setup »</strong></a>
<br>
</p>
</div><br><br>
<div>
<h2>About DST-Template</h2>
DST-Template is a repository provided to help manage<br>
the configurations & setup files for the<br>
Don't Starve Together dedicated server.<br>
This will be used to make changes & keep track of the<br>
project in a more organised and managed fashion. You are<br>
more than welcome to fork this project to edit/refactor<br>
for your own usecase. (๑¯ω¯๑)<br>
</div><br><br>
<div>
<h2>Getting Started</h2>
To get the project installed, follow this simple guide.<br>
<h3>Prerequisites:</h3>
* [A Linux Host](https://www.debian.org/download)<br>
```
We used Debian in this instance.
https://www.debian.org/download
```
* [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Linux)<br>
```
We had to do some work arounds for adding multiverse (Ubuntu packages) to Debian.
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
```
* [A Klei Account with DST](https://accounts.klei.com/login)<br>
```
https://accounts.klei.com/login
```
<br>
<h3>Installation:</h3>
1. Install dependencies:<br>
```
sudo apt install libstdc++6 libgcc1 libcurl4-gnutls-dev wget git nano screen
```
2. Create & Setup a Server with Klei:<br>
```
Go to this page and sign in. (We used Steam in this instance)
https://accounts.klei.com/login
Go to the 'Games' tab at the top when signed in.
Go to 'Game Servers' under 'Don't Starve Together'
Click 'Add New Server' after entering a random cluster name (Note: Server name is determined by the cluster.ini file.)
Click configure under your new server. Then download said configuration.
```
3. Setup the server configuration:<br>
```
Move the 'MyDediServer.zip' file you downloaded to ~/.klei/DoNotStarveTogether/
Unzip the 'MyDediServer.zip' file into ~/.klei/DoNotStarveTogether/ (You should see a new folder)
```
4. Navigate to the home directory and install the Dedicated Server:<br>
```
Go to your home folder:
cd ~
Clone the 'install.sh' file:
wget https://raw.githubusercontent.com/owospace/DST-Template/master/src/install.sh
Mark the 'install.sh' file as executable:
chmod +x install.sh
Run the install.sh file:
./install.sh
This script will automatically download the Don't Starve Together server files.
```
5. Clone the DST-Template Repo:<br>
```
Clone this repo into the home folder. (~) (You should still be here.)
git clone https://github.com/owospace/DST-Template
```
6. Setup Workshop/Mods (OPTIONAL):<br>
```
Setup the workshop content
cp -R DST-Template/src/dontstarvetogether_dedicated_server/mods dontstarvetogether_dedicated_server/
Configure your workshop collection/mods (or feel free to use our own Collection!)
nano ~/dontstarvetogether_dedicated_server/mods/dedicated_server_mods_setup.lua
-- If using our collection, make sure to copy these two files to enable the mods.
cp DST-Template/src/.klei/DoNotStarveTogether/MyDediServer/Master/modoverrides.lua ~/.klei/DoNotStarveTogether/MyDediServer/Master
cp DST-Template/src/.klei/DoNotStarveTogether/MyDediServer/Master/modoverrides.lua ~/.klei/DoNotStarveTogether/MyDediServer/Caves
-- If using your own collection; you will also need to update another file:
nano ~/.klei/DoNotStarveTogether/MyDediServer/Master/modoverrides.lua
You will also need to copy this file to the caves instance:
cp ~/.klei/DoNotStarveTogether/MyDediServer/Master/modoverrides.lua ~/.klei/DoNotStarveTogether/MyDediServer/Caves/modoverrides.lua
```
7. Start your Don't Starve Together server:<br>
```
Clone the 'start.sh' script:
wget https://raw.githubusercontent.com/owospace/DST-Template/master/src/start.sh
Set the 'start.sh' script to be executable:
chmod +x start.sh
Run the server:
./start.sh
```
8. Updating your Don't Starve Together server:<br>
```
Clone the 'update.sh' script:
wget https://raw.githubusercontent.com/owospace/DST-Template/master/src/update.sh
Set the 'update.sh' script to be executable:
chmod +x start.sh
Update the server:
./update.sh
```
</div><br><br>
<div>
<h2>Roadmap & Updates</h2>
- [X] Impl a way for Workshop content to be cloned back when updating.
- [ ] Upload our bash scripts to this repo.
<p>Please see the <a href="https://github.com/owospace/DST-Template/issues">open issues</a> for a list of proposed features (as well as known issues).</p>
</div><br><br>
<div>
<h2>Contributing</h2>
<p>If you want to make a contribution, please fork the repository & create a pull request. If you have a suggestion you would want to see, you can <a href="https://github.com/owospace/DST-Template/issues/new">open a new issue</a> with your request.</p>
1. Fork the project<br>
2. Create your Feature Branch (`git checkout -b feature/YourFeature`)<br>
3. Commit changes (`git commit -m 'This is my feature commit.'`)<br>
4. Push to the Branch (`git push origin feature/YourFeature`)<br>
5. Open a Pull Request.
</div><br><br>
<div>
<h2>Contact & Support</h2>
* [biz(at)spce.moe](mailto:biz@spce.moe) - Send me mail<br>
* [GitHub (This Project)](https://github.com/owospace/DST-Template) - Project Link
</div><br><br>

View file

@ -0,0 +1,122 @@
return {
background_node_range={ 0, 1 },
custom_settings_desc="",
custom_settings_id="CUSTOM_TSUKIMI",
custom_settings_name="tsukimi",
custom_worldgen_desc="",
custom_worldgen_id="CUSTOM_TSUKIMI",
custom_worldgen_name="tsukimi",
desc="Delve into the caves... together!",
hideminimap=false,
id="DST_CAVE",
location="cave",
max_playlist_position=999,
min_playlist_position=0,
name="The Caves",
numrandom_set_pieces=0,
override_level_string=false,
overrides={
atriumgate="default",
banana="default",
bats="default",
bats_setting="default",
beefaloheat="default",
berrybush="default",
boons="default",
branching="default",
brightmarecreatures="default",
bunnymen="default",
bunnymen_setting="default",
cave_ponds="default",
cave_spiders="default",
cavelight="default",
chess="default",
crow_carnival="default",
day="default",
dropeverythingondespawn="default",
dustmoths="default",
earthquakes="default",
extrastartingitems="default",
fern="default",
fissure="default",
flint="default",
flower_cave="default",
flower_cave_regrowth="default",
fruitfly="default",
grass="default",
grassgekkos="default",
hallowed_nights="default",
krampus="default",
layout_mode="RestrictNodesByKey",
lichen="default",
liefs="default",
lightflier_flower_regrowth="default",
lightfliers="default",
loop="never",
marshbush="default",
merms="default",
molebats="default",
moles_setting="default",
monkey="default",
monkey_setting="default",
mushgnome="default",
mushroom="default",
mushtree="default",
mushtree_moon_regrowth="default",
mushtree_regrowth="default",
nightmarecreatures="default",
pigs_setting="often",
prefabswaps_start="default",
reeds="default",
regrowth="default",
roads="never",
rock="always",
rocky="always",
rocky_setting="often",
sapling="default",
season_start="default",
seasonalstartingitems="default",
shadowcreatures="default",
slurper="default",
slurtles="default",
slurtles_setting="default",
snurtles="default",
spawnprotection="default",
specialevent="default",
spider_dropper="default",
spider_hider="default",
spider_spitter="default",
spider_warriors="default",
spiderqueen="default",
spiders="default",
spiders_setting="default",
start_location="caves",
task_set="cave_default",
tentacles="default",
toadstool="default",
touchstone="default",
trees="default",
weather="default",
winters_feast="default",
world_size="huge",
wormattacks="default",
wormhole_prefab="tentacle_pillar",
wormlights="default",
worms="uncommon",
year_of_the_beefalo="enabled",
year_of_the_carrat="enabled",
year_of_the_catcoon="enabled",
year_of_the_gobbler="enabled",
year_of_the_pig="enabled",
year_of_the_varg="enabled"
},
required_prefabs={ "multiplayer_portal" },
settings_desc="Delve into the caves... together!",
settings_id="DST_CAVE",
settings_name="The Caves",
substitutes={ },
version=4,
worldgen_desc="Delve into the caves... together!",
worldgen_id="DST_CAVE",
worldgen_name="The Caves"
}

View file

@ -0,0 +1,295 @@
return {
["workshop-2324689937"]={ configuration_options={ }, enabled=true },
["workshop-1162476463"]={ configuration_options={ }, enabled=true },
["workshop-1207269058"]={ configuration_options={ }, enabled=true },
["workshop-1307899334"]={ configuration_options={ }, enabled=true },
["workshop-1402122582"]={ configuration_options={ mapSize=700 }, enabled=true },
["workshop-1432504104"]={
configuration_options={ diff="", language="en", skill=1, skillkey="KEY_V" },
enabled=true
},
["workshop-1505270912"]={
configuration_options={
[""]=0,
Hamlet=10,
Moon=10,
Moonshipwrecked=0,
Shipwrecked=10,
Shipwrecked_plus=true,
Shipwreckedworld_plus=true,
Together=20,
Volcano=true,
Waves=true,
anthill=1,
aporkalypse=true,
aquaticcreatures=true,
automatic_disembarkation=false,
boatlefthud=0,
cherryforest=10,
compactruins=false,
continentsize=2,
coralbiome=1,
enableallprefabs=false,
fillingthebiomes=4,
flood=10,
fog=10,
forge=1,
frost_island=10,
frost_islandworld=10,
gorgeisland=1,
hail=true,
hamlet_caves=1,
hamletcaves_hamletworld=1,
hamletcaves_shipwreckedworld=1,
hayfever=10,
housewallajust=0,
howmanyislands=22,
kindofworld=15,
kraken=1,
lilypad=1,
lobbyexit=false,
luajit=false,
mangrove=1,
megarandomCompatibilityWater=false,
octopusking=1,
pigcity1=15,
pigcity2=15,
pigruins=1,
pinacle=1,
raftlog=false,
removedark=false,
sealnado=true,
set_idioma="stringsEU",
shipgraveyard=1,
startlocation=5,
togethercaves_hamletworld=1,
togethercaves_shipwreckedworld=1,
tropicalshards=0,
underwater=true,
volcaniceruption=10,
whirlpools=true,
wind=10
},
enabled=true
},
["workshop-1528036214"]={ configuration_options={ }, enabled=true },
["workshop-1544453550"]={
configuration_options={
faithpositionh=0,
faithpositionv=-110,
sanae_health=120,
sanae_hunger=150,
sanae_lang=1,
sanae_sanity=300
},
enabled=true
},
["workshop-1593181898"]={
configuration_options={
["Crafting Recipe Options"]=0,
["Misc Options"]=0,
["Player Stat Options"]=0,
["Sanity Gain/Perish Time"]=0,
daintyhpbonus=1.5,
daintyhpselfbonus=1.5,
daintyhungerpenalty=1.25,
daintysanitypenalty=1.25,
daintyscarfperishtime=2,
daintyscarfrecipe=3,
daintyscarfsanity=1,
manualcastsanity=20,
raggerarmorpenalty=-0.25,
raggerbonus=1.25,
raggerperishtime=1,
raggerrecipe=3,
raggersanity=3,
ralgunuses=25,
ralhealerrecipe=3,
ralhealeruses=5,
ralmanualrecipe=3,
ralmanualuses=8,
ralscarfdurability=3,
ralscarfinsulation=0,
ralscarfrecipe=3,
ralscarfresistfire=1,
ralscarfresistice=1,
ralscarfresistthunder=1,
ralscarfsanity=0,
ralseibasehp=125,
ralseibasehunger=175,
ralseibasesanity=225,
ralseicasthealth=20,
ralseidamage=0.75,
ralseidaydrain=1,
ralseigun=2,
ralseigunenable=0,
ralseihatotherscanusemagic=1,
ralseihatperishtime=2,
ralseihatrecipe=3,
ralseihatsanity=1,
ralseihungerrate=1,
ralseimagicbonus=2,
ralseimime=1,
ralseinightdrain=0,
ralseinightvision=1,
ralseisanityaura=0.25,
ralseisanitydrain=1.25,
ralseisciencebonus=0,
ralseiselfhealth=10,
ralseiselfhunger=0,
ralseiselfsanity=20,
ralseispeed=1,
ralseistartinv=2
},
enabled=true
},
["workshop-1602267559"]={
configuration_options={
alter="noalter",
alterval=50,
craftable=true,
ignoreboss=true,
ignoredanger=true,
language="en",
spawncost=100,
usecost=999
},
enabled=true
},
["workshop-1839858501"]={ configuration_options={ ALLOWSKINS=true }, enabled=true },
["workshop-1951468597"]={
configuration_options={
CanSpawnSpore=true,
HouseHammered=true,
NewInteriors=true,
NewWalls=true,
Tardis=true
},
enabled=true
},
["workshop-2467616139"]={
configuration_options={ lang=0, nmdamage=50, nmdodge=0.5, strpower=1, strvision=0 },
enabled=true
},
["workshop-2565528744"]={ configuration_options={ isbrain=true, isexperimental=true }, enabled=true },
["workshop-2571294157"]={
configuration_options={
Key=0,
Recipe=0,
Stats=0,
aiming="KEY_R",
burst="KEY_X",
charge="KEY_F",
er=1,
hp=150,
lang=1,
skill="KEY_Z",
stella=true
},
enabled=true
},
["workshop-2589904748"]={
configuration_options={ OPTION_BEARGER_WARNING=0, OPTION_DEERCLOPS_WARNING=0, OPTION_HOUNDS_WARNING=0 },
enabled=true
},
["workshop-2850569432"]={ configuration_options={ }, enabled=true },
["workshop-364491382"]={ configuration_options={ }, enabled=true },
["workshop-375850593"]={ configuration_options={ }, enabled=true },
["workshop-466732225"]={ configuration_options={ }, enabled=true },
["workshop-614883197"]={
configuration_options={
BLUEAMULET_FUEL=5,
FIRESTAFF_USES=100,
GREENAMULET_USES=25,
GREENSTAFF_USES=25,
ICESTAFF_USES=100,
ORANGEAMULET_USES=1225,
ORANGESTAFF_USES=100,
PURPLEAMULET_FUEL=5,
REDAMULET_USES=100,
TELESTAFF_USES=25,
TORNADOSTAFF_USES=75,
YELLOWAMULET_FUEL=5,
YELLOWSTAFF_USES=100
},
enabled=true
},
["workshop-614883513"]={
configuration_options={
ARMORDRAGONFLY=4,
ARMORGRASS=2,
ARMORMARBLE=2,
ARMORMARBLE_SLOW=0,
ARMORRUINS=5,
ARMORSNURTLESHELL=4,
ARMORWOOD=2,
ARMOR_BEEHAT=3,
ARMOR_FOOTBALLHAT=3,
ARMOR_RUINSHAT=5,
ARMOR_SANITY=3,
ARMOR_SLURTLEHAT=5,
ARMOR_WATHGRITHRHAT=3,
SHIELDOFTERROR_ARMOR=5
},
enabled=true
},
["workshop-684041335"]={
configuration_options={
broom_damage=75,
destruction=0,
grenade_damage=200,
hakkero_damage=100,
hakkero_durability=200,
health=250,
hunger=150,
hunger_multi=2.5,
lang=1,
magic_broom_durability=1000,
marisavolume=0.3,
master_damage=600,
normal_broom_damage=30,
normal_broom_durability=200,
sanity=350,
speed_multi=1.75,
speed_multi1=1.25
},
enabled=true
},
["workshop-703758203"]={ configuration_options={ }, enabled=true },
["workshop-707433703"]={ configuration_options={ }, enabled=true },
["workshop-720221857"]={ configuration_options={ }, enabled=true },
["workshop-727171538"]={ configuration_options={ }, enabled=true },
["workshop-728459184"]={
configuration_options={
INCREASEBACKPACKSIZES_BACKPACK=10,
INCREASEBACKPACKSIZES_ICEPACK=10,
INCREASEBACKPACKSIZES_KRAMPUSSACK=18,
INCREASEBACKPACKSIZES_PIGGYBACK=14,
largerbundlecontainer=24,
largerchester=12,
largerdragonflychest=24,
largericebox=24,
largertreasurechest=24
},
enabled=true
},
["workshop-845691115"]={ configuration_options={ }, enabled=true },
["workshop-884395113"]={
configuration_options={ lan=1, power=1, system=0, vision=0, volume=0.2 },
enabled=true
},
["workshop-899583698"]={
configuration_options={
Dig=true,
GameMode=false,
Hammer=true,
Language=false,
Sound=false,
TotooriaAnim="totooria",
TotooriaSpeech=4,
UIHeight=120,
UIScale=0.75
},
enabled=true
}
}

View file

@ -0,0 +1,17 @@
[NETWORK]
server_port = 11001
[SHARD]
is_master = false
name = Caves
id = 453135617
[STEAM]
master_server_port = 27019
authentication_port = 8769
[ACCOUNT]
encode_user_path = true

View file

@ -0,0 +1,7 @@
KLEI 1 return {
override_enabled = true,
worldgen_preset = "DST_CAVE",
settings_preset = "DST_CAVE",
overrides = {
},
}

View file

@ -0,0 +1,212 @@
return {
custom_settings_desc="",
custom_settings_id="CUSTOM_TSUKIMI.BAR2",
custom_settings_name="tsukimi.bar2",
custom_worldgen_desc="",
custom_worldgen_id="CUSTOM_TSUKIMI.BAR2",
custom_worldgen_name="tsukimi.bar2",
desc="The standard Don't Starve experience.",
hideminimap=false,
id="SURVIVAL_TOGETHER",
location="forest",
max_playlist_position=999,
min_playlist_position=0,
name="Standard Forest",
numrandom_set_pieces=4,
override_level_string=false,
overrides={
alternatehunt="often",
angrybees="default",
antliontribute="rare",
autumn="longseason",
bananabush_portalrate="default",
bats_setting="default",
bearger="default",
beefalo="often",
beefaloheat="default",
beequeen="default",
bees="often",
bees_setting="often",
berrybush="often",
birds="default",
boons="default",
branching="most",
brightmarecreatures="default",
bunnymen_setting="default",
butterfly="default",
buzzard="default",
cactus="default",
cactus_regrowth="default",
carrot="often",
carrots_regrowth="fast",
catcoon="default",
catcoons="default",
chess="default",
cookiecutters="default",
crabking="default",
crow_carnival="enabled",
day="default",
deciduousmonster="default",
deciduoustree_regrowth="fast",
deerclops="often",
dragonfly="default",
dropeverythingondespawn="default",
evergreen_regrowth="fast",
extrastartingitems="default",
eyeofterror="default",
fishschools="default",
flint="often",
flowers="default",
flowers_regrowth="fast",
frograin="default",
frogs="default",
fruitfly="default",
gnarwail="default",
goosemoose="default",
grass="often",
grassgekkos="default",
hallowed_nights="enabled",
has_ocean=true,
hound_mounds="default",
houndmound="default",
hounds="default",
hunt="default",
keep_disconnected_tiles=true,
klaus="often",
krampus="default",
layout_mode="LinkNodesByKeys",
liefs="default",
lightcrab_portalrate="default",
lightning="default",
lightninggoat="default",
loop="never",
lureplants="default",
malbatross="default",
marshbush="default",
merm="default",
merms="default",
meteorshowers="default",
meteorspawner="default",
moles="default",
moles_setting="default",
monkeytail_portalrate="default",
moon_berrybush="default",
moon_bullkelp="default",
moon_carrot="default",
moon_fissure="default",
moon_fruitdragon="default",
moon_hotspring="default",
moon_rock="default",
moon_sapling="default",
moon_spider="default",
moon_spiders="default",
moon_starfish="default",
moon_tree="default",
moon_tree_regrowth="default",
mosquitos="default",
mushroom="default",
mutated_hounds="default",
no_joining_islands=true,
no_wormholes_to_disconnected_tiles=true,
ocean_bullkelp="default",
ocean_seastack="ocean_default",
ocean_shoal="default",
ocean_waterplant="ocean_default",
ocean_wobsterden="default",
palmcone_seed_portalrate="default",
palmconetree="default",
palmconetree_regrowth="default",
penguins="default",
penguins_moon="default",
perd="default",
petrification="few",
pigs="often",
pigs_setting="often",
pirateraids="default",
ponds="default",
portal_spawnrate="default",
powder_monkey_portalrate="default",
prefabswaps_start="default",
rabbits="often",
rabbits_setting="often",
reeds="default",
reeds_regrowth="fast",
regrowth="default",
roads="default",
rock="often",
rock_ice="often",
saltstack_regrowth="default",
sapling="default",
season_start="default",
seasonalstartingitems="default",
shadowcreatures="default",
sharks="default",
spawnprotection="default",
specialevent="default",
spider_warriors="default",
spiderqueen="default",
spiders="often",
spiders_setting="default",
spring="longseason",
squid="default",
start_location="default",
summer="default",
summerhounds="default",
tallbirds="often",
task_set="default",
tentacles="default",
terrariumchest="default",
touchstone="often",
trees="often",
tumbleweed="often",
twiggytrees_regrowth="default",
walrus="default",
walrus_setting="default",
wasps="default",
weather="default",
wildfires="default",
winter="default",
winterhounds="default",
winters_feast="enabled",
wobsters="default",
world_size="huge",
wormhole_prefab="wormhole",
year_of_the_beefalo="enabled",
year_of_the_carrat="enabled",
year_of_the_catcoon="enabled",
year_of_the_gobbler="enabled",
year_of_the_pig="enabled",
year_of_the_varg="enabled"
},
random_set_pieces={
"Sculptures_2",
"Sculptures_3",
"Sculptures_4",
"Sculptures_5",
"Chessy_1",
"Chessy_2",
"Chessy_3",
"Chessy_4",
"Chessy_5",
"Chessy_6",
"Maxwell1",
"Maxwell2",
"Maxwell3",
"Maxwell4",
"Maxwell6",
"Maxwell7",
"Warzone_1",
"Warzone_2",
"Warzone_3"
},
required_prefabs={ "multiplayer_portal" },
required_setpieces={ "Sculptures_1", "Maxwell5" },
settings_desc="The standard Don't Starve experience.",
settings_id="SURVIVAL_TOGETHER",
settings_name="Standard Forest",
substitutes={ },
version=4,
worldgen_desc="The standard Don't Starve experience.",
worldgen_id="SURVIVAL_TOGETHER",
worldgen_name="Standard Forest"
}

View file

@ -0,0 +1,295 @@
return {
["workshop-2324689937"]={ configuration_options={ }, enabled=true },
["workshop-1162476463"]={ configuration_options={ }, enabled=true },
["workshop-1207269058"]={ configuration_options={ }, enabled=true },
["workshop-1307899334"]={ configuration_options={ }, enabled=true },
["workshop-1402122582"]={ configuration_options={ mapSize=700 }, enabled=true },
["workshop-1432504104"]={
configuration_options={ diff="", language="en", skill=1, skillkey="KEY_V" },
enabled=true
},
["workshop-1505270912"]={
configuration_options={
[""]=0,
Hamlet=10,
Moon=10,
Moonshipwrecked=0,
Shipwrecked=10,
Shipwrecked_plus=true,
Shipwreckedworld_plus=true,
Together=20,
Volcano=true,
Waves=true,
anthill=1,
aporkalypse=true,
aquaticcreatures=true,
automatic_disembarkation=false,
boatlefthud=0,
cherryforest=10,
compactruins=false,
continentsize=2,
coralbiome=1,
enableallprefabs=false,
fillingthebiomes=4,
flood=10,
fog=10,
forge=1,
frost_island=10,
frost_islandworld=10,
gorgeisland=1,
hail=true,
hamlet_caves=1,
hamletcaves_hamletworld=1,
hamletcaves_shipwreckedworld=1,
hayfever=10,
housewallajust=0,
howmanyislands=22,
kindofworld=15,
kraken=1,
lilypad=1,
lobbyexit=false,
luajit=false,
mangrove=1,
megarandomCompatibilityWater=false,
octopusking=1,
pigcity1=15,
pigcity2=15,
pigruins=1,
pinacle=1,
raftlog=false,
removedark=false,
sealnado=true,
set_idioma="stringsEU",
shipgraveyard=1,
startlocation=5,
togethercaves_hamletworld=1,
togethercaves_shipwreckedworld=1,
tropicalshards=0,
underwater=true,
volcaniceruption=10,
whirlpools=true,
wind=10
},
enabled=true
},
["workshop-1528036214"]={ configuration_options={ }, enabled=true },
["workshop-1544453550"]={
configuration_options={
faithpositionh=0,
faithpositionv=-110,
sanae_health=120,
sanae_hunger=150,
sanae_lang=1,
sanae_sanity=300
},
enabled=true
},
["workshop-1593181898"]={
configuration_options={
["Crafting Recipe Options"]=0,
["Misc Options"]=0,
["Player Stat Options"]=0,
["Sanity Gain/Perish Time"]=0,
daintyhpbonus=1.5,
daintyhpselfbonus=1.5,
daintyhungerpenalty=1.25,
daintysanitypenalty=1.25,
daintyscarfperishtime=2,
daintyscarfrecipe=3,
daintyscarfsanity=1,
manualcastsanity=20,
raggerarmorpenalty=-0.25,
raggerbonus=1.25,
raggerperishtime=1,
raggerrecipe=3,
raggersanity=3,
ralgunuses=25,
ralhealerrecipe=3,
ralhealeruses=5,
ralmanualrecipe=3,
ralmanualuses=8,
ralscarfdurability=3,
ralscarfinsulation=0,
ralscarfrecipe=3,
ralscarfresistfire=1,
ralscarfresistice=1,
ralscarfresistthunder=1,
ralscarfsanity=0,
ralseibasehp=125,
ralseibasehunger=175,
ralseibasesanity=225,
ralseicasthealth=20,
ralseidamage=0.75,
ralseidaydrain=1,
ralseigun=2,
ralseigunenable=0,
ralseihatotherscanusemagic=1,
ralseihatperishtime=2,
ralseihatrecipe=3,
ralseihatsanity=1,
ralseihungerrate=1,
ralseimagicbonus=2,
ralseimime=1,
ralseinightdrain=0,
ralseinightvision=1,
ralseisanityaura=0.25,
ralseisanitydrain=1.25,
ralseisciencebonus=0,
ralseiselfhealth=10,
ralseiselfhunger=0,
ralseiselfsanity=20,
ralseispeed=1,
ralseistartinv=2
},
enabled=true
},
["workshop-1602267559"]={
configuration_options={
alter="noalter",
alterval=50,
craftable=true,
ignoreboss=true,
ignoredanger=true,
language="en",
spawncost=100,
usecost=999
},
enabled=true
},
["workshop-1839858501"]={ configuration_options={ ALLOWSKINS=true }, enabled=true },
["workshop-1951468597"]={
configuration_options={
CanSpawnSpore=true,
HouseHammered=true,
NewInteriors=true,
NewWalls=true,
Tardis=true
},
enabled=true
},
["workshop-2467616139"]={
configuration_options={ lang=0, nmdamage=50, nmdodge=0.5, strpower=1, strvision=0 },
enabled=true
},
["workshop-2565528744"]={ configuration_options={ isbrain=true, isexperimental=true }, enabled=true },
["workshop-2571294157"]={
configuration_options={
Key=0,
Recipe=0,
Stats=0,
aiming="KEY_R",
burst="KEY_X",
charge="KEY_F",
er=1,
hp=150,
lang=1,
skill="KEY_Z",
stella=true
},
enabled=true
},
["workshop-2589904748"]={
configuration_options={ OPTION_BEARGER_WARNING=0, OPTION_DEERCLOPS_WARNING=0, OPTION_HOUNDS_WARNING=0 },
enabled=true
},
["workshop-2850569432"]={ configuration_options={ }, enabled=true },
["workshop-364491382"]={ configuration_options={ }, enabled=true },
["workshop-375850593"]={ configuration_options={ }, enabled=true },
["workshop-466732225"]={ configuration_options={ }, enabled=true },
["workshop-614883197"]={
configuration_options={
BLUEAMULET_FUEL=5,
FIRESTAFF_USES=100,
GREENAMULET_USES=25,
GREENSTAFF_USES=25,
ICESTAFF_USES=100,
ORANGEAMULET_USES=1225,
ORANGESTAFF_USES=100,
PURPLEAMULET_FUEL=5,
REDAMULET_USES=100,
TELESTAFF_USES=25,
TORNADOSTAFF_USES=75,
YELLOWAMULET_FUEL=5,
YELLOWSTAFF_USES=100
},
enabled=true
},
["workshop-614883513"]={
configuration_options={
ARMORDRAGONFLY=4,
ARMORGRASS=2,
ARMORMARBLE=2,
ARMORMARBLE_SLOW=0,
ARMORRUINS=5,
ARMORSNURTLESHELL=4,
ARMORWOOD=2,
ARMOR_BEEHAT=3,
ARMOR_FOOTBALLHAT=3,
ARMOR_RUINSHAT=5,
ARMOR_SANITY=3,
ARMOR_SLURTLEHAT=5,
ARMOR_WATHGRITHRHAT=3,
SHIELDOFTERROR_ARMOR=5
},
enabled=true
},
["workshop-684041335"]={
configuration_options={
broom_damage=75,
destruction=0,
grenade_damage=200,
hakkero_damage=100,
hakkero_durability=200,
health=250,
hunger=150,
hunger_multi=2.5,
lang=1,
magic_broom_durability=1000,
marisavolume=0.3,
master_damage=600,
normal_broom_damage=30,
normal_broom_durability=200,
sanity=350,
speed_multi=1.75,
speed_multi1=1.25
},
enabled=true
},
["workshop-703758203"]={ configuration_options={ }, enabled=true },
["workshop-707433703"]={ configuration_options={ }, enabled=true },
["workshop-720221857"]={ configuration_options={ }, enabled=true },
["workshop-727171538"]={ configuration_options={ }, enabled=true },
["workshop-728459184"]={
configuration_options={
INCREASEBACKPACKSIZES_BACKPACK=10,
INCREASEBACKPACKSIZES_ICEPACK=10,
INCREASEBACKPACKSIZES_KRAMPUSSACK=18,
INCREASEBACKPACKSIZES_PIGGYBACK=14,
largerbundlecontainer=24,
largerchester=12,
largerdragonflychest=24,
largericebox=24,
largertreasurechest=24
},
enabled=true
},
["workshop-845691115"]={ configuration_options={ }, enabled=true },
["workshop-884395113"]={
configuration_options={ lan=1, power=1, system=0, vision=0, volume=0.2 },
enabled=true
},
["workshop-899583698"]={
configuration_options={
Dig=true,
GameMode=false,
Hammer=true,
Language=false,
Sound=false,
TotooriaAnim="totooria",
TotooriaSpeech=4,
UIHeight=120,
UIScale=0.75
},
enabled=true
}
}

View file

@ -0,0 +1,15 @@
[NETWORK]
server_port = 11000
[SHARD]
is_master = true
[STEAM]
master_server_port = 27018
authentication_port = 8768
[ACCOUNT]
encode_user_path = true

View file

@ -0,0 +1 @@
KU_xxxxxxxx

View file

@ -0,0 +1,22 @@
[GAMEPLAY]
game_mode = survival
max_players = 8
pvp = false
pause_when_empty = true
[NETWORK]
cluster_description = Sample Description
cluster_name = Sample Name
cluster_intention = social
cluster_password = redacted
[MISC]
console_enabled = true
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10889
cluster_key = redacted

View file

@ -0,0 +1 @@
YourClusterTokenHere

View file

@ -0,0 +1,13 @@
--There are two functions that will install mods, --ServerModSetup and ServerModCollectionSetup. Put the calls to the functions in this file and they will be executed on boot.
----ServerModSetup takes a string of a specific mod's Workshop id. It will download and install the mod to your mod directory on boot.
--The Workshop id can be found at the end of the url to the mod's Workshop page.
--Example: http://steamcommunity.com/sharedfiles/filedetails/?id=350811795
----ServerModSetup("350811795")
--ServerModCollectionSetup takes a string of a specific mod's Workshop id. It will download all the mods in the collection and install them to the mod directory on boot.
--The Workshop id can be found at the end of the url to the collection's Workshop page.
--Example: http://steamcommunity.com/sharedfiles/filedetails/?id=379114180
--ServerModCollectionSetup("379114180")
ServerModCollectionSetup("2850542252") -- Tsukimi.Bar Server Files

42
src/run_dedicated.sh Normal file
View file

@ -0,0 +1,42 @@
#!/bin/bash
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"
function fail()
{
echo Error: "$@" >&2
exit 1
}
function check_for_file()
{
if [ ! -e "$1" ]; then
fail "Missing file: $1"
fi
}
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
##
# Uncomment in order to update the Don't Starve Server.
# This is disabled due to Steam validating the mods directory, resulting in a reset (so mods don't work).
##
# steamcmd +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
check_for_file "$install_dir/bin64"
cd "$install_dir/bin64" || fail
run_shared=(./dontstarve_dedicated_server_nullrenderer_x64)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)
"${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' &
"${run_shared[@]}" -shard Master | sed 's/^/Master: /'

55
src/start.sh Normal file
View file

@ -0,0 +1,55 @@
#!/bin/bash
##
# -- Configuration
# Usually, the defaults are fine. But
# you are welcome to change these as you see fit.
#
# Please avoid editing anything after this segment.
# Unless you *know what you are doing*
##
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"
##
# Function calls (provided by Klei themselves) <3
##
function fail()
{
echo Error: "$@" >&2
exit 1
}
function check_for_file()
{
if [ ! -e "$1" ]; then
fail "Missing file: $1"
fi
}
##
# Validation Process (in case of misconfiguration)
##
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
check_for_file "$install_dir/bin64"
cd "$install_dir/bin64" || fail
##
# Run the server.
##
screen -d -m -S master ./dontstarve_dedicated_server_nullrenderer_x64 -cluster $CLUSTER_NAME -shard Master
screen -d -m -S caves ./dontstarve_dedicated_server_nullrenderer_x64 -cluster $CLUSTER_NAME -shard Caves

72
src/update.sh Normal file
View file

@ -0,0 +1,72 @@
#!/bin/bash
##
# -- Install Directory
# This will be the directory which contains your dedicated server.
#
# As such, will contain folders such as 'bin', 'bin64', 'data', 'steamapps' and so forth.
##
install_dir="$HOME/dontstarvetogether_dedicated_server"
##
# Function calls (provided by Klei themselves) <3
##
function fail()
{
echo Error: "$@" >&2
exit 1
}
function chkIntegrity()
{
if [ ! -e "$1" ]; then
fail "Missing file: $1"
fi
}
##
# Validate that the 'install_dir' is set correctly.
##
chkIntegrity "$install_dir/bin64"
cd "$install_dir/bin64" || fail
##
# Copy the workshop content file.
# Why do we do this? An explanation below...
#
# When updating & validating the server, the 'dedicated_server_mods_setup.lua'
# file will be reverted to defaults (meaning it will be empty).
# Therefore, these workshop mods will not be enabled/added when starting a
# newly updated server. This *hopefully* fixes that.
##
cp "$install_dir/mods/dedicated_server_mods_setup.lua" "$HOME/dedicated_mods_backup.lua"
##
# Update the Don't Starve Together Dedicated Server
# This will also validate the files automatically.
##
steamcmd +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
##
# Re-enable the Workshop Content.
# (see above for more details)
##
mv "$HOME/dedicated_mods_backup.lua" "$install_dir/mods/dedicated_server_mods_setup.lua"