2015.11.25 수정 사항
- worldgenoverride.lua 파일 수정
다음의 내용은 http://la-nube.tistory.com/111 및 http://cafe.naver.com/babmukda/67002 에서
생략한 내용을 다루고 있으며, 중급자 이상을 위한 것입니다.
데디케이티드 서버(Dedicated Server) 만들기를 통해
서버를 성공적으로 구축한 경우에만 따라하시기 바랍니다.
http://la-nube.tistory.com/111
7번을 제외하고는 1번~6번 중에 필요한 부분만 적용해도 괜찮습니다.
예를 들어, 1번 내용만 써도 상관없으며, 2번과 4번만 사용해도 괜찮습니다.
1. 바로가기를 이용하여 서버 실행하기
스팀 라이브러리 → 도구 → Don't Starve Together Dedicated Server 우클릭 → 속성 → 로컬 파일 탭 → 로컬 컨텐츠 폴더 보기 ... 를 클릭합니다.
로컬 컨텐츠 폴더가 나올 것입니다. 그 중 bin 폴더로 들어갑니다.
dontstarve_dedicated_server_nullrenderer.exe의 바로가기를 바탕화면에 만들어 줍니다.
(우클릭 - 보내기 - 바탕화면에 바로가기 만들기)
바로가기 2개를 만들어 이름을 DST_Overworld나 DST_Caves 등으로 바꾸어 줍니다.
지상서버로 연결할 바로가기를 우클릭 - 속성으로 들어가 대상(T)에 다음과 같이 시작옵션을 부여합니다.
"~~dontstarve_dedicated_server_nullrenderer.exe" 다음에 한 칸을 띄우고,
-backup_logs -console -conf_dir DoNotStarveTogether_EasyConfigOverworld 를 넣어 줍니다.
동굴서버로 연결할 바로가기를 우클릭 - 속성으로 들어가 대상(T)에 다음과 같이 시작옵션을 부여합니다.
"~~dontstarve_dedicated_server_nullrenderer.exe" 다음에 한 칸을 띄우고,
-backup_logs -console -conf_dir DoNotStarveTogether_EasyConfigCaves 를 넣어 줍니다.
위에서 만든 파일을 복사-붙여넣기 해야 합니다.
문서\Klei\DoNotStarveTogether_EasyConfigOverworld\save 에 있는
문서\Klei\DoNotStarveTogether_EasyConfigCaves\save 의 경로에
복사-붙여넣기 합니다.
3-1. 지상서버의 settings.ini 세부 설정 더 추가하기
tick_rate = 10
선택할 수 있는 값은 10, 15, 30, 60 이 있습니다.
서버 성능을 올리기 위해 제일 낮은 10으로 설정합니다.
(경고) 다음의 내용들은 이미 기본값으로 설정되어 있으므로,
반드시 필요한 경우에만 추가해야 합니다.
불필요한 경우, 예기치 못한 오류가 발생할 수 있습니다.
지상서버의 [MISC] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
지상서버의 [network] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
whitelist_slot = 0
whitelist_slot 의 최대값은 max_player 이며, 화이트리스트가 아닌 유저들은
max_player 에서 whitelist_slot 을 뺀 숫자만큼만 입장 가능합니다.
화이트리스트는 whitelist.txt 이며, adminlist.txt와 blocklist.txt와 같은 경로에 있어야 합니다.
기본값은 true 입니다.
기본값은 false 입니다.
기본값은 10999 입니다.
기본값은 위는 빈칸, 아래는 false 입니다.
기본값은 false 입니다.
지상서버의 [shard] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
master_port = 10888
지상서버와 동굴서버를 연결하는 포트입니다.
하나의 PC에서 돌리는 경우에는 불필요합니다.
다만, 2대의 PC에서 지상과 동굴서버를 각각 열어 서로 연결하는 경우에는
지상서버를 여는 PC에서 10888 포트에 대하여 포트포워딩이 필요합니다.
공유기나 사설방화벽이 없다면 불필요합니다.
자동으로 설정되어 있기 때문에, 변경하지 않을 것을 권장합니다.
bind_ip = 127.0.0.1 또는 0.0.0.0
하나의 PC에서 돌리는 경우에 127.0.0.1 로 기본 설정되어 있습니다.
다만, 2대의 PC에서 지상과 동굴서버를 각각 열어 연결하는 경우에는
위 설정에서 127.0.0.1 을 0.0.0.0 으로 변경해야 합니다.
3-2. 동굴서버의 settings.ini 세부 설정 더 추가하기
동굴서버의 [network] 부분에서 거의 필수로 해야 하는 설정은 다음과 같습니다.
tick_rate = 10
선택할 수 있는 값은 10, 15, 30, 60 이 있습니다.
서버 성능을 올리기 위해 제일 낮은 10으로 설정합니다.
(경고) 다음의 내용들은 이미 기본값으로 설정되어 있으므로,
반드시 필요한 경우에만 추가해야 합니다.
불필요한 경우, 예기치 못한 오류가 발생할 수 있습니다.동굴서버의 [network] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
whitelist_slot = 0
whitelist_slot 의 최대값은 max_player 이며, 화이트리스트가 아닌 유저들은
max_player 에서 whitelist_slot 을 뺀 숫자만큼만 입장 가능합니다.
화이트리스트는 whitelist.txt 이며, adminlist.txt와 blocklist.txt와 같은 경로에 있어야 합니다.
기본값은 true 입니다.
기본값은 11000 입니다.
동굴서버의 [account] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
기본값은 false 입니다.
동굴서버의 [shard] 부분에서 추가할 수 있는 내용은 다음과 같습니다.
master_port = 10888
지상서버와 동굴서버를 연결하는 포트입니다.
하나의 PC에서 돌리는 경우에는 불필요합니다.
다만, 2대의 PC에서 지상과 동굴서버를 각각 열어 서로 연결하는 경우에는
지상서버를 여는 PC에서 지정한 포트번호를 입력해야 합니다.
자동으로 설정되어 있기 때문에, 변경하지 않을 것을 권장합니다.
master_ip = 127.0.0.1 또는 외부IP
하나의 PC에서 돌리는 경우에 127.0.0.1 로 기본 설정되어 있습니다.
다만, 2대의 PC에서 지상과 동굴서버를 각각 열어 연결하는 경우에는
지상서버를 여는 PC의 실제 외부IP를 입력하여야 합니다.
다음의 내용은 전혀 필요하지 않습니다.
데디케이티드 서버는 들어오는 연결의 포트가 닫혀 있다면,
자동으로 스팀P2P 방식으로 연결이 전환됩니다.
다만, 스팀P2P 방식은 연결이 불안정한 단점이 있습니다.
그래서 중급자 버전에서는 스팀P2P 방식보다는
포트포워딩을 통해 직접 연결하는 방식을 선호합니다.
공유기나 사설방화벽을 사용하는 경우에는
다만, 공유기 사용자의 경우에는 자신이 만든 데디케이티드 서버로 들어가기 위해서는
공유기가 없다면, 서버목록의 Online에서 바로 입장이 가능합니다.
5. modoverrides.lua에 모드 세부설정 넣기
초급자 버전에서 모드를 제대로 적용하였다면, 다음의 예시처럼 되어 있을 것입니다.
modoverrides.lua 파일을 메모장으로 열어 보았습니다.
return {
--Wormhole Marks
["workshop-362175979"] = { enabled = true },
--Health Info
["workshop-375859599"] = { enabled = true },
--Global Player Icons
["workshop-373991022"] = { enabled = true }
}
여기서 위 3개의 모드 중에 Health Info 모드는 모드 자체에 세부설정이 있는 모드입니다.
이 모드의 세부설정을 수정하고 싶다면 다음과 같이 하면 됩니다.
스팀 라이브러리 → 도구 → Don't Starve Together Dedicated Server 우클릭 → 속성 → 로컬 파일 탭 → 로컬 컨텐츠 폴더 보기 ... 를 클릭합니다.
로컬 컨텐츠 폴더가 나올 것입니다. 그 중 mods 폴더로 들어갑니다.
해당하는 모드를 찾은 다음에 modinfo.lua 파일을 메모장으로 열어 줍니다.
여기서는 Health Info 모드의 modinfo.lua 파일을 열어 보겠습니다.
configuration_options = 으로 시작하는 부분이 바로 모드의 세부설정이 됩니다.
configuration_options =
{
{
name = "show_type",
label = "Show Type",
options =
{
{description = "Value", data = 0},
{description = "Percentage", data = 1},
{description = "Both", data = 2},
},
default = 0,
},
{
name = "divider",
label = "Divier Type",
options =
{
{description = "100/100", data = 0},
{description = "-100/100-", data = 1},
{description = "[100/100]", data = 2},
{description = "(100/100)", data = 3},
{description = "{100/100}", data = 4},
{description = "<100/100>", data = 5},
},
default = 5,
}
}
위의 세부설정 중에 필요한 것은 name 과 data 입니다.
name 과 data 를 사용하여 modoverrides.lua 파일을 다시 만들어 보겠습니다.
return {
--Wormhole Marks
["workshop-362175979"] = { enabled = true },
--Health Info
["workshop-375859599"] = { enabled = true,
configuration_options =
{
show_type = 2,
divider = 4
}
},
--Global Player Icons
["workshop-373991022"] = { enabled = true }
}
위와 같이 세부설정을 주면 됩니다.
name = data,
name = data,
name = data
의 형식으로 만들어서 넣어주면 됩니다.
이때 name 에서 주의해야 할 사항은 따옴표(" ")는 넣지 않아야 합니다.
그리고 대소문자를 반드시 구분해야 합니다. 그대로 복사해서 쓰는 것이 편합니다.
data 에서는 아래의 default = 0 과 같이 나온 것을 참고해서 같은 형식으로 넣어야 합니다.
data 는 숫자 외에 문자의 형태를 가질 수도 있으며, 따옴표(" ")가 있다면 같이 넣어야 합니다.
즉, default = "true" 로 되어 있다면, name = "true" 의 형식으로 넣어야 합니다.
다 만든 modoverrides.lua 파일은 지상서버뿐만 아니라, 동굴서버에도 동일한 것으로 넣어야 합니다.
항상 그러하듯 반점(,)과 괄호를 빼먹거나 더 넣거나 그러면 모드가 아예 적용되지 않습니다.
더 복잡한 예시는 다음과 같습니다. 다음은 심플 프로텍션 모드의 세부설정의 예시입니다.
--Simple Protection
["workshop-360823660"] = { enabled = false,
configuration_options =
{
--Starting day
starting_day = 10,
--Minimum days (1 day = players don't need to wait to use
everything, 2 days = players need to wait 1 day to use something.. etc.)
min_days = 3,
--Container protection (chests, chester, icebox..)
container_protection = "false",
--Crock pot protection (use and harvest)
stewer_protection = "false",
--Backpack protection
backpack_protection = "false",
--Ghost break/light on fire/other stuff protection
ghost_protection = "true",
--Willow fire starting protection
willow_love = "false",
--Fireproof bushes
bushes_protection = "false",
--Undigable bushes (for fresh players)
bushes_dig_protection = "false",
--Disable fire spread
fire_spread_protection = "false"
}
},
모드와 관련하여 자세한 내용은 Espion 님이 작성한
http://cafe.naver.com/babmukda/83439 를 참고하기 바랍니다.
6. 동굴서버의 worldgenoverride.lua 파일 수정하기
초급자 버전에서 제대로 따라하였다면, 다음의 예시처럼 되어 있을 것입니다.
worldgenoverride.lua 파일을 메모장으로 열어 보았습니다.
return { override_enabled = true, preset="DST_CAVE" }
이제 지상서버처럼 동굴서버도 세부설정을 할 수 있습니다.
다음과 같이 수정하면 됩니다.
return { override_enabled = true, preset="DST_CAVE",
misc={
earthquakes="default", --options are "never", "rare", "default", "often", "always"
regrowth="default", --options are "veryslow", "slow", "default", "fast", "veryfast"
cavelight="default" --options are "veryslow", "slow", "default", "fast", "veryfast"
},
resources={ --options are "never", "rare", "default", "often", "always"
grass="default",
sapling="default",
marshbush="default",
reeds="default",
trees="default",
flint="default",
rock="default",
mushtree="default",
fern="default",
flower_cave="default",
wormlights="default"
},
unprepared={ --options are "never", "rare", "default", "often", "always"
berrybush="default",
mushroom="default",
banana="default",
lichen="default"
},
animals={ --options are "never", "rare", "default", "often", "always"
cave_ponds="default",
slurper="default",
bunnymen="default",
slurtles="default",
rocky="default",
monkey="default"
},
monsters={ --options are "never", "rare", "default", "often", "always"
cave_spiders="default",
tentacles="default",
chess="default",
liefs="default",
bats="default",
fissure="default",
worms="default"
}
}
지상서버의 worldgenoverride.lua 파일과는 내용이 다르니 주의하기 바랍니다.
그리고 동굴에 존재하지 않는 설정을 넣는 경우에 심각한 오류가 발생할 수 있습니다.
동굴서버에서만 사용 가능한 worldgenoverride.lua 파일을 첨부파일로 올립니다.
7. [고급자 버전] 2대의 PC에서 지상과 동굴서버를 각각 열어 서로 연결하기
중급자 버전까지 데디케이티드 서버에 대한 이해가 완벽한 상태에서 진행해야 합니다.
따라서 여기서부터는 이미 다 안다는 가정 하에 많은 내용을 생략하겠습니다.
2대의 PC에서 각각의 서버를 열어 서로 연결하기 위해서는 다음의 준비물이 필요합니다.
1. 지상서버를 여는 PC (이하 지상PC)
2. 동굴서버를 여는 PC (이하 동굴PC)
3. 지상PC가 공유기나 사설방화벽을 사용하는 경우에는 10888 UDP 포트에 대하여 포트포워딩
4. 지상PC와 동굴PC 모두 위의 1번을 적용하여 바로가기를 만든 상태일 것
지상PC는 3번의 지상서버 settings.ini에서 bind_ip = 0.0.0.0 으로 변경합니다.
동굴PC는 4번의 동굴서버 settings.ini에서 master_ip = 지상PC의 실제 외부IP 로 변경합니다.
지상PC와 동굴PC는 각각의 settings.ini에서 master_port = 10888 로 지정합니다.
지상PC의 실제 외부IP는 다음 사이트를 이용하여 알아내면 됩니다.
http://ipip.kr/ http://whatsmyuseragent.com
그 외에 지상서버와 동굴서버 간에 동일해야 하는 부분과 달라야 하는 부분을 명확하게 한 다음에 각각의 바로가기를 통해 서버를 열면 됩니다.
2015년 11월 20일에 테스트한 부분입니다. ws77 님의 동굴서버와의 연결에 성공하였습니다.
※ 첨부파일에 명령어 부분을 따로 올립니다. 참고하시기 바랍니다.
'Games > 돈스타브 투게더' 카테고리의 다른 글
[구버전] 데디케이티드 서버(Dedicated Server) 만들기 - 2016.02.12 (0) | 2017.07.03 |
---|---|
[구버전] 데디케이티드 서버(Dedicated Server) 만들기 - 리눅스(Linux) 편 (0) | 2017.07.03 |
[구버전] 데디케이티드 서버(Dedicated Server) 만들기 - 초급자 버전 (0) | 2017.07.03 |
[구버전] 공식 지원 - 동굴 베타 2개의 데디케이티드 서버 (리눅스 기반) (0) | 2017.07.03 |
[구버전] 신 버전 - 동굴 베타 2개의 데디케이티드 서버 (윈도 기반) (0) | 2017.07.03 |