Pt/Tutorial de Multiplayer

From FlightGear wiki
Jump to: navigation, search

A função multi-jogador do FlightGear torna possível ver outros pilotos e vice-versa. Isto torna possível voar em formação, realizar reabastecimentos aéreos com "tanques" controlados por pessoas reais ou contactar controladores de tráfego aéreo para pedir por orientação.

O multi-jogador pode causar caídas de cadência extremas durante o carregamento de modelos de aeronaves, especialmente modelos pesados como o Boeing 777 ou o Airbus A320neo. É sugerido voar em localizações que não incluam o aeroporto padrão Aeroporto Internacional de São Francisco, devido a haver muitos pilotos na área que são, frequentemente, novos e não seguem CTA ou respeitam o tráfico.

Notas

  • Indicativos de chamada podem ter um máximo de sete caracteres
  • Pode querer verificar a secção de problemas conhecidos

Conectar ao Multi-jogador

Diálogo no simulador

Caixa de diálogo das definições multi-jogador

A forma mais fácil de se ligar é com o diálogo de multi-jogador incorporado no simulador. Basta só introduzir um indicativo de chamada e selecionar um servidor do menu. Clique em Conectar para se ligar.

Utilizando o FGRun

Da página principal

Definições de multi-jogador no FGRun
  1. Selecione a sua aeronave e aeroporto de partida como normal no FGRun.
  2. No último menu, marque a caixa "Multiplayer". Certifique-se que a caixa "AI models" está selecionada, de modo a poder ver as aeronaves dos outros pilotos.
  3. Introduza...
    • Callsign da sua escolha.
    • Hostname: Introduza mpserverXX.flightgear.org (com XX sendo o número do servidor).
    • In/out: Designe ambos 5000.
  4. Clique Run para começar o FlightGear.

Para confirmar que está a funcionar, pode aceder ao mapa multi-jogador em http://mpmap02.flightgear.org/ (em Hong Kong). Assim que o FlightGear tenha começado, observará as mensagens do chat que dizem "Hello", indicador dos pilotos que estão online. Também aparecerão quando um piloto se junte à rede MP. Pode editar esta mensagem ao editar esta linha em $FG_ROOT/preferences.xml:

<chat type="string" preserve="y">Hello</chat>

Quererá utilizar um servidor diferente, especialmente um perto de si.

Das definições de rede

A tab da "Network" (rede) da caixa de diálogo "Advanced Options" (Opções avançadas) no FGRun (no FlightGear 3.2.0).

Também pode modificar as definições de multi-jogador na tab Network (Rede) das "Advanced Options" (Opções avançadas) do FGRun.

  1. Na última página, clique em Advanced.
  2. Clique Network (Rede) na coluna esquerda.
  3. Na área Multiplayer Options (Opções multi-jogador)...
    • Escreva o indicativo de chamada desejado na caixa.
    • Defina os parâmetros das outras duas caixas; veja abaixo para o sintaxe correcto.
    • Clique em OK, e depois corra o FlightGear.

Utilizando o multi-jogador pela linha de comando

Quando executa o FlightGear pela linha de comando, pode especificar as opções multi-jogador. Os dois argumentos são os seguintes:

--multiplay=direction,10,ip.address,port
--callsign=anything

Evidentemente, --callsign pode ser tudo o que desejar. Existem quatro argumentos para com --multiplay:

direction (direcção)
in ou out. in diz ao FlightGear para ouvir a todos os pacotes de dados vindos pela porta especificada. out diz ao FlightGear para enviar dados pela porta
ip.address
Endereço IP do interface da rede a ser utilizado pelo FlightGear. Se em branco, FlightGear ouvirá todos os interfaces da rede. Se a direction (direcção) estiver definida para in, FlightGear ouvirá este endereço IP.
port (porta)
A porta por qual os dados são enviados ou recebidos. Geralmente definido como 5000 e acima.

Uso avançado do multi-jogador

Configuração local para testes

É possível configurar uma rede de multi-jogador local entre duas instâncias de FlightGear sem utilizar um servidor multi-jogador. Tudo o que precisa fazer é mapear cada porta I/O de uma instância com a(s) porta(s) correspondente(s) da outra instância:

Note
Cquote1.png Traduzido/translated

