idle master를 돌려볼까 하고 실행했지만 동작하지 않아 대체할 만한 프로그램을 찾아 소개할까 한다.


Archi Steam Farm 이라는 이름을 가지고 ASF라 줄여서 불리는 프로그램이고 치팅으로 감지되어 계정이 밴 되는 우려가 없다고 하지만...
아이들마스터를 돌리면서도 밴을 당했다는 이야기를 들어본 적이 없어 원래 들어가지 않는 성분으로 '무첨가' 홍보를 하는건 아닐까 하는 기분도 들었다.

사실 ASF에 매력을 느꼈던 것은 리눅스 환경에서 스팀을 설치하지 않고도 카드농사를 지을 수 있다는 점 때문이었다.

데스크탑을 카드농사를 위해 24시간 돌리기엔 부담이 되고, 그렇다고 다른 무언가를 함께 돌리기엔 마땅치 않았다. (비트코인 채굴?)

따라서, 집에서 돌리고있는 N54L 이나 라즈베리파이 환경에서 돌려놓으면 데스크톱을 사용하지 않고도 압도적으로 적은 전력 소모로 카드농사를 지을 수 있는 이점이 있다. 



아이들마스터의 동작 가능 버전을 찾으시는 분은 아래 링크를 통해 확인할 수 있다.

https://github.com/Farax85/idle_master/releases

(2018.11.18 기준 1.4.5 버전으로 정상 동작 가능)

스팀에 로그인하면 자동으로 동작함.

설정 방법은 생략




1. 준비 과정

준비물

1. 리눅스가 돌아가는 컴퓨터 (AWS, N54L같은 홈 서버, 라즈베리파이 등)

2. 인터넷이 연결되어 SSH 로 연결이 가능한 상태

3. Putty, Zterm, VNC, 직접 제어 등 1번의 컴퓨터를 제어할 수 있는 방법


파일 다운로드

최신 릴리즈에 가 보면 파일이 여러개 존재한다.

ASF-linux-arm.zip

라즈베리파이, 모바일AP를 사용하는 리눅스 환경에 설치

ASF-linux-x64.zip

인텔, AMD cpu를 사용하는 리눅스 환경에 설치

ASF-osx-x64.zip

맥킨토시용

ASF-win-x64.zip

윈도우계열

데스크탑은 윈도우10을 사용하지만 24시간 돌리지 않으므로 홈서버에 돌릴 용도로 리눅스 배포본을 받는다.

홈서버가 윈도우계열 이라면 윈도우용으로 받으면 된다.


p.s - 작성자는 Putty를 통해 SSH로 연결하여 작업을 진행했음.


wget [다운로드 받을 파일의 웹 주소]

명령어로 터미널 환경에서 다운로드를 받으면 FTP나 SAMBA를 통해 파일을 전송하는 과정을 생략할 수 있다.

pi@raspberrypi:~/ArchiSteamFarm $ wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.8/ASF-linux-arm.zip

--2018-10-10 19:59:29--  https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/3.4.0.8/ASF-linux-arm.zip

Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112

Connecting to github.com (github.com)|192.30.255.113|:443... connected.

HTTP request sent, awaiting response... 302 Found

Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/44897462/7359e180-e853-11e8-9ccd-7e93e4e7a4da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181118T044844Z&X-Amz-Expires=300&X-Amz-Signature=0a35d827ecdb29f02bbd812ce25bb610158f6e6d958f15f7d74d61eee8bf9ef8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DASF-linux-arm.zip&response-content-type=application%2Foctet-stream [following]

--2018-10-10 19:59:30--  https://github-production-release-asset-2e65be.s3.amazonaws.com/44897462/7359e180-e853-11e8-9ccd-7e93e4e7a4da?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181118T044844Z&X-Amz-Expires=300&X-Amz-Signature=0a35d827ecdb29f02bbd812ce25bb610158f6e6d958f15f7d74d61eee8bf9ef8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DASF-linux-arm.zip&response-content-type=application%2Foctet-stream

Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.84.147

Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.84.147|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 17649678 (17M) [application/octet-stream]

Saving to: ‘ASF-linux-arm.zip’


ASF-linux-arm.zip       20%[====>                        ]  3.51M 788KB/s eta 20s



2. 실행 환경 설정

