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 설정
별첨) 만약 Segmentation Fault 라는 메시지만 뱉어버린다. 접기
라즈베리파이 제로 W 로 설치했더니 달랑 저 문구만 뱉어내고 실행이 안된다.
pi@raspberrypi : ~ /ArchiSteamFarm $ ./ArchiSteamFarm
세그멘테이션 오류
pi@raspberrypi : ~ /ArchiSteamFarm $ ulimit -c unlimited
pi@raspberrypi : ~ /ArchiSteamFarm $ ./ArchiSteamFarm
세그멘테이션 오류 (core dumped)
pi@raspberrypi : ~ /ArchiSteamFarm $
https://github.com/dotnet/coreclr/issues/18486
아직 해결중인 내용이라 아직까지 해결방법이 없는듯 하다
소스를 뜯어 볼 능력이 있을만큼 실력이 있는 것이 아니라 패스
접기