디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

(장문)슈퍼매치용 디코 봇 구상해봤는데 피드백 앙망한다

고소한샐러드갤로그로 이동합니다. 2020.07.11 08:54:11
조회 766 추천 17 댓글 19

지금 슈퍼매치의 문제점은 서버 하나 이상이 돌아가기 어렵다는 것이다..

현재 디코 서버 인원이 약 170명이라는 것을 고려하면 허수를 고려하더라도 적어도 2섭은 원활하게 돌아가도록 구성해야 할 것인데

1. 한 판 하려면 다음 게임이 시작되기 전까지 게임을 관전하고 있어야 한다

2. 근데 자리싸움 지면 또 관전 들어가야 한다

3. 원시적인 매치 방식이 불편하다(5,4,3,2,1 땡 오토조인 누르기)

4. 게임 끝나고 로그를 확인하기 위해 .ss를 누르거나 맵을 바꾸기 위해 votemap을 일일히 쳐야 하는 게 불편하다


전체적으로 불편함 투성이다.

게임을 하고 싶을 때 할 수 있어야 서버의 엠생도가 높아지는데

이건 매치 현타를 강제적으로 유발하는 매치메이킹 방식이다.

그래서 디코의 기능을 활용해 봇을 구상해 봤다.


제대로 된 코딩을 해본 적은 없지만 봇이 어떻게 작동해야 하는지 말로 풀어 써봤다.

초장문이지만 코딩 잘하는 게이는 부디 읽고 피드백 부탁한다.

[]는 명령어이고 ""는 디스코드 역할이다.


1. 인증 단계

https://github.com/eggsywashere/discord-steam-verification

위 api를 이용해

스팀 인증한 사람에겐 인증 태그와

대기열에 참가할 수 있는 역할 "인증됨"을 부여한다.


스팀 인증한 사람의 아이디 정보가 봇에 저장되므로 이걸로 섭주의 취향에 따라 멤버들의 닉네임에 현재 스팀 닉네임 태그를 붙이거나 멤버들의 닉네임을 스팀 닉네임으로 강제로 변경하는 것이 가능하다.


2. 대기열 참가 단계

봇이 보이스 채널 입장을 감지할 수 있는지 모르겠지만(아마 될듯) 안되면 명령어로 대기열 [참가]하면 봇이 멤버를 move 커맨드로 대기열 보이스 채널로 이동시킨다.

해당 멤버에 "매치 대기 중" 역할을 부여한다.


[참가 자원딕]하면 자원딕 대기열로 이동시키고

"자원딕 대기 중"을 부여한다.


[불참]하면 대기열에서 나가지고 해당 멤버의

"매치 대기 중", "자원딕 대기 중"을 박탈한다.

빈 서버가 있으면(예시:3섭) 대기열에서 차출 탐색을 시작한다.

차출 탐색 값이 참으로 밝혀지면 봇이 이를 공지하고 5초 동안 참이 유지되면 팀 분배 단계로 넘어간다.

빈 서버 판단 방법: 해당 서버와 관련된 역할자 수0


2-1. 차출 탐색 단계

자원딕이 3명 이상일 경우: 자원딕이 2명일 경우로 넘어간다.


자원딕이 2명일 경우: 대기열이 10명에서 부족하면

부족한 만큼 봇이 대기열 모집 전용 채널에(멤버는 채팅 불가) ~명 모어를 외친다(외침은 멤버가 명령어로 반복 가능).

10명이상이면 그 중 10명을 뽑아 팀분배 채널로 옮기고 딕2명을 (3섭)딕 분배 채널로 옮기고 다음 단계로 넘어간다.


자원딕이 1명일 경우: 대기열이 11명이하면 ~~~

11명이상이면 그 중 한 명을 자원딕 채널로 움직이고 10명을 (3섭)팀 분배 채널로 옮기고 딕2명을 (3섭)딕 분배 채널로 옮기고 다음 단계로 넘어간다.


자원딕이 0명일 경우: 대기열이 12명이하면 ~~~

12명이상이면 그 중 두 명을 자원딕 채널로 움직이고 10명을 (3섭)팀 분배 채널로 옮기고 다음 명령어로 넘어간다.


3. 팀 분배 단계

아직 전 게임으로부터 남아있는 각 팀 보이스 채널의 멤버들을 킥 한다.

딕 분배 채널로부터 자원딕을 무작위 배치 한 후 팀 분배 채널로부터 나머지도 무작위 배치한다.

각 보이스 채널에 배치된 팀원들에 "3섭 준비 안됨" 역할을 부여한다.


3섭 역할("3섭 게임 중", "3섭 준비 안됨", "3섭 준비됨")을 가진 사람만 읽고 참여할 수 있는 3섭 채팅 채널에서 맵과 레디를 투표함(맵을 투표할 수 있을진 모르겠음)


4. 투표 단계

봇이 팀원들에게 준비하라고 dm을 지속적으로 보낸다.