Uma conexão socket necessita não só de um endereço IP, mas também um número de porta para cada lado da ligação - imagina um número de porta como se fosse uma "caixa-de-correio" num endereço. Esta caixa-de-correio é utilizada pelos processos de comunicação para enviar e receber "mensagens". Processos diferentes (mesmo quando programas possivelmente idênticos) precisarão de utilizar números de porta diferentes quando sendo executados, porque portas abertas (=caixas-de-correio) não podem ser partilhadas.

Portanto, terás de modificar as definições da porta no lado do cliente por cada instância adicional que estejas a correr na mesma máquina, e mapear a porta output de uma instância à porta input da outra instância (e vice-versa).


— Hooray (5ª-Feira, 10 de Junho). Re: 2 FGFS instances / 1 win7 running same time with MP?.
(powered by Instant-Cquotes)
Cquote2.png

Parâmetros de linha de comando para a primeira instância:

--multiplay=out,10,127.0.0.1,5000 --multiplay=in,10,127.0.0.1,5001 --callsign=Test1

Parâmetros de linha de comando para a segunda instância:

--multiplay=out,10,127.0.0.1,5001 --multiplay=in,10,127.0.0.1,5000 --callsign=Test2

Pode utilizar este tipo de configuração para testar funções relacionadas ao multi-jogador ou para solucionar relatórios de bugs relacionados com o multi-jogador, quais seriam difícil de reproduzir pelo MP. Como não pode aceder às configurações do FlightGear de terceiros, esta técnica permite-lhe o controlo completo sobre as definições do FlightGear.

Um Screenshot demonstrando uma configuração "peer-to-peer" entre duas instâncias do FlightGear, a correr na mesma máquina via localhost (127.0.0.1), sem qualquer servidor multi-jogador.

Pode adicionar um número arbitrário de canais para copiar o seu vôo para outros servidores, por exemplo para um servidor fgms privado utilizando

--multiplay=out,10,my.private.server.ip,5000

Adicionalmente, o argumento acima in diz ao FlightGear para ouvir no loopback/interface local - não vai receber pacotes que cheguem na(s) outra(s) interface(s) de rede. Se também quer ligar a outras interfaces, simplesmente omite o endereço IP utilizando

--multiplay=in,10,,5000

Veja esta página para ver se o seu indicativo de chamada já está em uso ou não. Não escolha um indicativo de chamada que já esteja em uso, porque tal criará problemas!

Agora, para aos que estão completamente perdidos...

Note  Esta secção poderá conter informações desactualizadas ou incorrectas.

Esta secção devia devia ser desnecessária graças às versões recentes dos servidores do FG. Contudo, se tiver com problemas, não dói se continuar a ler.

Primeiro, precisará de descobrir o endereço IP do interface da rede que irá utilizar para o multi-jogador no FG.

Se a sua conexão Internet for através de um modem ADSL que está ligado directamente ao seu computador, há de descobrir o seu endereço IP visitando http://www.whatismyip.com.

Note  O seu ISP poderá dar-lhe um endereço IP diferente cada vez que se ligar.

Se a sua conexão for via um cabo Ethernet ou uma ligação sem-fio.

  • Linux: Faça o log-in como root e execute ifconfig no terminal. No texto que-lhe é apresentado, procure por um nome de interface como eth0 ou wlan0. Por fim, procure, sob o nome do interface, o texto inet addr:ip.adress. Por exemplo, devia mostrar algo como inet addr:192.168.0.150.
  • Windows:
    • Windows XP ou posterior: Execute uma linha de comando e digite ipconfig no terminal. Note o endereço de IP
    • Windows 98: Clique Iniciar, Correr, e digite "winipcfg" para obter informações sobre o seu endereço IP.

Agora, tudo o que resta é configurar o seu router para redirecionar a porta UDP 5000 ao endereço IP que acabou de encontrar. Isto não é algo que se possa descrever passo-a-passo, porque os interfaces de configuração de cada fabricante diferem muito. Vamos-lhe dar algumas dicas - se debater-se com problemas, peça cordialmente por ajuda no canal IRC do FlightGear (detalhes na página do FlightGear).