해당 파일은 폴더를 자동으로 생성하지 않으므로 폴더를 생성하고 해당 폴더 안에 다운로드 받으면 편하다.

이미 어딘가에 받아두었다면 폴더를 생성하고 명령어를 통해 이동시키면 된다.

pi@raspberrypi:~ $ mkdir ArchiSteamFarm

pi@raspberrypi:~ $ unzip ASF-linux-arm.zip -d ArchiSteamFarm/

pi@raspberrypi:~ $ cd ArchiSteamFarm/

pi@raspberrypi:~/ArchiSteamFarm $ 

unzip [파일명] -d [폴더명] 으로 원하는 폴더에 압축을 해제할 수 있다.


ASF는 다음의 패키지를 요구한다.

  • libcurl3 (libcurl)
  • libicu60 (libicu 배포판의 최신 버전, 예: Debian 9 리눅스의 경우 libicu57 )
  • libkrb5-3 (krb5-libs)
  • liblttng-ust0 (lttng-ust)
  • libssl1.0.2 (배포 용 libssl, openssl-libs, 최신 1.0.X 버전)
  • zlib1g (zlib)

sudo apt install libcurl3 을 입력 후 탭을 두번 누르면 관련 정보가 출력된다.
이렇게 최신 버전으로 하나씩 입력 해 나가면 된다.

추가로 screen 이라는 패키지를 설치한다.
사용자가 터미널을 종료 후에도 데몬 형태로 지속적으로 유지 해 주는 역할을 한다.

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl

libcurl-ocaml         libcurl3-dbg          libcurl4-doc          libcurl4-openssl-dev

libcurl-ocaml-dev     libcurl3-gnutls       libcurl4-gnutls-dev   libcurlpp-dev

libcurl3              libcurl3-nss          libcurl4-nss-dev      libcurlpp0

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl3 libicu

libicu-dev         libicu4j-4.4-java  libicu4j-java      libicu57

libicu4j-4.2-java  libicu4j-49-java   libicu4j-java-doc  libicu57-dbg


------

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install libcurl3 libicu57 libkrb5-3 liblttng-ust0 libssl1.0.2 zlib1g

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
libcurl3 is already the newest version (7.52.1-5+deb9u8).
libicu57 is already the newest version (57.1-6+deb9u2).
libkrb5-3 is already the newest version (1.15-1+deb9u1).
liblttng-ust0 is already the newest version (2.9.0-2+deb9u1).
libssl1.0.2 is already the newest version (1.0.2l-2+deb9u3).
zlib1g is already the newest version (1:1.2.8.dfsg-5).

이미 설치 되어있어 최신버전을 찾는 메시지로 첨부함.
"설치할거야? 용량 얼마가 추가돼 [Y/N]" 같은 메시지로 물어보면 Y입력 후 엔터하여 설치.

------

pi@raspberrypi:~/ArchiSteamFarm $ sudo apt install screen
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
제안하는 패키지:
  byobu | screenie | iselect
다음 새 패키지를 설치할 것입니다:
  screen
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
547 k바이트 아카이브를 받아야 합니다.
이 작업 후 922 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://ftp.harukasan.org/raspbian/raspbian stretch/main armhf screen armhf 4.5.0-6 [547 kB]
내려받기 547 k바이트, 소요시간 1초 (357 k바이트/초)


ArchiSteamFarm 파일이 실행파일이니 실행 권한을 주고 실행하면 된다.

pi@raspberrypi:~/ArchiSteamFarm $ chmod +x ArchiSteamFarm

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm


3. CONFIG 설정 및 실행

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm

2018-11-18 14:32:15|ArchiSteamFarm-11979|INFO|ASF|InitASF() ArchiSteamFarm V3.4.0.7 (linux-x64/364ca94e-579a-49c2-9b4a-6362fb48a57d | Linux 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018)

2018-11-18 14:32:15|ArchiSteamFarm-11979|INFO|ASF|InitGlobalDatabaseAndServices() It looks like it's your first launch of the program, welcome!

2018-11-18 14:32:25|ArchiSteamFarm-11979|WARN|ASF|InitGlobalDatabaseAndServices() Please review our privacy policy section on the wiki if you're concerned about what ASF is in fact doing!

