Lub caij nplooj ntoo hlav no kuv tau hla ib qhov project uas cov txiv neej tau kawm yuav ua li cas khiav Dota 2 server version 2014 thiab, raws li, ua si ntawm nws. Kuv yog tus kiv cua loj ntawm qhov kev ua si no, thiab kuv tsis tuaj yeem hla lub sijhawm tshwj xeeb los raus kuv tus kheej hauv kuv thaum yau.
Kuv nquab heev, thiab nws thiaj li tshwm sim hais tias kuv tau sau ib tug Discord bot uas yog lub luag hauj lwm rau yuav luag tag nrho cov functionality uas tsis txaus siab nyob rau hauv lub qub version ntawm qhov kev ua si, uas yog matchmaking.
Ua ntej txhua qhov kev tsim kho tshiab nrog bot, lub chaw tos txais tau tsim manually. Peb tau sau 10 cov lus teb rau cov lus thiab manually sib sau ua ke ib tus neeg rau zaub mov, lossis tuav lub chaw tos txais hauv zos.
Kuv qhov xwm txheej ua tus programmer tsis tuaj yeem tiv taus ntau phau ntawv ua haujlwm, thiab thaum hmo ntuj kuv tau kos tawm qhov yooj yim tshaj plaws ntawm bot, uas tau tsa lub server thaum muaj 10 tus neeg.
Kuv tam sim ntawd txiav txim siab sau rau hauv nodejs, vim kuv tsis nyiam Python tiag tiag, thiab kuv xav tias xis nyob hauv qhov chaw no.
Nov yog kuv thawj qhov kev sau ntawv bot rau Discord, tab sis nws hloov tawm los ua qhov yooj yim heev. Cov nom tswv npm module discord.js muab qhov yooj yim interface rau kev ua haujlwm nrog cov lus, sau cov kev cuam tshuam, thiab lwm yam.
Tsis lees paub: Tag nrho cov qauv code yog "tam sim no", txhais tau tias lawv tau dhau los ntawm ntau qhov kev rov sau dua thaum hmo ntuj.
Lub hauv paus ntawm kev sib tw yog "queue" uas cov neeg ua si uas xav ua si tau muab tso rau hauv thiab tshem tawm thaum lawv tsis xav los yog nrhiav kev ua si.
Qhov no yog qhov tseem ceeb ntawm "tus neeg ua si" zoo li. Thaum xub thawj nws tsuas yog tus neeg siv id hauv Discord, tab sis muaj cov phiaj xwm tshaj tawm / tshawb nrhiav kev ua si los ntawm lub xaib, tab sis ua ntej ua ntej.
Yog li, ua tau zoo, Kuv tau tso cov lej ntawm cov lej uas tsis muaj dab tsi ua rau lub ncauj lus, thiab tam sim no cia peb txav mus ncaj qha rau kev sib tw.
6) RoomService yog pom tseeb zoo siab mloog rau txhua tus kab hauv kev txhawj xeeb txog qhov xwm txheej no. Peb tau txais ib daim ntawv teev cov players raws li kev tawm tswv yim, tsim virtual "chav" los ntawm lawv, thiab, tau kawg, teeb tsa ib qho kev tshwm sim:
queue.addListener("room-found", (event: RoomFoundEvent) => {
console.log(
`Room found mode: [${mode}]. Time to get free room for these guys`
);
const room = this.getFreeRoom(mode);
room.fill(event.players);
this.onRoomFormed(room);
});
7) Yog li peb tau mus rau "siab tshaj" txoj cai - chav kawm Bot. Feem ntau, nws cuam tshuam nrog kev sib txuas ntawm lub rooj vag (Kuv tsis tuaj yeem nkag siab tias nws zoo li cas hauv Lavxias) thiab kev lag luam logic ntawm kev sib tw. Lub bot hnov ββββtxog qhov xwm txheej thiab hais kom DiscordGateway xa daim tshev npaj rau txhua tus neeg siv.
8) Yog tias ib tug neeg tsis lees paub lossis tsis lees txais qhov kev ua si hauv 3 feeb, ces peb TSIS TXHOB xa lawv rov qab rau hauv kab. Peb rov qab txhua tus neeg mus rau hauv kab thiab tos kom txog thaum muaj 10 tus neeg ntxiv. Yog tias txhua tus players tau txais qhov kev ua si, ces qhov nthuav qhia pib.
Dedicated server configuration
Peb cov kev ua si tau tuav ntawm VDS nrog Windows server 2012. Los ntawm qhov no peb tuaj yeem kos ntau cov lus xaus:
Txoj haujlwm yog los khiav cov txheej txheem ntawm VDS los ntawm VPS ntawm Linux. Kuv sau ib qho yooj yim server hauv Flask. Yog lawm, Kuv tsis nyiam Python, tab sis koj tuaj yeem ua li cas? Nws nrawm dua thiab yooj yim dua los sau cov server no rau ntawm nws.
Nws ua 3 txoj haujlwm:
Pib lub server nrog kev teeb tsa - xaiv ib daim ntawv qhia, tus naj npawb ntawm cov neeg ua si pib qhov kev ua si, thiab cov txheej txheem plugins. Kuv yuav tsis sau txog plugins tam sim no - uas yog ib zaj dab neeg sib txawv nrog litres kas fes thaum hmo ntuj sib xyaw nrog kua muag thiab cov plaub hau tawg.
Nres / rov pib dua tus neeg rau zaub mov hauv qhov xwm txheej tsis ua tiav, uas peb tuaj yeem ua manually nkaus xwb.
Yog li, thaum 10 tus neeg tau sib sau ua ke thiab lees txais qhov kev ua si, cov neeg rau zaub mov tau pib thiab txhua tus tau mob siab rau ua si, qhov txuas txuas mus rau qhov kev ua si raug xa hauv cov lus ntiag tug.
Los ntawm txhaj rau qhov txuas, tus neeg ua si txuas mus rau lub server game, thiab tom qab ntawd yog nws. Tom qab ~ 25 feeb, virtual "chav" nrog cov players raug tshem tawm.
Kuv thov zam txim ua ntej rau qhov tsis txaus ntseeg ntawm tsab xov xwm, Kuv tsis tau sau rau ntawm no ntev, thiab muaj ntau txoj cai los qhia txog ntu tseem ceeb. Noodles, luv luv.
Yog tias kuv pom kev txaus siab rau lub ntsiab lus, yuav muaj ib feem thib ob - nws yuav muaj kuv qhov kev tsim txom nrog plugins rau srcds (Tseem ceeb neeg rau zaub mov), thiab, tej zaum, qhov kev ntsuam xyuas qhov system thiab mini-dotabuff, ib qhov chaw nrog kev ua si txheeb cais.