Deve saber como fazer o log-in na página de configuração do seu router, tal geralmente feito por um navegador web. Estamos à procura de definições referindo a "redirecionamento de portas", "servidores virtuais", "regras de redirecionamento" ou semelhantes. Quando tiver encontrado as definições relevantes, terá de adicionar uma regra que redirecione a porta 5000 ao endereço IP que recentemente descobriu. Se lhe é posta a escolha, segure-se que a porta que redirecione é UDP. Se não pode escolher, podemos assumir que ambos TCP e UDP estão a ser redirecionados. Grave as suas configurações, e dado que a maior parte dos routers terão de ser recomeçados para poder aplicar as definições, faça tal.

Note  Utilizadores de BSD: Se estiver a usar um modem ADSL, poderá ter de por o comando de redirecionamento da porta no ficheiro "ppp.conf" em vez da firewall. Isto deve-se que o script da firewall só correrá cada vez que a máquina for reiniciada ao cabo da linha "ppp", que o faz sempre que se ligar à Internet.

Por fim, comece o FG utilizando a linha de comando dado no início desta página (se estiver a utilizar o lançador do Windows, encontrará caixas para preencher com argumentos de multi-jogador - digite os detalhes relevantes aqui). Acabará com algo semelhante a isto:

<other arguments> --callsign=test --multiplay=in,10,192.168.0.2,5000 --multiplay=out,10,mpserver05.flightgear.org,5000 --airport=KSFO --runway=28R --aircraft=hunter

Escolha o seu indicativo de chamada, mas verifique esta página primeiro para saber se o seu indicativo de chamada desejado já está a ser usado ou não. Não escolha um indicativo de chamada que já esteja a ser usado, qual criará problemas!

Assim que tiver começado o FG deveria, se houverem outros a voar, ver mensagens no terminal de onde o FG começou, semelhantes a:

Initialising john51a using 'Aircraft/ufo/Models/ufo.xml'  
FGMultiplayRxMgr::ProcessRxData - Add new player. IP: 10.0.0.36,  
Call: john51a,model: Aircraft/ufo/Models/ufo.xml 

TEM que dar o seu endereço local IP para que o multi-jogador funcione. Confie-me neste ponto!

Deve confirmar que a sua firewall não está a criar problemas - ou desligue-lha temporariamente, ou adicione uma excepção para permitir as conexões vindas da porta 5000.

Se pura e simplesmente continuar a não funcionar, peça cordialmente no canal IRC ou no fórum por ajuda e alguém será capaz de o acudir.

Conexões múltiplas por computador

É possível executar múltiplas instâncias do FlightGear num único computador e conectar-os todos à rede multi-jogador. Entretanto, isto requer pensar em alguns extras:

  1. Ambas instâncias utilizam a mesma porta out.
  2. Uma instância utiliza a porta in 5001, a outra a porta 5002.
  3. Ambas as instâncias têm que ter indicativos de chamada únicos.

Detecção de colisão opcional no multi-jogador

Um patch foi adicionado ao FlightGear (desde a versão 3.5) que permite a detecção de colisão opcional no multi-jogador. Para ligar a detecção de colisão, comece o FlightGear com:

--prop:bool:/sim/multiplay/hot=true

Os que são capazes de aplicar patches de FGData podem fazer o download do mp-hot-fgdata.patch, que adiciona a checkbox à caixa de diálogo das definições to multi-jogador para activar ou desactivar a detecção de colisão enquanto o FlightGear corre.

Chat multi-jogador

1rightarrow.png See Chat Menu for the main article about this subject.

Para falar com outros pilotos, vá no menu Multiplayer e selecione Menu Chat no fim do menu. Note que os outros pilotos podem não ter a caixa do chat aberta nem terem o serviço de mensagens activado, por isso podem não ver as suas mensagens.

O atalho para falar é - (hífen). Isto mostrará algum texto no canto esquerdo superior da página do FlightGear. Ao clicar nas teclas de dígitos correspondentes, pode enviar mensagens pré-feitas. Clicar no 1 permite-lhe escrever uma mensagem personalizada, qual pode enviar ao clicar em enter. Por defeito, as mensagens de outros serão exibidas no topo da página do FlightGear por alguns segundos, mas aparecerão por muito mais tempo na janela em Rede > Chat. Por isso, se pensa que perdeu algo, vá lá ver.

Lidar com comportamentos abusivos

Caso se torne victima de comportamento abusivo ou irritante devido a qualquer piloto, tem a opção de ignorar-lo/-la. Para activar a função de ignorar, abra a caixa de diálogo Multiplayer > Lista de pilotos e clique no botão ignorar ao lado do indicativo de chamada do piloto. Isto impede as mensagens do piloto ignorado de aparecer e a aeronave de tal piloto não lhe será visível (a não ser que esteja a usar FlightGear 2.2 ou anterior).

