Skip to content

High performance setup ko KR

ArchiBot edited this page Sep 3, 2026 · 27 revisions

๊ณ ์„ฑ๋Šฅ ์„ค์ •

์ด๋Š” ์ €๋ฉ”๋ชจ๋ฆฌ ์„ค์ •(low-memory setup) ๊ณผ ์ •ํ™•ํžˆ ๋ฐ˜๋Œ€๋˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ASF ์„ฑ๋Šฅ(CPU ์†๋„ ๊ธฐ์ค€)์„ ๋”์šฑ ๋Œ์–ด์˜ฌ๋ฆฌ๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ์ด ํŒ๋“ค์„ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ทธ ๋Œ€๊ฐ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ASF๋Š” ์ด๋ฏธ ์ „๋ฐ˜์ ์ธ ๊ท ํ˜• ์žกํžŒ ํŠœ๋‹์—์„œ ์„ฑ๋Šฅ์„ ์šฐ์„ ์‹œํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ์„ฑ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ์—ฌ์ง€๋Š” ๊ทธ๋ฆฌ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์„ ํƒ์ง€๊ฐ€ ์™„์ „ํžˆ ์—†๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด ์˜ต์…˜๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ์ ์„ ์œ ๋…ํ•˜์„ธ์š”. ์ด๋Š” ๋Œ€๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ ํ™˜๊ฒฝ์—์„œ ๊ท ํ˜• ์žกํžŒ ์„ค์ •์œผ๋กœ ๊ฐ„์ฃผํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ์ข‹์€ ์˜ต์…˜์€ ์•„๋‹ˆ๋ผ๋Š” ๋œป์ด๋ฏ€๋กœ, ์ด๋กœ ์ธํ•ด ์ฆ๊ฐ€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋ณธ์ธ์—๊ฒŒ ๊ฐ๋‚ดํ•  ๋งŒํ•œ ์ˆ˜์ค€์ธ์ง€๋Š” ์ง์ ‘ ํŒ๋‹จํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๋Ÿฐํƒ€์ž„ ํŠœ๋‹ (๊ณ ๊ธ‰)

์•„๋ž˜์˜ ๋ฐฉ๋ฒ•๋“ค์€ ์ƒ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ฆ๊ฐ€๋ฅผ ์ˆ˜๋ฐ˜ ํ•˜๋ฏ€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ค์ •์„ ์ ์šฉํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์€ DOTNET_ ํ™˜๊ฒฝ ์†์„ฑ์„ ํ†ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  runtimeconfig.json๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ถ€ ์„ค์ •์€ ์ด ๋ฐฉ์‹์œผ๋กœ๋Š” ์•„์˜ˆ ์„ค์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ฒŒ๋‹ค๊ฐ€ ASF๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ˆ˜์ •ํ•œ runtimeconfig.json์„ ์ž์ฒด ํŒŒ์ผ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์†์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์†์„ฑ ๋ฐฉ์‹์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

