Difference between revisions of "Pt/Tutorial de Multiplayer"

From FlightGear wiki
Jump to: navigation, search
Line 113: Line 113:
 
Se a sua conexão for via um cabo ''Ethernet'' ou uma ligação sem-fio.
 
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 <code>ifconfig</code> no terminal. No texto que-lhe é apresentado, procure por um nome de interface como <code>eth0</code> ou <code>wlan0</code>. Finalmente,
+
*'''''Linux:''''' Faça o ''log-in'' como ''root'' e execute <code>ifconfig</code> no terminal. No texto que-lhe é apresentado, procure por um nome de interface como <code>eth0</code> ou <code>wlan0</code>. Por fim, procure, sob o nome do interface, o texto <code>inet addr:ip.adress</code>. Por exemplo, devia mostrar algo como <code>inet addr:192.168.0.150</code>.
 
*'''''Windows:'''''
 
*'''''Windows:'''''
 +
**'''''Windows XP''''' '''ou posterior:''' Execute uma linha de comando e digite <code>ipconfig</code> 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 [[FlightGear IRC channel|canal ''IRC'' do FlightGear]] (detalhes na página do FlightGear).
  
{{BeingTranslated}}[[User:Thefan|Thefan630]] ([[User talk:Thefan|talk]]) 14:09, 12 May 2016 (EDT)
+
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.
  
'''Servidores:'''<br />
+
{{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''.}}
Os diversos servidores são conectados internamente, sendo assim, não é necessário ficar entrando em diferentes servidores para ver quem está conectado. Independente de qual servidor você estiver conectado, todos irão se visualizar no simulador.
+
Recomendamos que você conecte no servidor que esta geograficamente mais perto de você pois assim você terá menor latência (ping).
+
  
 +
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:
 +
<syntaxhighlight lang="bash" enclose="div">
 +
<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
 +
</syntaxhighlight>
  