Mapa multi-jogador

Screenshot do MPMap

1rightarrow.png See MPMap for the main article about this subject.

Existe um mapa online muito bom que mostra a localização dos pilotos ligados em mpmap02. Irá achar útil para certificar-se que está a conectar-se aos servidores com sucesso, tal como para ver navaids, pontos de passagem, aeroportos, frequências, clima e muito mais!

Servidores

Os servidores multi-jogador estão interligados. Tirando poucas excepções, não é necessário conectar a um servidor específico para ver pilotos em outros servidores. Para o melhor desempenho, deve conectar-se a um servidor que está perto de si geograficamente, tem a menor latência (ping), ou está menos ocupado.

Tip  Utilize este link ou este para verificar se os servidores MP estão online. Ambas as páginas são automaticamente geradas. O diálogo no simulador só mostra os servidores que estão disponíveis.
Endereço do servidor Estado Localização Rastreado (por mpserver15 se não especificado) Mantido por Nome no IRC de quem mantêm Nome no fórum de quem mantêm Comentários
mpserver01.flightgear.org Online Alemanha Sim Oliver Schroeder os N/A N/A
mpserver02.flightgear.org Online Los Angeles, EUA Não Lloyd Stevens ls4680 ls4680 N/A
mpserver03.flightgear.org Online Alemanha Sim Hergen N/A N/A N/A
mpserver04.flightgear.org Online RU Não Jon Stockill Nav JonS N/A
mpserver05.flightgear.org Offline Chicago, EUA N/A Brant IonCannon218 N/A N/A
mpserver06.flightgear.org Offline Berlim, Alemanha N/A Sven Teichmann N/A D-SAMI Tráfego ilimitado
mpserver07.flightgear.org Offline Wisconsin, EUA N/A Tom Betka TB N/A Offline
mpserver08.flightgear.org Offline Frankfurt am Main, Alemanha N/A Roland Quix0r Quix0r Tráfego a 10 TByte, principalmente pings curtos
mpserver09.flightgear.org Offline Colónia, Alemanha N/A Daniel Vigano Fauchi95 N/A Offline
mpserver10.flightgear.org Offline Montpellier, França N/A Alexis Bory xiii xiii N/A
mpserver11.flightgear.org Offline Vílnius, Lituânia N/A Darius N/A ffg N/A
mpserver12.org Online Amesterdão, Países Baixos Sim (por mpserver12.org) Rob evilslut N/A Antigamente mpserver12.flightgear.org[1]
mpserver13.flightgear.org Offline Grenoble, França N/A Charles Ingels charles cbz-026 N/A
mpserver14.flightgear.org Online RU Sim Pete N/A N/A N/A
mpserver15.flightgear.org N/A North Point, Hong Kong N/A Hazuki Amamiya Hazuki Hazuki Este é um servidor para rastrear, não para multi-jogador
mpserver16.flightgear.org Online Kansas City, Missúri, EUA Sim Rob Dosogne truthsolo truthsolo N/A
mpserver17.flightgear.org Offline Cluj, Roménia N/A Marius tuxum tuxum Offline
mpserver18.flightgear.org Offline Alemanha N/A N/A N/A N/A N/A

Localizações geograficas dos servidores estão disponiveis nos mapas Google.

Se está interessado em anfitriar o seu servidor multi-jogador, quererá ver Como montar um servidor multi-jogador (Inglês)

Problemas conhecidos

Fibertel (Argentina)

Em Dezembro de 2014, foi dada a informação que a conexão UDP pela porta 5000 para quem tivesse a Fibertel This is a link to a Wikipedia article (Argentina) como ISP não era possível.

A Fibertel Argentina usa aparentemente esta porta para fins de configuração. "Deve estar aberta para todos os utilizadores, mas pode não estar completamente funcional."

A porta 5000 é uma porta genérica, e nem o FlightGear nem o protocolo UPnP This is a link to a Wikipedia article são utilizadores "oficiais" desta porta.

Uma solução seria expandir as portas entre os servidores; por exemplo, mpserver01.flightgear.org → 5001, mpserver02.flightgear.org → 5002

Veja também o post no fórum e ticket 1617.

Conteúdo relacionado


Referências