[준비]하면 그 멤버에 "3섭 준비됨"역할을 부여하고 "3섭 준비안됨" 역할을 박탈한다.


이 단계에서 한 명이라도 [닷지]하면 판이 깨진다.

이 경우 그 판 멤버들의 역할을 박탈하고 [닷지]한 멤버를 제외한 모든 멤버를 대기열 참가 단계로 되돌린다.


일정 시간(20초~ 1분30초) 안에 모든 멤버가 [준비]하지 않아도 판은 깨진다.

이 경우에도 준비하지 않은 멤버를 제외한 모든 멤버를 대기열 참가 단계로 되돌린다.


닷지하거나 afk한 멤버는 서버명단에 기록하고

30분간 대기열에 참석 불가능한 페널티를 부여하고 해당 행동이 반복될 시 어드민 재량으로 일정 기간 밴한다.


"3섭 준비됨"의 역할자가 12명이 되면 게임 시작 단계로 넘어간다.


+디스코드 봇으로 서버의 맵을 바꾸는 것이 가능하면 맵 투표도 실시한다.




5. 게임 시작 단계

"3섭 게임 중"의 역할을 부여하고 "3섭 준비됨"의 역할을 박탈한다.

dm과 채팅방으로 해당 서버의 접속 링크를 보낸다.


예시 3섭) steam://connect/183.103.205.30:27121/supermatch/



6. 게임 중 단계

서버 내의 채팅은 relay를 이용해 채팅 채널과 연동하는 것이 가능하다.


접속하지 않은 멤버가 있거나, 게임 내 채팅 비매너가 발생했다면 3섭 채팅채널에서 [리폿]기능을 활용하면 된다.

매치 진행이 불가한 상황이라면 곧바로 매치를 끝내도 좋다.



7. 게임 종료 단계

[끝]을 사용하면 봇이 채팅으로 게임이 끝났는지 묻는다.

이때 이모지 버튼 눌림 횟수가 일정 이상 도달하면(4~6)

해당 매치의 로그를 로그 전용 채팅 방에 띄우는 동시에

멤버들의 역할을 박탈한다.


+ 게임 내 SourceMod로 디스코드 봇을 작동시키는 것이 가능하다면 매치 종료 직후 게임 종료 단계를 실시할 수 있다.

+ 디스코드 봇이 서버의 비밀번호를 변경하고 서버 인원을 킥하는 것이 가능하다면 이 단계에서 비밀번호 변경 후 킥을 실시할 수 있다.


일단 코딩 난이도는 그리 높지 않을 거 같아.

이 봇이 적용되면 매치를 이용하려면


대기열 입장 → 봇 알림 받고 준비 입력 → 봇 알림 받고 서버 입장 → 게임 끝 이모지 입력하고 ㅂㅂ → 로그방에서 자기 로그 확인


이전에 비해 매우 간단해지지.

피드백 부탁해~~





추천 비추천

17

고정닉 10

