Fiz um servidor de minecraft no meu celular
Estava eu em um fim de semana sem o que fazer. Procurei então ideias para o que fazer com um celular que não uso muito. Descobri que existe um aplicativo para Android que me permite rodar linux tendo um controle parecido com o que tenho em um computador. Então fiz um servidor de terraria rodar no meu celular. Mas eu não fiquei satisfeito, fiquei vontade de tentar algo mais pesado, então vou rodar um servidor de minecraft java no celular :) Uma aulinha teórica básica sobre como servidores funcionam Um servidor é só um programa que "serve" serviços para outros programas (sim, é um mordomo). Ele daí roda em uma computador que permite com que outros dispositivos se conectem. Um servidor de minecraft é só um programa que roda em um computador. Com isso, configuro esse computador pra permitir com que outros computadores se conectem nele. Para essa jornada, eu usarei o Termux Como eu odeio digitar no celular, conectarei nele pelo computador via SSH. pkg upgrade pkg install openssh passwd # para setar uma senha sshd -p 8022 # Rodar o servidor SSH ifconfig # Pra achar o IP privado do celular, geralmente começa com 192. Daí no meu notebook eu só conecto nele! ssh root@192.168.1.28 -p 8022 # Isso é um IP privado, só quem tá na minha rede pode acessar. Configurando o servidor Essas etapas foram retiradas da wiki do jogo, com leves modificações pra facilitar a nossa vida. mkdir minecraft # Criando pasta pra facilitar. pkg install openjdk-21 # Baixando o Java wget https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar -O ./setup_server.jar # Baixando o arquivo de setup Agora, vamos rodar o arquivo de setup. cd ./minecraft java -Xmx2G -Xms1G -jar ./setup-server.jar --nogui Ele vai gerar uma pensa de arquivos nessa pasta. Vamos precisar baixar algum editor de texto pra alterar algums configurações. pkg install vim # Eu prefiro o vim, mas tem o nano também. pkg install nano Edite o arquivo eula.txt, mudando o valor de eula=false pra eula=true. Edite o arquivo server.properties, mudando o valor de online-mode para false, nesse mesmo arquivo tem a porta que o servidor vai rodar, caso queira alterar. Agora tá legal, se quiser testar seu servidor, conecte outro aparelho na mesma rede que você e coloque lá no minecraft ip:porta (a porta padrão é 25565). O IP tu pegaria com o comando ifconfig Exemplo: 192.168.1.28:25565 Massa! Isso aqui funciona tranquilo pra quem estiver na mesma rede que o servidor, mas como esse aqui não é um IP público, ninguém fora da rede consegue jogar com ele. Eu não vou me arriscar a recomendar a fazer um port forwarding e deixar o IP aberto, tendo que configurar no roteador as coisas porque não quero ninguém me enviando e-mail falando que foi hackeado. Então vou ensinar a usar um túnel reverso. Aulinha teórica do que é um túnel reverso Se liberarmos a nossa rede pra qualquer um acessar, corremos o risco de alguém genial invadir nossa rede, fazer um DDoS e derrubarem nossa rede, deixando nossa familia com bastante raiva. Túnel reverso é a maneira mais fácil da gente se manter protegido. Um serviço como o playit (que vou usar aqui) se torna o intermediário na comunição entre jogador-servidor, então são eles que vão se lascar num possível DDoS ou um ataque hacker doidão. O nosso IP não é exposto e pra melhorar é muito mais simples, não precisariamos configurar nada no roteador. Configurando o túnel Só baixar o playit e rodar a CLI dele apt install tur-repo apt update apt install playit playit-cli É só seguir o passo a passo que ele mostrar. Caso prefira, existem outros milhares de túneis por aí pra tu usar. Agora pronto, só usar a feature de sessões do Termux (arrastando pro lado e criando uma nova sessão) pra rodar o túnel e o servidor de Minecraft ao mesmo tempo. Ou usar tmux ;)