{| class="prettytable" border="1px solid" cellspacing="0" cellpadding="2" style="border-collapse: collapse;"
+
Escolha o seu indicativo de chamada, mas verifique [http://fgfs.i-net.hu/modules/fgtracker/ 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!
! style="background:#efefef" |Server
+
 
! style="background:#efefef" |Location
+
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:
! style="background:#efefef" |[http://mpserver15.flightgear.org Tracked]
+
 
! style="background:#efefef" |Maintainer
+
Initialising john51a using 'Aircraft/ufo/Models/ufo.xml' 
! style="background:#efefef" |[[IRC]] Name
+
FGMultiplayRxMgr::ProcessRxData - Add new player. IP: 10.0.0.36, 
! style="background:#efefef" |[http://flightgear.org/forums Forum] Name
+
Call: john51a,model: Aircraft/ufo/Models/ufo.xml
! style="background:#efefef" |Comments
+
 
 +
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 [[FlightGear IRC channel|canal ''IRC'']] ou no [http://forum.flightgear.org/ 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:
 +
# Ambas instâncias utilizam a mesma porta <code>out</code>.
 +
# Uma instância utiliza a porta <code>in</code> <code>5001</code>, a outra a porta <code>5002</code>.
 +
# 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:
 +
 
 +
<syntaxhighlight>
 +
--prop:bool:/sim/multiplay/hot=true
 +
</syntaxhighlight>
 +
 
 +
Os que são capazes de aplicar ''patches'' de ''FGData'' podem fazer o ''download'' do [http://sourceforge.net/p/flightgear/mailman/attachment/CAHs0wcrEwYZvXTddcUaH0ZMfmVNvEWRap8MXOrEoKybUDO58sQ%40mail.gmail.com/3/ 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 ==
 +
{{Main article|Chat Menu}}
 +
 
 +
Para falar com outros pilotos, vá no menu <tt>Multiplayer</tt> e selecione <tt>Menu Chat</tt> 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 é {{button|-}} (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 {{button|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 <tt>Rede > Chat</tt>. 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 <tt>Multiplayer > Lista de pilotos</tt> e clique no botão <tt>ignorar</tt> 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 ==
 +
[[File:MP_Server.jpg|thumb|300px|''Screenshot'' do [[MPMap]]]]
 +
{{Main article|MPMap}}
 +
 
 +
Existe um mapa ''online'' muito bom que mostra a localização dos pilotos ligados em [http://mpmap02.flightgear.org ''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 [http://mpmap01.flightgear.org/mpstatus/ este ''link''] ou [http://mpserver15.flightgear.org/mpserverstatus/ este] para verificar se os servidores ''MP'' estão ''online''. Ambas as páginas são automaticamente geradas. O [[#Diálogo no simulador|diálogo no simulador]] só mostra os servidores que estão disponíveis.}}
 +
 
 +
{| class="wikitable sortable"
 +
! Endereço do servidor
 +
! Estado
 +
! Localização
 +
! Rastreado (por [http://mpserver15.flightgear.org ''mpserver15''] se não especificado)
 +
! Mantido por
 +
! Nome no [[IRC]] de quem mantêm
 +
! Nome no [http://flightgear.org/forums fórum] de quem mantêm
 +
! Comentários
 
|-
 
|-
|fg.noahbuscher.com
+
| mpserver01.flightgear.org
|US
+
| {{yes|''Online''}}
|{{no}}
+
| Alemanha
|Noah Buscher
+
| {{yes|Sim}}
|Noah
+
| Oliver Schroeder
|Noah
+
| os
|May be merged with main servers in the near future.
+
| {{N/a}}
 +
| {{N/a}}
 
|-
 
|-
 +
| mpserver02.flightgear.org
 +
| {{yes|''Online''}}
 +
| Los Angeles, EUA
 +
| {{no|Não}}
 +
| Lloyd Stevens
 +
| ls4680
 +
| ls4680
 +
| {{N/a}}
 
|-
 
|-
|mpserver01.flightgear.org
+
| mpserver03.flightgear.org
|Germany
+
| {{yes|''Online''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Alemanha
|Oliver Schroeder
+
| {{yes|Sim}}
|os
+
| Hergen
|
+
| {{N/a}}
|
+
| {{N/a}}
 +
| {{N/a}}
 
|-
 
|-
|mpserver02.flightgear.org
+
| mpserver04.flightgear.org
|Los Angeles, USA
+
| {{yes|''Online''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| RU
|Lloyd Stevens
+
| {{no|Não}}
|ls4680
+
| Jon Stockill
|ls4680
+
| Nav
|
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=738 JonS]
 +
| {{N/a}}
 
|-
 
|-
|mpserver03.flightgear.org
+
| mpserver05.flightgear.org
|Germany
+
| {{no|''Offline''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Chicago, EUA
|Hergen
+
| {{N/a}}
|
+
| Brant
|
+
| IonCannon218
|
+
| {{N/a}}
|-
+
| {{N/a}}
|mpserver04.flightgear.org
+
|UK
+
|{{no}}
+
|Jon Stockill
+
|Nav
+
|JonS
+
|
+
|-
+
|mpserver05.flightgear.org
+
|Chicago, USA
+
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
|Brant
+
|IonCannon218
+
|
+
|
+
 
|-       
 
|-       
|mpserver06.flightgear.org
+
| mpserver06.flightgear.org
|Berlin, Germany
+
| {{no|''Offline''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Berlim, Alemanha
|Sven Teichmann
+
| {{N/a}}
|
+
| Sven Teichmann
|D-SAMI
+
| {{N/a}}
|Unlimited traffic
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=11839 D-SAMI]
 +
| Tráfego ilimitado
 
|-       
 
|-       
|mpserver07.flightgear.org
+
| mpserver07.flightgear.org
|Wisconsin, USA
+
| {{no|''Offline''}}
|{{n/a}}
+
| Wisconsin, EUA
|Tom Betka
+
| {{N/a}}
|TB
+
| Tom Betka
|
+
| TB
|Offline
+
| {{N/a}}
 +
| ''Offline''
 
|-       
 
|-       
|mpserver08.flightgear.org
+
| mpserver08.flightgear.org
|Frankfurt am Main, Germany
+
| {{no|''Offline''}}
|{{no}}
+
| Frankfurt am Main, Alemanha
|Roland
+
| {{N/a}}
|Quix0r
+
| Roland
|Quix0r
+
| Quix0r
|10 TByte traffic, mostly short pings
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=7512 Quix0r]
 +
| Tráfego a 10 TByte, principalmente ''pings'' curtos
 
|-
 
|-
|mpserver09.flightgear.org
+
| mpserver09.flightgear.org
|Köln, Germany
+
| {{no|''Offline''}}
|{{n/a}}
+
| Colónia, Alemanha
|Daniel Vigano
+
| {{N/a}}
|Fauchi95
+
| Daniel Vigano
|
+
| Fauchi95
|Offline
+
| {{N/a}}
 +
| ''Offline''
 
|-
 
|-
|mpserver10.flightgear.org
+
| mpserver10.flightgear.org
|Montpellier, France
+
| {{no|''Offline''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Montpellier, França
|Alexis Bory
+
| {{N/a}}
|xiii
+
| {{usr|Xiii|Alexis Bory}}
|xiii
+
| xiii
|
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=884 xiii]
 +
| {{N/a}}
 
|-
 
|-
|mpserver11.flightgear.org
+
| mpserver11.flightgear.org
|Vilnius, Lithuania
+
| {{no|''Offline''}}
|{{no}}
+
| Vílnius, Lituânia
|Darius
+
| {{N/a}}
|
+
| Darius
|ffg
+
| {{N/a}}
|
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=1122 ffg]
 +
| {{N/a}}
 
|-
 
|-
|mpserver12.flightgear.org
+
| mpserver12.org
|Amsterdam, the Netherlands
+
| {{yes|''Online''}}
|{{yes|[http://mpserver12.flightgear.org mpserver12]}}
+
| Amesterdão, Países Baixos
|Rob
+
| {{yes|Sim}} (por [http://mpserver12.org mpserver12.org])
|evilslut
+
| Rob
|evilslut
+
| evilslut
|
+
| {{N/a}}
 +
| Antigamente mpserver12.flightgear.org<ref>http://forum.flightgear.org/viewtopic.php?f=27&t=27453&start=60#p258435</ref>
 
|-
 
|-
|mpserver13.flightgear.org
+
| mpserver13.flightgear.org
|Grenoble, France
+
| {{no|''Offline''}}
|{{no}}
+
| Grenoble, França
|Charles Ingels
+
| {{N/a}}
|charles
+
| Charles Ingels
|cbz-026
+
| charles
|
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=1592 cbz-026]
 +
| {{N/a}}
 
|-
 
|-
|mpserver14.flightgear.org
+
| mpserver14.flightgear.org
|Zurich, Switzerland
+
| {{yes|''Online''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| RU
|Yves Sablonier
+
| {{yes|Sim}}
|gral
+
| Pete
|gral
+
| {{N/a}}
|
+
| {{N/a}}
 +
| {{N/a}}
 
|-
 
|-
|mpserver15.flightgear.org
+
| mpserver15.flightgear.org
|North Point, Hong Kong
+
| {{N/a}}
|{{n/a}}
+
| North Point, Hong Kong
|Hazuki Amamiya
+
| {{N/a}}
|Hazuki
+
| Hazuki Amamiya
|Hazuki
+
| Hazuki
|This is FGTracker, not a multiplayer server
+
| Hazuki
 +
| Este é um servidor para rastrear, não para multi-jogador
 
|-
 
|-
|mpserver16.flightgear.org
+
| mpserver16.flightgear.org
|Kansas City, Missouri, USA
+
| {{yes|''Online''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Kansas City, Missúri, EUA
|Rob Dosogne
+
| {{yes|Sim}}
|truthsolo
+
| Rob Dosogne
|truthsolo
+
| truthsolo
|
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=9926 truthsolo]
 +
| {{N/a}}
 
|-
 
|-
|mpserver17.flightgear.org
+
| mpserver17.flightgear.org
|Cluj, Romania
+
| {{no|''Offline''}}
|{{n/a}}
+
| Cluj, Roménia
|Marius
+
| {{N/a}}
|tuxum
+
| Marius
|tuxum
+
| tuxum
|Offline
+
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=11636 tuxum]
 +
| ''Offline''
 
|-
 
|-
|mpserver18.flightgear.org
+
| mpserver18.flightgear.org
|Germany
+
| {{no|''Offline''}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
+
| Alemanha
|
+
| {{N/a}}
|
+
| {{N/a}}
|
+
| {{N/a}}
|
+
| {{N/a}}
 +
| {{N/a}}
 
|}
 
|}
''Information as at 2014-01-04''
+
 
 +
Localizações geograficas dos servidores estão disponiveis nos [http://goo.gl/maps/jBwUd mapas Google].
 +
 
 +
Se está interessado em anfitriar o seu servidor multi-jogador, quererá ver [[Howto: Set up a multiplayer server|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 {{Wikipedia|Fibertel}} (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 {{Wikipedia|''UPnP''}} 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 [http://forum.flightgear.org/viewtopic.php?f=27&t=24754 ''post'' no fórum] e {{issue|1617}}.
 +
 
 +
== Conteúdo relacionado ==
 +
* [[FlightGear Multiplayer Server|Servidor multi-jogador FlightGear]]
 +
* [[Howto: Set up a multiplayer server|Como montar um servidor multi-jogador]]
 +
* [[Multiplayer protocol|Protocolo multi-jogador]]
 +
* [[Howto:Transmit_properties_over_MP|Como transmitir propriedades pelo ''MP'']]
  
  

Revision as of 19:47, 12 May 2016

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