Hva er RPA-filformatet?
.rpa-filen er et Ren'Py Archive - et binært containerformat som brukes av spillmotoren Ren'Py for visuelle romaner til å samle spillets kompilerte skript og ressurser i én enkelt distribuerbar pakke. Ferdigbygde Ren'Py-spill leveres vanligvis med én eller flere .rpa-filer (vanligvis navngitt archive.rpa, images.rpa eller scripts.rpa) inne i game/-mappen.
Formatet åpner med en ASCII-headerlinje som deklarerer versjonen - enten RPA-2.0 eller den nåværende RPA-3.0 - etterfulgt av en heksadesimal offset til filindeksen og, i RPA-3.0, en heksadesimal XOR-obfuskasjonsnøkkel. Indeksen er lagret som en zlib-komprimert, «pickled» Python-ordbok som mapper interne stier til offset/lengde-par i arkivet. RPA-3.0 obfuskerer disse offsettene lett med nøkkelen fra headeren, men dette er ikke ekte kryptering og er trivielt å reversere.
Inneholdte filer - kompilerte .rpyc-skript, bilder, lyd og video - lagres rått uten ny komprimering, siden hver ressurstype vanligvis allerede er komprimert. Arkivet erstatter de menneskelesbare .rpy-kildeskriptene, som ikke er inkludert i utgivelsesversjoner.
.rpa-filer er ikke standard ZIP- eller RAR-arkiver og kan ikke åpnes av generelle verktøy som 7-Zip eller WinRAR. Ekstraksjon krever et Ren'Py-spesifikt verktøy som rpatool eller UnRen.
Sikkerhet og trygghet
RISIKO: MEDIUMSelve arkivcontaineren er inerte data, men et Ren'Py-spill pakket i en .rpa inneholder kompilerte skript (.rpyc) som er kjørbar logikk for Ren'Py-motoren og kan inkludere full Python - så det å KJØRE et utrygt Ren'Py-spill (eller installere en mod hvis .rpa du ikke har inspisert) kan kjøre vilkårlig kode på maskinen din. Skaff spill og moder fra pålitelige kilder, og hvis du pakker ut en .rpa for å modifisere den, gå gjennom eventuelle dekompilerte skript før kjøring. «Obfuskeringen» i RPA-3.0 er ikke kryptering og gir ingen sikkerhet; stol aldri på den for å beskytte hemmeligheter. Å pakke ut et arkiv er trygt; å kjøre koden er delen man må være forsiktig med.
Formatdetaljer
i et nøtteskall- RIB iTWO prosjektarkiv - Bygge-/BIM-programvaren RIB iTWO lagrer prosjektarkiver som .rpa - åpnes kun med RIB iTWO; et lite mindretall av .rpa-filer (~9 %) sammenlignet med den dominerende Ren'Py-betydningen.
- RoboHelp / generisk «prosjektarkiv» - Noen få eldre verktøy har brukt .rpa for urelaterte pakkede prosjektdata; sjelden i dag.
Programmer som åpner RPA-filer
Tekniske detaljer
dyp spesifikasjon| Filsignatur (magic bytes) | ASCII-header som starter med `RPA-3.0 ` (hex `52 50 41 2D 33 2E 30 20`) ved offset 0; `RPA-2.0 ` for den eldre varianten |
| Header-struktur | Enkel ASCII-tekstlinje som inneholder: versjonstagg, hex-offset til indeksen, og (kun RPA-3.0) en hex XOR-obfuskasjonsnøkkel, avsluttet med et linjeskift |
| Indekskoding | zlib-komprimert Python `pickle`-ordbok som mapper interne filstier til (offset, lengde, prefiks)-tupler |
| Indeksobfuskering | RPA-3.0 XOR-obfuskerer hver oppførings lagrede offset og lengde med nøkkelen deklarert i header-linjen; trivielt reversibelt, ikke ekte kryptering |
| Lagring av inneholdte filer | Filer er slått sammen rått etter headeren uten ytterligere komprimering; ressurser (PNG, OGG, WEBM, RPYC) er allerede komprimert ved kilden |
| Støttede ressurstyper | Kompilerte skript (`.rpyc`, `.rpymc`), bilder (PNG, JPEG, WEBP), lyd (OGG, MP3), video (WEBM) og vilkårlige spilldatafiler |
| Grense for indeksoppføringer | Ingen fast grense; indeksen er en pickled Python `dict` hvis størrelse kun begrenses av tilgjengelig minne |
| Integritetskontroll | Ingen sjekksum per fil er lagret; formatet stoler på den iboende integriteten til de inneholdte ressursfilene |
| Versjonsdeklarasjon | Formatversjon er selvdeklarert i klartekst-headeren (`RPA-2.0` eller `RPA-3.0`); verktøy oppdager varianten ved lesing uten et separat manifest |
| Typisk arkivstørrelse | Fra noen få MB til flere GB avhengig av mengden bilder, lyd og video som er inkludert i spillet |
| Målplattformer | Windows, macOS, Linux, Android, iOS - alle plattformer som offisielt støttes av Ren'Py-motoren |
| Typiske filnavn | `archive.rpa`, `images.rpa`, `scripts.rpa` - finnes i `game/`-mappen til en ferdigbygd Ren'Py-tittel |
| Container-kompatibilitet | Ikke en variant av ZIP, TAR eller RAR; generelle arkivprogrammer (7-Zip, WinRAR) kan ikke åpne `.rpa`-filer |
| Utvikler / vedlikeholder | Tom Rothamel og Ren'Py-prosjektet (åpen kildekode); formatet utviklet seg med motoren (først utgitt 2004) |
| Utgitt | Ren'Py engine archive format; RPA-3.0 is the long-standing version used by modern Ren'Py |
| Siste versjon | RPA-3.0 (current); legacy RPA-2.0 exists; format header line declares the version |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.renpy.org |
RPA-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om RPA-filer.