> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração

> Tudo o que dá para mudar na pasta config, explicado em palavras simples.

As opções ficam em três arquivos de `rco-steamline/config/`:

* `config.lua`: as opções gerais, empresas, trens, a caldeira, teclas, passageiros, carga, desgaste e os trens do servidor;
* `offices.lua`: os escritórios da ferrovia e as oficinas;
* `supply.lua`: os montes de carvão e as caixas d'água.

Abra com qualquer editor de texto (o Bloco de Notas serve, o VS Code é melhor).

> [!TIP]
>
> Mude só o que vem depois do sinal `=`. Mantenha as aspas `'...'`, as vírgulas e as chaves exatamente como estão. Depois de salvar, reinicie o servidor com o jogo fechado.

## O básico

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.Locale` | Idioma dos textos na tela: `'en'` ou `'pt-br'` | `'en'` |
| `Config.Framework` | Deixe `'auto'`. Só escreva `'rsg'` ou `'vorp'` se o seu servidor rodar as duas | `'auto'` |
| `Config.MoneyAccount` | O dinheiro com que os jogadores pagam: `'cash'` (cash do RSG, dólares do VORP) ou `'gold'` (gold do VORP). No RSG, `'bank'` também funciona | `'cash'` |
| `Config.DisableGameTrains` | Desliga os trens aleatórios do próprio jogo, para nunca baterem nos trens dos jogadores | `true` |
| `Config.Command` | O comando de admin (veja [Admin](https://rust-co.mintlify.site/pt-BR/rco-steamline/admin.md)) | `'steamline'` |
| `Config.MaxTrains` | Trens de jogadores no mundo ao mesmo tempo, no servidor todo. Os trens do próprio servidor saem para abrir espaço para eles | `6` |
| `Config.Debug` | Mostra mensagens a mais nos consoles do servidor e no F8. Ligue só para achar um problema | `false` |

`Config.Volume` regula os sons do próprio recurso, de `0` (desligado) a `1`. Cada um diminui com a distância.

| Opção | O som | Padrão |
| - | - | - |
| `Shovel` | A pá de carvão, ouvida pelos jogadores perto | `0.8` |
| `Injector` | A válvula e o canto do injetor, na cabine | `0.7` |
| `Water` | A água caindo da bica da caixa d'água no tênder | `0.6` |
| `Repair` | O trabalho de reparo na locomotiva e no trilho, ouvido até 6 m | `0.8` |

## Empresas

Sem empresa, sem trem: todo jogador que quer um trem abre uma empresa num escritório da ferrovia, até sozinho. Os cargos só controlam a empresa; qualquer um dela dirige, joga carvão e confere passagem.

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.Company.OpenPrice` | Pago do bolso para abrir uma empresa | `20.0` |
| `Config.Company.MaxMembers` | Pessoas numa empresa, contando o dono | `20` |
| `Config.Company.MaxTrainsOut` | Trens que uma empresa pode ter no mundo ao mesmo tempo | `2` |
| `Config.Company.InviteSeconds` | Quanto tempo uma oferta de emprego espera resposta | `60` |
| `Config.Company.Commission` | % do pagamento de um contrato de carga dividido entre os membros que carregaram. O dono de cada empresa pode mudar para a empresa dele no escritório | `10` |

## Desgaste e reparos

O desgaste vai de `0` (novo) a `100` (gasto) para as rodas, os freios e a caldeira. Rodas gastas deixam o trem mais lento, freios gastos param pior e uma caldeira gasta faz menos pressão.

| Opção | O que faz | Padrão |
| - | - | - |
| `WheelsPerKm` / `WheelsPerOverspeed` | Desgaste das rodas por km rodado / por segundo acima de `OverspeedMph` | `0.4` / `0.05` |
| `BrakesPerKm` / `BrakesPerHardBrake` | Desgaste dos freios por km / por segundo de freada forte (freio acima de 70% em movimento) | `0.2` / `0.08` |
| `BoilerPerKm` / `BoilerPerLowWater` | Desgaste da caldeira por km / por segundo com pouca água na caldeira e fogo alto | `0.2` / `0.01` |
| `BoilerPerHighPressure` | Desgaste da caldeira por segundo com a pressão no topo | `0.005` |
| `HighPressure` | A parte da pressão máxima da caldeira que conta como "o topo" | `0.9` |
| `OverspeedMph` | Acima dessa velocidade (mph) as rodas gastam mais rápido | `25` |
| `MaxLoss` | A parte da velocidade, da freada e da pressão perdida com 100 de desgaste (`0.35` = 35%) | `0.35` |
| `Repair` | O preço cheio de cada peça, de 100 de desgaste até nova: `wheels` $50, `brake` $30, `boiler` \$100. Menos desgaste custa menos. | |
| `PartsShare` | A equipe conserta o trem ela mesma e paga só essa parte daquele preço | `0.4` |