.NET ๋Ÿฐํƒ€์ž„์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ(garbage collector)๋ฅผ ์กฐ์ • ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜์—ฌ, ํ•„์š”์— ๋งž๊ฒŒ GC ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋ฏธ์„ธ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๊ฐ€ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜๋Š” ์†์„ฑ๋“ค์„ ์•„๋ž˜์— ๋ฌธ์„œํ™”ํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์›Œํฌ์Šคํ…Œ์ด์…˜(workstation) ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ• ์ง€, ์„œ๋ฒ„(server) ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ• ์ง€๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ GC์˜ ์ •ํ™•ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๊ธฐ๋ณธ ์›๋ฆฌ ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ASF๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›Œํฌ์Šคํ…Œ์ด์…˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์„ฑ๋Šฅ ์‚ฌ์ด์˜ ๊ท ํ˜•์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ์†Œ์ˆ˜์˜ ๋ด‡๋งŒ ์šด์˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ด ์ •๋„๋กœ๋„ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ๋‹จ์ผ ๋™์‹œ ์‹คํ–‰ ๋ฐฑ๊ทธ๋ผ์šด๋“œ GC ์Šค๋ ˆ๋“œ๋งŒ์œผ๋กœ๋„ ASF๊ฐ€ ํ• ๋‹นํ•œ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹ค๋งŒ ์˜ค๋Š˜๋‚ ์—๋Š” ASF๊ฐ€ ํฌ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์ˆ˜์˜ CPU ์ฝ”์–ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ CPU vCore๋งˆ๋‹ค ์ „์šฉ GC ์Šค๋ ˆ๋“œ๋ฅผ ํ• ๋‹นํ•จ์œผ๋กœ์จ ํฐ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐฐ์ง€ ํŽ˜์ด์ง€๋‚˜ ์ธ๋ฒคํ† ๋ฆฌ ํŒŒ์‹ฑ๊ณผ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ASF ์ž‘์—… ์ค‘ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ CPU vCore๊ฐ€ (๋ฉ”์ธ ์Šค๋ ˆ๋“œ์™€ GC ์Šค๋ ˆ๋“œ, ๋‹จ 2๊ฐœ๋ฟ์ด ์•„๋‹ˆ๋ผ) ๋ชจ๋‘ ์ž‘์—…์„ ๋„์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ GC๋Š” CPU vCore๊ฐ€ 3๊ฐœ ์ด์ƒ์ธ ๊ธฐ๊ธฐ์— ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ์— CPU vCore๊ฐ€ 1๊ฐœ๋ฟ์ด๋ผ๋ฉด ์ž๋™์œผ๋กœ ์›Œํฌ์Šคํ…Œ์ด์…˜ GC๊ฐ€ ๊ฐ•์ œ ์ ์šฉ๋˜๋ฉฐ, ์ •ํ™•ํžˆ 2๊ฐœ๋ผ๋ฉด ๋‘˜ ๋‹ค ์‹œ๋„ํ•ด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ๊ณ ๋ คํ•ด๋ณผ ๋งŒํ•ฉ๋‹ˆ๋‹ค(๊ฒฐ๊ณผ๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

์„œ๋ฒ„ GC ์ž์ฒด๋Š” ๋‹จ์ˆœํžˆ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ๋งŒ์œผ๋กœ๋Š” ๊ทธ๋ฆฌ ํฐ ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€๋ฅผ ์ดˆ๋ž˜ํ•˜์ง€ ์•Š์ง€๋งŒ, ์„ธ๋Œ€(generation) ํฌ๊ธฐ๊ฐ€ ํ›จ์”ฌ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ OS์— ๋Œ๋ ค์ฃผ๋Š” ๋ฐ ์žˆ์–ด ํ›จ์”ฌ ๋” ์†Œ๊ทน์ (lazy)์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ GC๊ฐ€ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผœ์„œ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ, ๋™์‹œ์— ์ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ํฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ฆ๊ฐ€๋Š” ๊ฐ๋‹นํ•  ์ˆ˜ ์—†๋Š”, ์• ๋งคํ•œ ์ง€์ ์— ๋†“์ด์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ "๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ๋ชจ๋‘ ์žก๋Š”" ์„ค์ •์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. GCLatencyLevel ์„ค์ • ์†์„ฑ์„ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์„œ๋ฒ„ GC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ๋ฐ, ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„œ๋ฒ„ GC๋Š” ๊ณ„์† ํ™œ์„ฑํ™”๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์„ธ๋Œ€ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์— ์ข€ ๋” ์ง‘์ค‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š” GCHeapHardLimitPercent ๋ผ๋Š” ๋‹ค๋ฅธ ์†์„ฑ์„ ์‹คํ—˜ํ•ด๋ณด์‹œ๊ฑฐ๋‚˜, ๋‘ ์†์„ฑ์„ ๋™์‹œ์— ์‚ฌ์šฉํ•ด๋ณด์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ํ™˜๊ฒฝ์ด์‹œ๋ผ๋ฉด(GC๋Š” ์—ฌ์ „ํžˆ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์Šค์Šค๋กœ ์กฐ์ •ํ•˜๋ฏ€๋กœ), ์ด๋Ÿฌํ•œ ์†์„ฑ๋“ค์„ ์ „ํ˜€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๋” ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ์–ป์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ ์ ˆํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ์†์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Linux(์…ธ)์—์„œ๋Š”:

export DOTNET_gcServer=1

./ArchiSteamFarm # For OS-specific build
./ArchiSteamFarm.sh # For generic build

๋˜๋Š” Windows(PowerShell)์—์„œ๋Š”:

$Env:DOTNET_gcServer=1

.\ArchiSteamFarm.exe # For OS-specific build
.\ArchiSteamFarm.cmd # For generic build

์ถ”์ฒœ ์ตœ์ ํ™”

  • OptimizationMode์˜ ๊ธฐ๋ณธ๊ฐ’์ธ MaxPerformance๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ด๋Š” ๋‹จ์—ฐ์ฝ” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ค์ •์ž…๋‹ˆ๋‹ค. MinMemoryUsage ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์— ๊ทน์ ์ธ(๋ถ€์ •์ ์ธ) ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ GC ํ™œ์„ฑํ™”ํ•˜๊ธฐ. ์„œ๋ฒ„ GC๋Š” ํ™œ์„ฑํ™”๋˜๋ฉด ์›Œํฌ์Šคํ…Œ์ด์…˜ GC ๋Œ€๋น„ ๋ˆˆ์— ๋„๊ฒŒ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์œผ๋กœ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ตœ๋Œ€ ์†๋„๋กœ GC ์ž‘์—…์„ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ๊ธฐ๊ธฐ๊ฐ€ ๊ฐ€์ง„ ๋ชจ๋“  CPU ์Šค๋ ˆ๋“œ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ GC ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ GC๋กœ ์ธํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€๋ฅผ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์œผ์‹œ๋‹ค๋ฉด, "๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ๋ชจ๋‘ ์žก๊ธฐ" ์œ„ํ•ด GCLatencyLevel ๋ฐ/๋˜๋Š” GCHeapHardLimitPercent ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์„ธ์š”. ๋‹ค๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฌ์œ ๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด, ๊ธฐ๋ณธ๊ฐ’ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค - ์„œ๋ฒ„ GC๋Š” ๋Ÿฐํƒ€์ž„ ์ค‘ ์ด๋ฏธ ์Šค์Šค๋กœ๋ฅผ ์กฐ์ •ํ•˜๋ฉฐ, OS๊ฐ€ ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋Š” ๋” ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋˜‘๋˜‘ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ๋“ค์„ ์ ์šฉํ•˜๋ฉด ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ ๊ฐœ์˜ ๋ด‡์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„œ๋„ ๋งค์šฐ ๋น ๋ฅธ ASF ์„ฑ๋Šฅ์„ ์–ป์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ CPU๋Š” ๋” ์ด์ƒ ๋ณ‘๋ชฉ ์ง€์ ์ด ์•„๋‹ˆ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ASF๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ „์ฒด CPU ์„ฑ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด, ํ•„์š”ํ•œ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ์ตœ์†Œํ•œ์œผ๋กœ ์ค„์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋Š” CPU ๋ฐ RAM ์—…๊ทธ๋ ˆ์ด๋“œ, ๋˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„์™€ ASF ์ธ์Šคํ„ด์Šค์— ์ž‘์—…์„ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

en-US de-DE es-ES lol-US
pt-BR ru-RU zh-CN zh-TW

๐Ÿ‘จโ€๐Ÿซ ๊ธฐ๋ณธ

๐Ÿ‘จโ€๐ŸŽ“๏ธ ๋ฉ”์ธ

๐Ÿง™ ๊ณ ๊ธ‰

๐Ÿ‘ท ๊ฐœ๋ฐœ์ž

Clone this wiki locally