2018-11-18 14:32:30|ArchiSteamFarm-11979|INFO|ASF|UpdateAndRestart() ASF will automatically check for new versions every 1 day.

2018-11-18 14:32:30|ArchiSteamFarm-11979|INFO|ASF|Update() Checking for new version...

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|Update() Local version: 3.4.0.7 | Remote version: 3.4.0.7

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|InitializeSteamConfiguration() Initializing SteamDirectory...

2018-11-18 14:32:33|ArchiSteamFarm-11979|INFO|ASF|InitializeSteamConfiguration() Success!

2018-11-18 14:32:33|ArchiSteamFarm-11979|WARN|ASF|InitBots() No bots are defined. Did you forget to configure your ASF?

실행은 정상적으로 되었으나 ASF가 설정된 콘피그 파일이 없다고 한다.

콘피그 파일을 생성하여 config 폴더 안에 넣어야 한다.


설정하는 파일은 다음과 같다.

ArchiSteamFarm[폴더]
├ArchiSteamFarm
└config
 ├ASF.json  (만들어야 하는 파일)
 ├ASF.db    (실행 후 자동으로 생성되는 파일)
 ├사용자계정.json  (만들어야 하는 파일)
 ├사용자계정.db    (실행 후 자동으로 생성되는 파일)
 └사용자계정.bin   (실행 후 자동으로 생성되는 파일)


Config 파일 생성은 ConfigGenerator.html 파일을 실행하면 웹 브라우저에서 생성 되지만 터미널 환경이므로 윈도우 환경의 컴퓨터에서 크롬을 이용해 다음 주소에서 생성한다.
https://justarchinet.github.io/ASF-WebConfigGenerator/#/


웹에서 생성하는 것이 불안하다면 다음 내용을 본인 계정에 맞게 설정 후 파일에 입력하면 된다. (이름만 맞추면 된다.)

ASF.json

{

  "s_SteamOwnerID": "사용자 계정의 STEAMID64 숫자",

  "CurrentCulture": "ko-KR"

}

JSON 의 형식으로 지정되며 s_SteamOwnerID 는 https://steamid.io/ 에서 자신의 로그인아이디를 검색하여 STEAMID64 내용을 복사하여 붙여넣으면 된다.

ASF.json 은 파일명을 다르게 바꾸지 않고 그대로 설정하여 작성한다.
메모장이나 Notepad++ 같은 편집 프로그램으로 입력하여 config 폴더 안에 위치하면 된다.


agent-YellowTopaz.json

{

  "SteamLogin": "스팀 로그인 ID",

  "SteamPassword": "스팀 로그인 비밀번호",

  "Enabled": true

}

사용자계정.json 파일은 파일명을 임의로 설정해도 무관하다.

여러개의 계정을 컨트롤 하는 경우 "Enabled": false 로 여러 파일을 넣어두면 된다.

비밀번호의 경우 원하지 않으면 작성하지 않아도 프로그램을 켤 때 물어본다고 하는데 어차피 2차인증기를 사용하므로 귀찮아서 입력했다.

ASF를 실행할 때에도 2차인증 비밀번호를 물어본다.

기본적인 콘피그 설정은 끝났다.

만약 세부적인 설정을 하고 싶다면 위 링크의 콘피그 생성기를 통해 세부 내용을 생성하면 된다.

pi@raspberrypi:~/ArchiSteamFarm $ vi config/ASF.json

pi@raspberrypi:~/ArchiSteamFarm $ vi config/agent-YellowTopaz.json

pi@raspberrypi:~/ArchiSteamFarm $ ./ArchiSteamFarm

이렇게 수동으로 위 초록박스 내용을 붙여넣어도 동작한다.

다시 ArchiSteamFarm 을 실행하면 한글로 환영메시지가 나오며 카드 농사를 시작한다.

2018-11-18 15:29:38|ArchiSteamFarm-14488|INFO|ASF|InitASF() ArchiSteamFarm V3.4.0.7

2018-11-18 15:29:39|ArchiSteamFarm-14488|INFO|ASF|Start() IPC 서버 시작...

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|Start() IPC 서버 준비 완료!

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|UpdateAndRestart() ASF는 1 day 간격으로 새로운 버전을 자동으로 확인합 니다.