1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
AD 현물 경품 획득 기회! 아키에이지 지역 점령전 업데이트 운영자 24/06/20 - -
AD 호요버스 신작 <젠레스 존 제로> 7월 4일 오픈! 운영자 24/06/24 - -
302907 오늘 포징 3개만들었구나 (데이터주의) [11] ㅇㅇ갤로그로 이동합니다. 20.07.15 358 12
302880 팀붕이룩으로 포징해왔다 [10] ㅇㅇ갤로그로 이동합니다. 20.07.15 495 13
302859 매치 유저분들 다들 착한데요? [12] ㅇㅇ(223.62) 20.07.15 645 10
302847 슈매에도 매치충 유입된듯,, 진짜 경험해보니까 진 존나 빠지네 [32] 고소한샐러드갤로그로 이동합니다. 20.07.15 967 24
302789 센트리를 만들어서 기쁜 엔지 만들어봤다 [11] ㅇㅇ갤로그로 이동합니다. 20.07.15 589 18
302783 장사해서 번돈으로 책삿음 [26] 103번갤로그로 이동합니다. 20.07.15 601 9
302774 [대깨봇] 핵대가리 깨기 이벤트 [6] 파란물갤로그로 이동합니다. 20.07.15 472 10
302767 피리가 운영 못한걸 타섭 탓하는거 아님? ㅋㅋ [8] ㅇㅇ(223.39) 20.07.15 504 18
302753 (념글부탁) 헤비 업데이트 유출내용 뜸 [25] ㄴㄴ(58.239) 20.07.15 703 20
302741 (스파이) 쿠나이에 대하여 [4] 프로정상인갤로그로 이동합니다. 20.07.15 493 12
302738 고닉 아이가 누구길래 저러는지 한번 찾아봄 [8] ㅇㅇ(223.62) 20.07.15 611 16
302731 피리도 정박아 냄새 솔솔나네 ㅋㅋ [14] ㅇㅇ(39.7) 20.07.15 775 19
302718 파이로 처맞는짤 파티클 추가한버전 [7] ㅇㅇ갤로그로 이동합니다. 20.07.15 460 14
302701 야 시발 좆됐다 언유 가격 잘못올려서 바로팔림 [27] 꽃미녀갤로그로 이동합니다. 20.07.15 725 25
302686 팀포2클래식 투명 로고 만듬 [6] 만외하라2갤로그로 이동합니다. 20.07.15 458 11
302645 파이로 한대 맥이는 솔저 [8] ㅇㅇ갤로그로 이동합니다. 20.07.15 537 19
302644 엔지니어 그려봤는데 평가좀 [6] ㅇㅇ(182.210) 20.07.15 507 16
302605 지금까지 만든 소필메들 모음 (데이터주의) [8] ㅇㅇ갤로그로 이동합니다. 20.07.15 402 13
302598 스코틀도끼든 데모맨 패는 복싱헤비 [10] ㅇㅇ갤로그로 이동합니다. 20.07.15 541 14
302523 요즘 팀붕이들은...말여! 노오력이!! 부족혀!!! [7] 팀머(118.223) 20.07.14 561 25
302442 업데이트 예고 영상 뜬 건 알고 있냐?? [6] ㅇㅇ(121.187) 20.07.14 524 9
302417 오늘의 팀포2 클래식 플레이.gif [10] ㅇㅇ(14.55) 20.07.14 903 17
302397 파이로원챔 = 정신병자 [9] 프로정상인갤로그로 이동합니다. 20.07.14 648 22
302396 안티 스파이 스크립트 근황.jpg [13] ㅇㅇ(14.55) 20.07.14 750 9
302335 오늘자 b4nny 뉴스 ㅡ 팀포2클래식, rgl 팀 해체 [6] 고소한샐러드갤로그로 이동합니다. 20.07.14 863 20
302073 슈퍼매치 디코 봇 개발자 노트...? 개발 예정 단계들 [13] 고소한샐러드갤로그로 이동합니다. 20.07.13 671 10
301919 우가부가 [15] 릭523갤로그로 이동합니다. 20.07.13 1263 48
301914 아이템도 줬다 뺏는 팀갤 레전드 ㅋㅋㅋㅋㅋ [5] ㅇㅇ(14.55) 20.07.13 753 10
301890 ㅇ받음 [4] ㅇㅇ(183.98) 20.07.13 478 7
301873 념요청] 뻑코게이가 한번만 봐달라는데 봐줘? [11] ㅇㅇ(183.98) 20.07.13 623 10
301819 [모드] 용격 랙 완화 파티클 모드.jpg [12] ㅇㅇ(14.55) 20.07.13 684 14
301811 [재밌는 사진]즐거운 프롭헌트 [14] ㅇㅇ(122.36) 20.07.13 486 9
301798 저건 게임에 지장을 주고 남에게 피해를 끼치는거잖아 [16] 릭523갤로그로 이동합니다. 20.07.13 825 28
301782 하x용 근황 [10] ㅇㅇ(1.236) 20.07.13 603 9
301773 싱글벙글 아키라 [16] 이민욱갤로그로 이동합니다. 20.07.13 701 14
301768 영상 만듬 [12] ㅇㅇ(182.210) 20.07.13 205 8
301629 엔지는 조그만 아가야 [8] 릭523갤로그로 이동합니다. 20.07.12 868 25
301605 이게 수박이야 가슴이야 [10] ㅇㅇ(118.42) 20.07.12 1017 19
301517 노파이 합성해봄 [12] ㅇㅇ(59.21) 20.07.12 743 26
301480 오렌지서버 솔저 [3] O3wn갤로그로 이동합니다. 20.07.12 587 11
301455 정보) '텔포 타려는 사람을 완벽히 제압하는 수준' [8] ㅇㅇ(220.79) 20.07.12 1143 25
301284 팀갤 공식 배너가 나왔습니다 [6] ㅇㅇ(115.41) 20.07.11 626 19
301280 울라풀 막대 영상 만들었다 [13] ㅇㅇ(182.210) 20.07.11 776 20
301170 갤주님을 놀라게한 뉴비 [3] ㅇㅇ갤로그로 이동합니다. 20.07.11 871 24
(장문)슈퍼매치용 디코 봇 구상해봤는데 피드백 앙망한다 [19] 고소한샐러드갤로그로 이동합니다. 20.07.11 766 17
301142 [재밌는사진] 업어드삽질 [5] ㅇㅇ(182.224) 20.07.11 452 10
301136 속보) habib 게이 라운드 이기고 문재인 연창해 [16] 고소한샐러드갤로그로 이동합니다. 20.07.11 816 17
301043 [제 2회 재밌는 사진 대회] [9] ㅇㅇ갤로그로 이동합니다. 20.07.10 651 12
300969 라쟈가 약간 스태리 기질이였음 [14] 릭523갤로그로 이동합니다. 20.07.10 835 9
300903 팀포 플레이어 유형별 특(번역 수정판, 념글수정안되서 재업) [11] 백미찰진밥갤로그로 이동합니다. 20.07.10 1373 14
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2