Todas ficam dentro de `Config.Wear`. Rodas com 50 de desgaste custam `50 × 50% × 0.4 = $10` para consertar. Veja [Manutenção](https://rust-co.mintlify.site/pt-BR/rco-steamline/maintenance.md).

## Trens

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.GraceSeconds` | Um trem sem ninguém da equipe perto freia até parar e é tirado depois desses segundos, estacionado de volta no pátio de onde foi chamado | `300` |
| `Config.CrewRadius` | Metros: alguém da equipe mais perto que isso mantém o trem vivo | `150.0` |
| `Config.SwitchRadius` | Metros: o maquinista vira uma agulha da cabine quando ela está a essa distância, e só se nenhum outro trem estiver nela | `400.0` |

### O catálogo

`Config.Trains` é o que o escritório vende. A empresa compra a locomotiva uma vez (ela vem com o tênder) e depois os vagões, um de cada vez (`Config.Cargo.Price`).

```lua theme={"dark"}
Config.Trains = {
    steamline = { label = 'Steamline', price = 1800.0,
        description = 'Engine and tender. Pulls the cars your company buys.' },
}
```

Mude o `label`, o `price` (pago do caixa da empresa) ou a `description` mostrada no catálogo. Mantenha o nome `steamline`.

### Os pátios

`Config.Yards` lista as estações onde os trens são chamados e estacionados. Uma estação fora da lista não é parada: sem passagem, passageiros nem carga nela.

```lua theme={"dark"}
station_rho = { label = 'Rhodes', coords = vector3(1215.30, -1299.80, 75.58), heading = 31.18, radius = 150.0,
    call = vector4(1237.50, -1315.35, 76.90, 110.55) },
```

| Opção | O que faz |
| - | - |
| o nome antes do `=` | O id da estação (`station_rho`). Mantenha: é o nome que a própria ferrovia dá àquela estação |
| `label` | O nome mostrado na tela do pátio |
| `coords` | Um ponto no trilho da própria estação, onde o trem é criado |
| `heading` | Opcional: para onde o trem fica virado lá, por padrão |
| `radius` | Metros: nenhum trem pode ser chamado enquanto outro trem estiver mais perto que isso |
| `call` | Opcional: onde o jogador fica para chamar um trem, quando não é no `coords`: `vector4(x, y, z, direção)` |
| `counter` | Opcional, para uma estação sem escritório: o guichê dela, para onde os NPCs que descem andam e vão embora |

### Os quiosques

`Config.Booths` põe o quiosque da Steamline de cada estação, onde os trens são chamados e os contratos de carga são pegos: `[id da estação] = vector4(x, y, z, direção do balcão)`. Uma estação fora da lista usa o ponto `call` do pátio dela.

## Caldeira e cabine

Pressão em psi, carvão em kg, água em litros, tempo em segundos. Todas ficam dentro de `Config.Boiler`.

| Opção | O que faz | Padrão |
| - | - | - |
| `TenderCoalMax` / `FireboxCoalMax` | Carvão que cabe no tênder / na fornalha | `1500` / `150` |
| `TenderWaterMax` / `BoilerWaterMax` | Água que cabe no tênder / na caldeira | `20000` / `4000` |
| `BurnRate` | kg de carvão queimados por segundo com o fogo todo aberto e o acelerador aberto | `0.12` |
| `WaterPerPsi` | Litros que viram vapor por psi usado | `1.33` |
| `PressurePerKg` | Psi feitos por kg de carvão queimado: mais alto sobe a pressão mais rápido e segura mais dela em movimento | `40.0` |
| `CoolRate` | Parte da pressão perdida a cada segundo enquanto a caldeira esfria (`0.004` = 0,4%) | `0.004` |
| `InjectorRate` | Litros por segundo que o injetor passa do tênder para a caldeira | `20` |
| `DamageRate` | Dano na caldeira por segundo com pouca água e fogo alto (`1.0` = destruída) | `0.01` |
| `DryBoiler` | A caldeira seca com o fogo aceso: `'stop'` (o trem só para) ou `'explode'` | `'stop'` |
| `WreckClearSeconds` | Com `'explode'`: segundos até os destroços serem tirados e mandados para o pátio da oficina mais perto | `60` |
| `SpeedMax` | m/s com pressão cheia e um trem leve (`12` = 27 mph). Trens mais pesados são mais lentos | `12.0` |
| `Start` | O que o trem tem na primeira vez que é chamado: carvão e água no tênder e na caldeira, a pressão e o fogo. As próximas chamadas trazem o que ele tinha quando estacionou | |

Toda chamada é uma partida quente: o fogo está aceso e a caldeira tem pressão, então o trem pode sair na hora.

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.ThrottleNotches` | Posições do acelerador | `8` |
| `Config.ShovelKg` | kg de carvão que uma pá leva do tênder para a fornalha | `15` |
| `Config.ShovelSeconds` | Segundos entre duas pás | `2.5` |

## Teclas

As teclas são escritas com o código da tecla no jogo, não com a letra. A [página de teclas](https://rust-co.mintlify.site/pt-BR/keys.md) tem o código de cada uma. Algumas teclas são repetidas de propósito: cada dica só aparece onde a outra não aparece. Evite o F (a pé ele também é soco, amarrar e soltar), os números (barra de itens) e as setas.

| Opção | O que faz | Padrão |
| - | - | - |
| `ThrottleUp` / `ThrottleDown` | Acelerador uma posição acima / abaixo | **W** / **S** |
| `ReverserBack` / `ReverserFwd` | Reversor para trás / para a frente, com o trem parado | **A** / **D** |
| `Brake` | Freio, segurando | **Espaço** |
| `Emergency` | Freio de emergência | **X** |
| `Whistle` | Apito | **H** |
| `Cruise` | Mantém a velocidade atual | **C** |
| `Injector` | Liga e desliga o injetor | **R** |
| `FireUp` / `FireDown` | Fogo acima / abaixo, na cabine | **U** / **L** |
| `Shovel` | Carvão do tênder para a fornalha, na cabine | **B** |
| `MapCollapse` | Recolhe o mapa da cabine, de novo para mostrar | **Q** |
| `Switch` | Vira a próxima agulha para a outra saída | **Z** |
| `Interact` | Monte de carvão, tênder, caixa d'água, carga, alavanca da agulha, escritório, reparo, assento | **G** |
| `TakeControls` | Perto da locomotiva: sentar no lugar do maquinista | **U** |
| `Fireman` | Perto da locomotiva: cuidar do fogo; de novo para sair | **J** |
| `Yard` | No quiosque: a tela do pátio | **J** |
| `Ticket` | O guichê (escritório ou plataforma) | **L** |
| `Check` | Condutor: conferir a passagem de um passageiro | **G** |
| `Workers` | Num trilho quebrado com um caboose perto: os trabalhadores dele consertam | **J** |
| `Camera` | Na cabine ou sentado: a próxima câmera do trem | **V** |

Todas ficam dentro de `Config.Keys`.

## Carvão e água

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.CoalPerTrip` | kg que cada viagem com a pá desde o monte põe no tênder | `75` |
| `Config.WaterRate` | Litros por segundo enquanto a bica da caixa d'água está aberta | `150` |

Os montes de carvão e as caixas d'água ficam em `config/supply.lua`, um por estação com o id da estação, mais as caixas d'água ao longo da linha:

```lua theme={"dark"}
Config.Supply.station_val = { -- Valentine
    coal = vector3(-161.99, 636.58, 112.67), water = vector3(-156.58, 642.53, 112.67), waterHeading = 53.4,
    hide = { { model = 'p_watertower_med_05', coords = vector3(-158.99, 644.32, 116.44) } } }
```

| Opção | O que faz |
| - | - |
| `coal` | Onde fica o monte de carvão (os jogadores enchem a pá aqui e andam até o tênder) |
| `coalHeading` | Opcional: a direção do monte, com o lado -Y para o trilho. Sem ela, `waterHeading` |
| `water` | Onde fica a caixa d'água, no chão, a 3,2 m do meio do trilho (a bica alcança o tênder) |
| `waterHeading` | A direção da caixa d'água: a bica gira para o lado -Y dela, então vire esse lado para o trilho |
| `hide` | Objetos do jogo que as peças do recurso substituem, escondidos enquanto a nossa está perto |
| `label` | O nome mostrado, para uma caixa d'água longe de uma estação |

Edite, tire ou adicione à vontade. Uma caixa d'água na linha tem só `water`.

## Escritórios e oficinas

`config/offices.lua` tem os escritórios da ferrovia: o escritório da estação, onde as empresas são abertas e administradas, que também é o guichê dela.

```lua theme={"dark"}
{ label = 'Rhodes Station', station = 'station_rho', coords = vector3(1231.19, -1296.21, 76.90),
  cargoPoint = vector3(1221.020, -1299.076, 75.908), cargoHeading = 45.9 },
```

| Opção | O que faz |
| - | - |
| `label` | O nome mostrado |
| `station` | O pátio (um id de `Config.Yards`) de onde saem as passagens |
| `coords` | Onde fica o balcão. Os NPCs que descem andam até lá e vão embora |
| `cargoPoint` | Onde a carga de um contrato espera, ao lado do trilho da plataforma. Uma estação sem ele não tem carga |
| `cargoHeading` | A direção do trilho no ponto de carga |
| `pileShift` | Opcional: metros ao longo de `cargoHeading` até a pilha de entrega (padrão `6`; `0` = no ponto de carga) |

`Config.Workshops` lista os desvios de oficina, onde um trem parado da empresa é consertado: `label`, `coords` (o meio) e `radius` (a que distância, em metros, o trem precisa estar). Annesburg, Emerald, Flatneck e Heartland Oil Fields já vêm prontas. Toda estação também conserta: um trem da empresa parado dentro do `radius` do pátio dela ganha o mesmo reparo. Onde uma estação e uma oficina se sobrepõem, vale a oficina.

## Passageiros

Dinheiro em \$, tempo em segundos, distâncias em metros. Todas ficam dentro de `Config.Passenger`.

| Opção | O que faz | Padrão |
| - | - | - |
| `TicketItem` | O item de inventário da passagem | `'rco_train_ticket'` |
| `TicketSeconds` | Por quanto tempo uma passagem vale depois de comprada | `24 * 3600` |
| `BasePrice` / `PricePerKm` | Preço da passagem = `BasePrice + PricePerKm × km` pelo trilho. Os passageiros NPC pagam o mesmo pelo trecho que andaram | `0.10` / `0.40` |
| `MinMeters` | Sem passagem para uma viagem mais curta que isso | `300` |
| `ArrivalMinutes` | Avisos de chegada para trens a menos desses minutos | `10` |
| `NpcMaxOff` / `NpcMaxOn` | No máximo esse número de passageiros NPC desce / sobe em cada parada | `4` / `4` |
| `WaitMin` / `WaitMax` | NPCs esperando na plataforma por um trem de empresa que chega | `2` / `6` |
| `StopSeconds` | O trem precisa ficar parado esse tempo na estação antes dos NPCs se mexerem | `1` |
| `WaitSeconds` | Os NPCs esperando desistem depois desse tempo sem parada | `180` |

Uma viagem de 10 km custa `0.10 + 0.40 × 10 = $4.10`.

## Carga

Dinheiro em \$, tempo em segundos. Todas ficam dentro de `Config.Cargo`.

| Opção | O que faz | Padrão |
| - | - | - |
| `MaxOwned` | Vagões que uma empresa pode ter | `12` |
| `Price` | O preço de um vagão, pago do caixa da empresa; vendido só para uma empresa que tem locomotiva | passageiros `900`, fechado (`closed`) `55`, prancha (`flatbed`) `110`, caboose `170` |
| `Contracts` | Contratos que um vagão leva | prancha `2`, fechado `1` |
| `Types` | O que os contratos levam: o nome e quantas peças `{ min, max }` um contrato pede | caixas `{ 6, 12 }` (pilhas inteiras de 3), barris `{ 4, 12 }`, toras `{ 8, 16 }` |
| `PerStation` | Contratos oferecidos em cada escritório | `3` |
| `RefreshSeconds` | As ofertas que ninguém pegou são trocadas depois desse tempo | `1800` |
| `MaxActive` | Contratos que um trem pode ter ao mesmo tempo | `3` |
| `PayBase` / `PayPerTonKm` | Pagamento = `PayBase + PayPerTonKm × toneladas × km` pelo trilho | `5.0` / `0.18` |
| `DeadlineBase` / `DeadlinePerKm` | Prazo para entregar depois de aceitar: base + por km | `900` / `120` |
| `LatePay` | A parte paga quando o prazo já passou | `0.5` |
| `ExpireGrace` | Segundos depois do prazo em que o contrato é cancelado e as peças somem | `600` |

## Manutenção do trilho

Pontos de reparo aparecem ao longo das linhas. Uma empresa com um trem parado perto de um deles conserta: os trabalhadores do caboose fazem quando o trem tem caboose, ou o jogador faz na mão com as ferramentas do tênder.

| Opção | O que faz | Padrão |
| - | - | - |
| `Config.Maintenance.Points` | Pontos de reparo abertos ao mesmo tempo na ferrovia toda | `6` |
| `Config.Maintenance.RemoteAt` | Metros da estação mais perto: daqui em diante uma quebra é tão provável quanto em qualquer lugar; mais perto ela fica mais rara (nenhuma na própria estação) | `1500.0` |
| `Config.Maintenance.Pay` | \$ pagos ao caixa da empresa por reparo | `2.0` |

## Preços da customização

`Config.CustomPrices` é quanto custa cada mudança no visual da locomotiva, pago do caixa da empresa. Tirar uma peça é de graça.

| Opção | A mudança | Padrão |
| - | - | - |
| `tint` | Pintura da locomotiva | `8.0` |
| `tenderTint` | Pintura do tênder | `5.0` |
| `front` | Cor da frente da locomotiva | `3.0` |
| `livery` | Livery da locomotiva | `12.0` |
| `tenderLivery` | Livery do tênder | `8.0` |
| `star` | Estrela da porta | `1.5` |
| `candles` | Par de castiçais de latão ao lado do farol | `3.0` |
| `toolbox` | Caixa de ferramentas no tênder | `2.5` |

## Trens do servidor

Os trens do próprio servidor rodam por horário quando nenhum trem de jogador precisa da linha. Um trem só existe no mundo perto de jogadores; longe de todo mundo, a posição dele sai do horário. Ele cede a linha a um trem de jogador que precisa dela, e é tirado se ficar parado tempo demais.

| Opção | O que faz | Padrão |
| - | - | - |
| `enabled` | `false` desliga os trens do servidor | `true` |
| `Speed` | m/s em viagem (`12` = 27 mph), para uma rota sem velocidade própria | `12.0` |
| `Dwell` | Segundos parado em cada estação, para uma rota sem tempo próprio | `45` |
| `SpawnRadius` | Metros: um jogador a essa distância de onde o horário põe o trem traz ele para o mundo | `300.0` |
| `DespawnRadius` | Metros: sem ninguém a essa distância, ele sai do mundo (o horário continua) | `450.0` |
| `GraceSeconds` | Parado longe de uma estação esse tempo: é tirado e volta para trás | `120` |
| `YieldSeconds` | Depois de ceder a linha (ou ser tirado), fica fora do mundo esse tempo | `300` |
| `Fares` | Vende passagem no guichê, como a empresa "Ferrovia" | `true` |
| `FareCompany` | O id de uma empresa que recebe as tarifas; `nil` = o dinheiro não vai para ninguém | `nil` |

Todas ficam dentro de `Config.NpcTrain`. `Config.NpcRoutes` lista as rotas: cada uma é um trem com o próprio horário, de parada em parada, ida e volta.

```lua theme={"dark"}
{ name = 'Bayou Express', stops = { 'station_rho', 'station_nb' },
  train = 'steamline', cars = { 'passenger', 'passenger', 'caboose' }, speed = 14.0 },
```

| Opção | O que faz |
| - | - |
| `name` | O nome do trem, mostrado aos jogadores |
| `stops` | Ids de pátio em ordem (`Config.Yards`) |
| `train` | Um id de trem de `Config.Trains` |
| `cars` | Os vagões em ordem (`'passenger'`, `'closed'`, `'flatbed'`): até 3, mais um `'caboose'` opcional no fim |
| `speed` / `dwell` | Opcionais: m/s em viagem / segundos em cada parada |

Quatro rotas já vêm prontas: Heartland Local (Valentine, Emerald, Rhodes), Lannahechee Line (Saint Denis, Annesburg), Bayou Express (Rhodes, Saint Denis) e Cumberland Line (Riggs, Wallace, Valentine). Uma rota cujas paradas o trilho não liga fica de fora, com um aviso no console do servidor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.