Underground 2 Revived
Chrome과 Firefox에서 Need for Speed Underground 2를 WebGPU로 두고 팬 프로젝트입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Rank de Teamfight Tactics de qualquer jogador e comando pronto para o chat da live (StreamElements). Endereço: https://elorank-games.com.br/rank-tft
Roda em Cloudflare Workers. O gateway do domínio (repositório
elorank-games) repassa /rank-tft e as APIs /api/tft/*, /cmd/tft/* e
api.elorank-games.com.br/tft/* para este Worker.
src/
index.js entrada do Worker (monta banco Neon + Riot com os segredos)
app.js rotas da API (Hono)
banco.js SQL: tft_players + accounts (compartilhada com LoL e Valorant)
riot.js API da Riot (conta e liga de TFT) e regiões
template.js monta o texto do comando (funções puras)
public/
index.html página (visual do design system EloRank: /ds/elorank.css)
test/ testes (npm test)
wrangler.jsonc configuração do Worker
server.js servidor ANTIGO (Express na Vercel) — ver "Transição"
| Rota | O que faz |
|---|---|
GET /api/tft/health | Saúde do serviço |
POST /api/tft/register | { gameName, tagLine, region } → registra e devolve o ID EloRank (account_id) |
POST /api/tft/puuid | Mesmo corpo; só consulta |
POST /api/tft/preview | { riot_puuid, msg, mode, lang } → texto do comando |
GET /api/tft/cmd/:id | Comando do bot (texto puro). :id = ID EloRank ou puuid antigo |
GET /cmd/tft/:id | O mesmo, caminho antigo |
GET /api/tft/cmd?player=Nome%23Tag®ion=br1 | Comando por nome ("!rank Nome#Tag") |
Parâmetros do comando: msg (template; aspas externas são removidas), mode
(tft, tft_double_up, tft_turbo), lang (pt, en), region.
Comando gerado pelo site:
$(customapi https://api.elorank-games.com.br/tft/cmd/ID?msg="(player) está (rank) com (pontos) pontos")
(player) (tag) (region) (modo) · (rank) (tier) (divisao) (pontos) ·
(vitorias) (derrotas) (winrate) (jogos) — também {var}. No TFT,
(vitorias) é top 1 e (derrotas) é do 2º ao 8º (é como a Riot devolve).
Cada comando do bot chama um endereço que faz uma coisa só (src/endpoints.js;
documentação pública em elorank-games.com.br/docs).
| Rota | O que faz | Busca em |
|---|---|---|
GET /api/tft/elo/nick?player=Nome%23Tag (ou /elo/nick/Nome/Tag) | Elo pelo nick | Riot (sem banco) |
GET /api/tft/elo/puuid/:puuid | Elo pelo PUUID | Riot (sem banco) |
GET /api/tft/elo/id/:id | Elo pelo ID EloRank | 1 leitura da accounts + Riot |
GET /api/tft/puuid?player=Nome%23Tag | Só o PUUID | Riot |
GET /api/tft/status | Saúde da API, do banco e da Riot (?format=text para o chat) | banco + da Riot |
Parâmetros: region (br1 padrão), msg, format=json, mode (tft, tft_double_up, tft_turbo), lang. Texto sai sempre
com status 200 (o bot imprime até o erro); respostas boas ficam em cache curto.
${customapi https://api.elorank-games.com.br/tft/elo/nick?player=${queryescape ${1:}}®ion=br1}
Asrus21/rank-tft.
O nome do Worker precisa ser rank-tft. Comando de deploy:
npx wrangler deploy.RIOT_API_KEY — a mesma chave da Riot de hoje;DATABASE_URL — a mesma do LoL e do Valorant (Neon), por causa da
tabela accounts compartilhada.rank-tft.<sua-conta>.workers.dev/api/tft/health.elorank-games, ative o binding RANK_TFT no
wrangler.jsonc. A partir daí, elorank-games.com.br/rank-tft vem deste
Worker.npm install
npm test # rotas e template (banco e Riot falsos)
npm run check # valida o build do Worker
npx wrangler dev # local; segredos em .dev.vars (não vai para o git)
Para testar o SQL de verdade contra um Postgres descartável:
TEST_DATABASE_URL=postgres://... npm test (as tabelas são apagadas).
server.js + vercel.json são o servidor antigo, ainda publicado na Vercel
(rank-tft.vercel.app). Os comandos de bot antigos (api.asrus.app/tft/...,
asrus.app/cmd/tft/...) dependem dele. Quando o asrus.app passar a repassar
esses caminhos para o domínio novo, apague server.js, vercel.json e as
dependências do Express, e desligue o projeto na Vercel.
EloRank Games não é endossado pela Riot Games e não reflete as opiniões da Riot Games ou de quem está envolvido oficialmente com seus produtos. Riot Games, Teamfight Tactics e todas as marcas associadas são marcas registradas da Riot Games, Inc.