[PHP] osu! 비트맵 미러 봇[PHP] osu! 비트맵 미러 봇

Posted at 2012/12/16 21:19 | Posted in 프로그램

경고이 프로그램은 일반 사용자에게 필요없습니다.

이따금씩 프로그램의 판올림이 필요할 수 있으니 공유는 링크로 해주세요.

PHP 5.4.8 NTS, MySQL 5.6.6-m9, Windows Server 2012 Standard에서 프로그램의 완벽 작동을 확인하였습니다.
운영체제는 달라져도 상관없지만 MySQL의 버전은 5.5.3 이상(테이블 캐릭터셋이 utf8mb4 입니다.), PHP의 버전은 5.3.6 이상을 사용하시는게 좋습니다.
PHP의 확장으로 curl, exif, fileinfo, gd2, mysql, mysqli, zip이 활성화 되있어야 합니다.

프로그램 사용전에 다음 부분을 수정해야합니다.

	private $toSurf = 확인할 페이지 수;
	private $toGet = 확인할 비트맵 수;
	$osz = new osz('저장소 경로');
	//$osz->mirror = 'http://osz.so/'; 미러 사용하고 싶으면 바로 다운로드 주소를 적은 후 주석 제거
	//$osz->userAgent = ''; 유저 에이전트 기본 osu! Beatmap Mirror Bot에서 딴걸로 바꾸고 싶은 사람만..
	//$osz->workspace = '작업공간'; ffmpeg로 비트맵 미리듣기 만드려면 필수
	//$osz->ffmpeg = 'ffmpeg 경로(exe)'; ffmpeg로 비트맵 미리듣기 만드려면 필수
	$osz->login(array(
		'DB'=>array('localhost', '아이디', '비밀번호', '데이터베이스'),
		'osu'=>array('아이디', '비밀번호')
	));

프로그램 실행시 인수를 붙일 수 있습니다.

-i
프로그램 사용에 필요한 데이터베이스 테이블 생성합니다.
-fr
데이터베이스에는 등록돼 있으나 서버의 저장소에는 없는 비트맵을 찾아 내려받습니다.
-ff
서버의 저장소에는 있으나 데이터베이스에는 등록돼 있지않은 비트맵을 등록합니다.
-fp
읽을 수 없는 비트맵 미리듣기를 찾습니다.
-r
osu_beatmaps 테이블에서 Unranked 분류의 비트맵을 osu_custom_list에 등록합니다.
-t [비트맵 ID[]]
비트맵의 미리보기 이미지를 저장합니다.
비트맵 ID를 지정하지 않으면 모든 비트맵의 미리보기 이미지를 삭제하고 저장합니다.
-p [비트맵 ID[]]
비트맵의 미리듣기를 저장합니다.
비트맵 ID를 지정하지 않으면 모든 비트맵의 미리듣기를 삭제하고 저장합니다.
-u 비트맵 ID[]
비트맵을 강제로 판올림합니다.
-d 비트맵 ID[]
비트맵을 삭제합니다.
분류[]
분류의 최신 비트맵을 확인합니다.

처음 실행한다면 -i 인수를 붙여 데이터베이스 테이블을 작성하도록 합시다.

작성된 데이터베이스의 활용은 알아서하셔야..

리눅스에서는 crontab, 윈도우에서는 작업 스케쥴러를 사용하면 주기적으로 최신 비트맵을 확인할 수 있습니다.

경고2.8 버전부터 데이터베이스 테이블 구조가 변경되었습니다.

osu! Beatmap Mirror Bot.php v2.8
osu! Beatmap Mirror Bot Multithread.php v2.8

ffmpeg로 미리듣기 인코딩 안되는 파일들이 있네..ㄷㄷ
curl 멀티 스레드 버전도 만들었는데 직접 확인해보니 걸리는 시간 차이는 별로 안나는게 함정.

저작자 표시 비영리

http://blog.bloodcat.com/trackback/222 관련글 쓰기

Name __

Password __

Link (Your Website)

Comment

1 ... 39 40 41 42 43 44 45 46 47 ... 172