2018-11-18 15:29:41|ArchiSteamFarm-14488|INFO|ASF|Update() 새로운 버전 확인 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|ASF|Update() 로컬 버전: 3.4.0.7 | 원격 버전: 3.4.0.7

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Start() 시작 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Connect() 연결 중...

2018-11-18 15:29:43|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnConnected() Steam에 연결되었습니다!

2018-11-18 15:29:44|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnConnected() 로그인 중...

2018-11-18 15:29:44|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|OnLoggedOn() 으로 로그인 성공

2018-11-18 15:29:45|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() ISteamUserAuth에 로그인 중...

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 첫 번째 배지 페이지를 확인하는 중...

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() 성공!

2018-11-18 15:29:49|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

bg 명령어나 CTRL + C 를 누르는 경우 실행이 중지된다.


그래서 위에서 미리 설치한 screen 명령어를 통해 실행 해 준다.

pi@raspberrypi:~/ArchiSteamFarm $ screen -S ASF ./ArchiSteamFarm

pi@raspberrypi:~/ArchiSteamFarm $ screen -list

There is a screen on:
        ??????.ASF       (11/17/2018 08:55:01 PM)        (Detached)
1 Socket in /???/???/?????/S-ASF.

pi@raspberrypi:~/ArchiSteamFarm $ 

"screen -S" 는 이름을 지정해서 "screen -list" 명령어를 통해 확인할 수 있는 내용이다.

정상적으로 실행되는 것을 확인한 이후에 CTRL 키를 누른 채  A, D (순차 입력) 를 입력하여 터미널로 빠져 나오면 백그라운드에서 데몬 형태로 돌아간다.

"screen -list" 명령어를 통해서 확인할 수 있고
ps aux 명령어를 통해서도 확인할 수 있다.

만약 상태를 확인하고 싶다면 "screen -R ASF" 을 입력하면 백그라운드로 돌아가는 내용을 보여준다. 다시 빠져나오고 싶다면 CTRL+A,D 를 입력하면 된다.



Happy Farming!


만약 파밍중에 게임을 실행하면?

다음과 같은 팝업 메시지창을 볼 수 있다.

"계속 실행" 버튼을 누르면 게임이 실행된다.
ASF는 사용자가 게임을 하고 있을 때 정지상태로 대기하고, 사용자가 게임을 끝내면 다시 파밍을 시작한다.

2018-11-18 15:28:24|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|FarmCards() 농사 멈춤: 225600 (Blade Symphony)

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnConnected() Steam에 연결되었습니다!

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnConnected() 로그인 중...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|OnLoggedOn() 으로 로그인 성공

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|Init() ISteamUserAuth에 로그인 중...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|CheckOccupationStatus() 계정이 현재 사용 중입니다. ASF는 계정이 아무 것도 하지 않고 있을 경우 농사를 재개할 것입니다...

2018-11-18 15:28:25|ArchiSteamFarm-20395|INFO|agent-YellowTopaz|StopFarming() 농사 멈춤!

------게임 종료 후-----

2018-11-18 15:29:46|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Init() 성공!

2018-11-18 15:29:49|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

2018-11-18 15:29:52|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|StartFarming() 농사가 현재 불가능 합니다. 나중에 다시 시도합니다!

2018-11-18 15:42:21|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|CheckOccupationStatus() 계정이 현재 사용되고 있지 않습니다 : 농사를 재개합니다!

2018-11-18 15:42:21|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 첫 번째 배지 페이지를 확인하는 중...

2018-11-18 15:42:23|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|IsAnythingToFarm() 나머지 배지 페이지를 확인하는 중...

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Farm() 총 326개의 게임 (1276개의 카드) 남음. (약 3 weeks, 6 days, 23 hours 소요)...

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|Farm() 선택된 농사 기법: Complex

2018-11-18 15:42:27|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|FarmSolo() 현재 농사 중: 225600 (Blade Symphony)

2018-11-18 15:42:28|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|ShouldFarm() 225600 (Blade Symphony) 농사 상태: 2개의 카드 남음.

2018-11-18 15:42:28|ArchiSteamFarm-14488|INFO|agent-YellowTopaz|FarmCards() 아직 농사 중: 225600 (Blade Symphony)


끝.

다음: 봇을 제어하기 위한 IPC 설정




+ Recent posts