Estava eu em um fim de semana sem o que fazer. Procurei então ideias para o que fazer com um celular que não uso muito.
Descobri que existe um aplicativo para Android que me permite rodar linux tendo um controle parecido com o que tenho em um computador.
Então fiz um servidor de terraria rodar no meu celular.
Mas eu não fiquei satisfeito, fiquei vontade de tentar algo mais pesado, então vou rodar um servidor de minecraft java no celular :)
Uma aulinha teórica básica sobre como servidores funcionam
Um servidor é só um programa que "serve" serviços para outros programas (sim, é um mordomo). Ele daí roda em uma computador que permite com que outros dispositivos se conectem.
Um servidor de minecraft é só um programa que roda em um computador. Com isso, configuro esse computador pra permitir com que outros computadores se conectem nele.
Para essa jornada, eu usarei o Termux
Como eu odeio digitar no celular, conectarei nele pelo computador via SSH.
pkg upgrade
pkg install openssh
passwd # para setar uma senha
sshd -p 8022 # Rodar o servidor SSH
ifconfig # Pra achar o IP privado do celular, geralmente começa com 192.
Daí no meu notebook eu só conecto nele!
ssh root@192.168.1.28 -p 8022
# Isso é um IP privado, só quem tá na minha rede pode acessar.
Configurando o servidor
Essas etapas foram retiradas da wiki do jogo, com leves modificações pra facilitar a nossa vida.
mkdir minecraft # Criando pasta pra facilitar.
pkg install openjdk-21 # Baixando o Java
wget https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar -O ./setup_server.jar # Baixando o arquivo de setup
Agora, vamos rodar o arquivo de setup.
cd ./minecraft
java -Xmx2G -Xms1G -jar ./setup-server.jar --nogui
Ele vai gerar uma pensa de arquivos nessa pasta. Vamos precisar baixar algum editor de texto pra alterar algums configurações.
pkg install vim # Eu prefiro o vim, mas tem o nano também.
pkg install nano
- Edite o arquivo eula.txt, mudando o valor de
eula=false
praeula=true
. - Edite o arquivo
server.properties
, mudando o valor deonline-mode
parafalse
, nesse mesmo arquivo tem a porta que o servidor vai rodar, caso queira alterar.
Agora tá legal, se quiser testar seu servidor, conecte outro aparelho na mesma rede que você
e coloque lá no minecraft ip:porta
(a porta padrão é 25565). O IP tu pegaria com o comando ifconfig
Exemplo:
192.168.1.28:25565
Massa! Isso aqui funciona tranquilo pra quem estiver na mesma rede que o servidor, mas como esse aqui não é um IP público, ninguém fora da rede consegue jogar com ele.
Eu não vou me arriscar a recomendar a fazer um port forwarding e deixar o IP aberto, tendo que configurar no roteador as coisas porque não quero ninguém me enviando e-mail falando que foi hackeado.
Então vou ensinar a usar um túnel reverso.
Aulinha teórica do que é um túnel reverso
Se liberarmos a nossa rede pra qualquer um acessar, corremos o risco de alguém genial invadir nossa rede, fazer um DDoS e derrubarem nossa rede, deixando nossa familia com bastante raiva.
Túnel reverso é a maneira mais fácil da gente se manter protegido. Um serviço como o playit (que vou usar aqui) se torna o intermediário na comunição entre jogador-servidor, então são eles que vão se lascar num possível DDoS ou um ataque hacker doidão.
O nosso IP não é exposto e pra melhorar é muito mais simples, não precisariamos configurar nada no roteador.
Configurando o túnel
Só baixar o playit e rodar a CLI dele
apt install tur-repo
apt update
apt install playit
playit-cli
É só seguir o passo a passo que ele mostrar. Caso prefira, existem outros milhares de túneis por aí pra tu usar.
Agora pronto, só usar a feature de sessões do Termux (arrastando pro lado e criando uma nova sessão) pra rodar o túnel e o servidor de Minecraft ao mesmo tempo. Ou usar tmux ;)