Hvad er RPA-filformatet?
Filen .rpa er et Ren'Py Archive - et binært containerformat, der bruges af Ren'Py visual-novel-motoren til at samle et spils kompilerede scripts og aktiver i en enkelt distribuerbar pakke. Færdige Ren'Py-spil leveres typisk med en eller flere .rpa-filer (normalt navngivet archive.rpa, images.rpa eller scripts.rpa) inde i mappen game/.
Formatet åbner med en ASCII-headerlinje, der erklærer versionen - enten RPA-2.0 eller den nuværende RPA-3.0 - efterfulgt af en hex-offset til filindekset og, i RPA-3.0, en hex XOR-sløringsnøgle. Indekset gemmes som en zlib-komprimeret, «pickled» Python-dictionary, der mapper interne stier til offset/længde-par i arkivet. RPA-3.0 slører disse offsets let med nøglen fra headeren, men dette er ikke reel kryptering og er trivielt at omstøde.
De indeholdte filer - kompilerede .rpyc scripts, billeder, lyd og video - gemmes råt uden genkomprimering, da hver aktivtype typisk allerede er komprimeret. Arkivet erstatter de menneskeligt læsbare .rpy kildescripts, som ikke er inkluderet i udgivelsesversioner.
.rpa-filer er ikke standard ZIP eller RAR-arkiver og kan ikke åbnes af generelle værktøjer som 7-Zip eller WinRAR. Udpakning kræver et Ren'Py-specifikt værktøj som rpatool eller UnRen.
Sikkerhed og tryghed
RISIKO: MEDIUMSelve arkivcontaineren er inerte data, men et Ren'Py-spil pakket i en .rpa indeholder kompilerede scripts (.rpyc), som er eksekverbar logik for Ren'Py-motoren og kan inkludere fuld Python - så KØRSEL af et upålideligt Ren'Py-spil (eller installation af et mod, hvis .rpa du ikke har inspiceret) kan eksekvere vilkårlig kode på din maskine. Hent spil og mods fra pålidelige kilder, og hvis du udpakker en .rpa for at modde den, bør du gennemse alle dekompilerede scripts før kørsel. «Sløringen» i RPA-3.0 er ikke kryptering og giver ingen sikkerhed; stol aldrig på den til at beskytte hemmeligheder. Udpakning af et arkiv er sikkert; kørsel af dets kode er den del, man skal være forsigtig med.
Formatdetaljer
kort fortalt- RIB iTWO Projektarkiv - Bygge/BIM-softwaren RIB iTWO gemmer projektarkiver som .rpa - åbnes kun med RIB iTWO; et lille mindretal af .rpa-filer (~9%) i forhold til den dominerende Ren'Py-betydning.
- RoboHelp / generisk «projektarkiv» - Enkelte ældre værktøjer har brugt .rpa til urelaterede pakkede projektdata; sjældent i dag.
Programmer der åbner RPA-filer
Tekniske detaljer
dyb specifikation| Filsignatur (magic bytes) | ASCII-header der starter med `RPA-3.0 ` (hex `52 50 41 2D 33 2E 30 20`) ved offset 0; `RPA-2.0 ` for den ældre variant |
| Header-struktur | Enkelt ASCII-tekstlinje indeholdende: versionstag, hex-offset til indekset og (kun RPA-3.0) en hex XOR-sløringsnøgle, afsluttet med et linjeskift-tegn |
| Indekskodning | zlib-komprimeret Python `pickle`-dictionary, der mapper interne filstier til (offset, længde, præfiks) tupler |
| Indekssløring | RPA-3.0 XOR-slører hver indgangs gemte offset og længde med nøglen angivet i headerlinjen; trivielt at omstøde, ikke ægte kryptering |
| Lagring af indeholdte filer | Filer er sammenkædet råt efter headeren uden yderligere komprimering; aktiver (PNG, OGG, WEBM, RPYC) er allerede komprimeret ved kilden |
| Understøttede aktivtyper | Kompilerede scripts (`.rpyc`, `.rpymc`), billeder (PNG, JPEG, WEBP), lyd (OGG, MP3), video (WEBM) og vilkårlige spildatafiler |
| Grænse for indeksindgange | Ingen fast grænse; indekset er en «pickled» Python `dict`, hvis størrelse kun er begrænset af tilgængelig hukommelse |
| Integritetskontrol | Der gemmes ingen kontrolsum pr. fil; formatet forlader sig på den iboende integritet af de indeholdte aktivfiler |
| Versionserklæring | Formatversionen er selverklæret i headerlinjen i klartekst (`RPA-2.0` eller `RPA-3.0`); værktøjer registrerer varianten ved indlæsning uden et separat manifest |
| Typisk arkivstørrelse | Fra få MB til adskillige GB afhængigt af mængden af billeder, lyd og video i spillet |
| Målplatforme | Windows, macOS, Linux, Android, iOS - alle platforme officielt understøttet af Ren'Py-motoren |
| Typiske filnavne | `archive.rpa`, `images.rpa`, `scripts.rpa` - findes i `game/`-mappen i en færdig Ren'Py-titel |
| Container-kompatibilitet | Ikke en variant af ZIP, TAR eller RAR; generelle arkiveringsprogrammer (7-Zip, WinRAR) kan ikke åbne `.rpa`-filer |
| Udvikler / vedligeholder | Tom Rothamel og Ren'Py open-source-projektet; formatet har udviklet sig sammen med motoren (først udgivet i 2004) |
| Udgivet | Ren'Py engine archive format; RPA-3.0 is the long-standing version used by modern Ren'Py |
| Seneste version | RPA-3.0 (current); legacy RPA-2.0 exists; format header line declares the version |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.renpy.org |
RPA-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om RPA-filer.