Repository navigation
Releases: promano7/vpa-linux
Release list
VPA-Linux 3.67.6
VPA-Linux 3.67.6 — Native Wayland, pluggable graphics backends and combat-viewer charge indicators
🇬🇧 English. A new release of the native GNU/Linux build of VGA
Planets Assistant (VPA) 3.67, the classic client for the play-by-email
strategy game VGA Planets 3. Built from the original Turbo/Borland Pascal DOS
source with Free Pascal — no DOSBox, no dosemu. Star map, ships, planets,
StarBases, messages, and a native, bit-exact PHost combat viewer (replacing
the old DOS-only PVCR.EXE), all running natively on X11 and, from this
release on, natively on Wayland too.
The headline of this release is native Wayland support: VPA no longer
needs XWayland in a Wayland session, and the mouse pointer is no longer
trapped in its window. To get there the graphics layer was rebuilt as
run-time plugins, one per display system, behind a common internal API. A
handful of fixes come along with it — see What's new below.
Downloads
vpa-linux-3.67.6-x86_64.tar.gz— pre-built binary for 64-bit x86 +
everything you need to run it: theplugins/folder with the two
graphics backends and the bundled SDL3 (new, see below),VPA.HLP,
VPA_RUS.HLP,VPA.MSG,DISTTABL.DAT,LITT_VPA.CHR. Start here if
you're on a regular PC and just want to play. SeeHOWTO.en.md/HOWTO.es.mdfor
setup instructions, including which files from your own VGA Planets
installation and host you'll still need.vpa-linux-3.67.6-aarch64.tar.gz— pre-built binary for 64-bit ARM
(Raspberry Pi 3/4/5 and other aarch64 boards), same contents as the x86_64
package, both plugins and SDL3 included.vpa-linux-3.67.6-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself.
Requirements
64-bit Linux (x86_64 or aarch64) with glibc 2.34 or later (Debian 12,
Ubuntu 22.04 and anything newer), and a graphical session, X11 or
Wayland. The VPA binary itself only needs libc; the plugins use the
libraries every desktop already has: the usual X11 ones (libX11, libXext,
libXfixes, libXi, libXrandr, libXxf86vm) for the X11 plugin, and the Wayland
client libraries (libwayland-client, libxkbcommon, libdecor) for the Wayland
plugin. SDL3 is bundled, you don't need to install it. Full details and
per-distribution package names in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.6-<arch>.tar.gz # x86_64 or aarch64
cd vpa-linux-3.67.6-<arch>
chmod +x VPA
./VPA <race> [game-directory]
The plugins/ folder must stay next to the VPA binary — VPA won't
start without it. If you copy VPA to your own games folder, copy
plugins/ along with it. VPA.HLP must be present in the directory you run
VPA from — it's required to start.
What's new in 3.67.6
Native Wayland — how it was done
Up to 3.67.5, VPA linked the Free Pascal ptcgraph library and, through it,
seven X11 libraries: it was an X11 program, and in a Wayland session it only
ran through XWayland. That is where the known limitation of the last two
releases came from: the mouse pointer was grabbed when it entered the window
and never released, because all the pointer handling was X11 code
(XGrabPointer/XWarpPointer) that Wayland deliberately does not honour.
Patching around it was not possible; the fix had to be structural.
-
The executable no longer draws by itself.
VPAnow links no graphics
library at all (ldd VPA: libc only). A new core,GRAPH/(VPAGraph),
offers VPA the same BGI drawing API it has always used, plus keyboard and
mouse, so VPA's ~2,400 drawing calls did not change:uses ptcgraphsimply
becameuses vpagraph. At start-up the core loads a graphics plugin
withdlopenand forwards every call to it through a table of function
pointers (the VPAGraph ABI v1). Before a plugin is accepted its ABI version,
its table size and every mandatory entry are checked. -
Two plugins, the same drawing code.
plugins/libvpagraph-x11.soand
plugins/libvpagraph-wayland.soboth contain the sameptcgraph; only the
PTC "console" that finally puts the pixels on screen differs. The X11 one is
the console VPA-Linux has always used; the Wayland one is a new PTC console
written for this port on top of SDL3, which talks to the compositor
natively. That is why the picture is byte-for-byte identical on both
backends — and it is not taken on trust:make visual-testcaptures a set
of reference scenes from a real game on X11 and on Wayland and compares
every frame with the golden ones, with a threshold of zero.VPA (executable) libc only └─ GRAPH/ VPAGraph core BGI API + keyboard + mouse + plugin loader │ VPAGraph ABI v1 (table of function pointers) ├─ plugins/libvpagraph-x11.so ptcgraph on PTC's X11 console └─ plugins/libvpagraph-wayland.so the same ptcgraph on a new │ SDL3 console (native Wayland) └─ plugins/libSDL3.so.0 bundled SDL 3.4.16 -
Why plugins and not two builds. There is still a single
VPA
binary. If SDL3 were linked into the executable, a system without it could
not start VPA at all; as a plugin, a missing SDL3 just means the Wayland
plugin does not load and VPA carries on with X11, exactly as before. -
Nothing to configure. VPA looks at the session (
WAYLAND_DISPLAY,
DISPLAY,XDG_SESSION_TYPE), loads the matching plugin and, if it fails,
tries the other one.VPA_GRAPH_BACKEND=x11or=waylandforces one, and a
forced backend never falls back silently: if it fails, VPA stops and says
why. The new./VPA --graph-infoexplains the whole decision (session,
order tried, plugin chosen, or every reason why none worked) without opening
a window — attach its output to any graphics bug report../VPA --help
now also lists the VPA-Linux environment variables. -
SDL3 comes in the package. Many distributions don't ship SDL3 yet, and
some ship one that is too old, so the package carries its own:
plugins/libSDL3.so.0, SDL 3.4.16 built from the unmodified official
tarball with only what VPA uses (Wayland video, events and rendering), its
zlib licence inLICENSE.SDL3.txt. Nothing is installed in your system. The
plugin looks for it next to itself first and in the system second, so if
you'd rather use your distribution's SDL3 (3.4.4 or later), just delete the
bundled copy. -
What you get on Wayland. The pointer comes and goes freely: VPA's white
crosshair inside the window, the desktop's cursor outside. The picture stays
sharp with fractional desktop scaling (tested at 100 %, 125 %, 150 %, 200 %
and 240 %). The window keeps VPA's 4:3 shape when you resize it, as on X11,
andVPA_SCALE=fullscreenfills the screen with black side bands and no
distortion. The map stops auto-scrolling when the pointer is over those
bands. The window's [X] button saves your turn like Alt-X. Key repeat,
keyboard focus (also after returning fromEdit file) and Ctrl-+ / Ctrl--
on non-US layouts all work, and the "sticky mouse" that pulls the pointer
onto planets and ships works on compositors that allow pointer warping. -
Built for older systems too. The packages are now built in a clean
Debian 12 (bookworm) chroot, amd64 and arm64, with scripts included in
tools/. That's where the glibc 2.34 minimum above comes from.
Fixes
- The map no longer scrolls while the pointer rests on the right-hand
panel. WithAutoScroll = Onthe map kept scrolling for as long as the
pointer was anywhere over the panel. This came from the very first versions
of the port and happened on X11 as well: under DOS the mouse driver stopped
the pointer at the edge of the map (SetMouseRange(0,0,479,479)), but on a
modern desktop the real pointer moves into the panel, and its position was
only clamped to 479 — so the whole panel counted as "the right edge". Now
only the 8-pixel strip at the edge of the map scrolls, as on the other
three sides. - The bottom auto-scroll strip is 8 pixels, like the other three. It was
2: the original DOS source usedMouseY>477at the bottom and 8 pixels
everywhere else. Under DOS nobody noticed, because the mouse driver pinned
the pointer to the edge anyway; with the right-hand side fixed, the
difference became obvious. - The PHost combat viewer shows the charge of beams and torpedo tubes, in
the battle simulator (F5) and when watching VCRs, like the classic viewer
always did: a red bar per beam that fills green as it recharges, and a
red / yellow / green circle per tube. The native PHost viewer that replaced
PVCR.EXEhad left these indicators unwired. The combat maths is untouched. - Integer settings line up in the Ctrl-O menu. Numeric entries such as
StickyMouseRangewere printed without padding, one column to the left of
the On/Off entries. VPA_FULLSCREENandVPA_VIDEOare gone. They were leftovers from the
first fullscreen attempt;VPA_SCALE=fullscreen(orfull,max) is the
one way to go fullscreen, on both backends.- For developers:
makebuildsVPAand the X11 plugin;
make wayland-pluginbuilds the Wayland plugin against the system's SDL3;
make dataassembles the full package with both plugins and its own SDL3
(make sdl3).make visual-testruns the pixel comparison desc...
VPA-Linux 3.67.5
VPA-Linux 3.67.5 — the settings-menu crash, centred fullscreen and a turn you no longer lose
🇬🇧 English. A maintenance release of the native GNU/Linux build of VGA
Planets Assistant (VPA) 3.67, the classic client for the play-by-email
strategy game VGA Planets 3. Built from the original Turbo/Borland Pascal DOS
source with Free Pascal — no DOSBox, no dosemu. Star map, ships, planets,
StarBases, messages, and a native, bit-exact PHost combat viewer (replacing
the old DOS-only PVCR.EXE), all running natively on X11/Wayland.
This release is again almost entirely the result of detailed bug reports from
one player — see Acknowledgements below. Its headline fix is a memory
corruption that had been triggered every single time the settings menu was
opened.
Downloads
vpa-linux-3.67.5-x86_64.tar.gz— pre-built binary for 64-bit x86 +
everything you need to run it (VPA.HLP,VPA_RUS.HLP,VPA.MSG,
DISTTABL.DAT,LITT_VPA.CHR). Start here if you're on a regular PC and
just want to play. SeeHOWTO.en.md/HOWTO.es.mdfor
setup instructions, including which files from your own VGA Planets
installation and host you'll still need.vpa-linux-3.67.5-aarch64.tar.gz— pre-built binary for 64-bit ARM
(Raspberry Pi 3/4/5 and other aarch64 boards), same contents as the x86_64
package.vpa-linux-3.67.5-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself.
Requirements
64-bit Linux (x86_64 or aarch64), X11 or Wayland (via XWayland), and the usual
desktop X11 libraries (libX11, libXext, libXfixes, libXi, libXrandr,
libXxf86vm) — no libXxf86dga needed. Full details in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.5-<arch>.tar.gz # x86_64 or aarch64
cd vpa-linux-3.67.5-<arch>
chmod +x VPA
./VPA <race> [game-directory]
VPA.HLP must be present in the directory you run VPA from — it's
required to start.
What's new in 3.67.5
- Opening the settings menus no longer corrupts memory (Ctrl-O / Ctrl-U).
This is the important one. VPA saves the piece of screen hidden behind a menu
so it can paint it back afterwards, and it kept the size of that save in a
16-bit word. In 256 colours the settings menu needs 104204 bytes, which wraps
around to 38668 in a word: VPA reserved 38 KB and then wrote 104 KB into it,
overrunning the block by exactly 65536 bytes every time the menu opened.
The damage surfaced later and anywhere — a crash on the second Enter, a crash
while saving on the way out, a program that simply died — which is why it took
a week of heap tracing and a bisection to corner. Under DOS the 16-colour BGI
packed four bits per pixel and the same save took about 26 KB, comfortably
inside a word, so the assumption held there and the bug never showed. - A crash inside a menu no longer costs you the turn. Separate bug, found
while chasing the one above. The emergency save that runs when VPA dies needs
the reserved memory block as its I/O buffer, but menus release that block
while they are open, so the rescue attempt died too and nothing was written.
It now re-acquires the block first. Your turn survives even when VPA doesn't. Edit filein the settings menus opens a real editor. It was still
trying to runedit.com, the MS-DOS editor, and after failing it left the
program with no window, waiting forever for a keystroke that could never
arrive — a freeze, not a crash. It now uses your own editor ($VISUAL, then
$EDITOR), falling back tonanoand thenvi, and the menu line shows
which one it will use. Note it needs VPA to have been started from a terminal.
Editing also reloads the file you actually edited; before, it always reloaded
VPAHELP.INIinstead.- Fullscreen is centred. With
VPA_SCALE=fullscreenthe picture sat in the
top-left corner with all the leftover space in one black band on the right,
which is uncomfortable on a large or curved screen. It is now centred, with a
narrower band on each side. VPA is a 4:3 program, so on a widescreen monitor
those bands are unavoidable without distorting the image. Mouse coordinates
follow the picture, so clicks land where you point. - Ctrl-+ and Ctrl-- work again (jump to last / first turn). 3.67.4 fixed
one of the four ways of pressing them; the other three still did nothing. They
are now handled by looking at the character rather than the key code, so they
work from the numeric keypad and from the main row alike, on any keyboard
layout. - The right panel is no longer drawn 32 pixels low after the fleet report
(Ctrl-F11). Leaving the report skipped restoring a drawing setting, and the
panel was painted below its place until the next full redraw. Invisible under
DOS, where a video-mode call at the end reset that setting by accident — a
call that does nothing in this port. - The statistics graph is readable (Ctrl-F10). The first series was drawn
in dark blue on a black background, and so were its name in the legend and its
value in the table above. All three now use light, mutually distinguishable
colours. - Numeric settings step sensibly. Pressing Enter on
StickyMouseRangein
the Ctrl-O menu added 1000 at a time — a step that only makes sense for
MaxMoney— so a pixel radius of 2 jumped to 1002, a value that leaves the
mouse stuck all over the screen and the program looking dead. Each numeric
entry now has its own range and step;StickyMouseRangegoes up one at a time
to 20, and the.INIfile still accepts up to 100. - Video-mode restoration is honest. Seven leftover calls asked to restore a
DOS 16-colour mode this port can never grant, so they silently did nothing.
They now restore the mode actually in use, and only when the program really
left graphics mode. - New example launch script. Added an example launch script in
EXAMPLES/game_launch.sh. - For developers: a
heaptrcbuild target (make heaptrc) that links Free
Pascal's heap checker. - Version bumped to 3.67.5 in the console banner and the graphical intro
screen.
Acknowledgements
Once again nearly every fix in this release came from Alexander Alexandrovich
Bezborodov (Александр Александрович Безбородов), AKA "at0mix".
He reported each problem with enough detail to reproduce it, sent screenshots,
terminal traces and full heap-checker logs, patiently ran a series of instrumented
builds that each answered one question and nothing else, and tested every candidate
fix across three different machines. The memory corruption at the heart of this release
had been in VPA for as long as the Linux port has existed and would still be
there without him. Спасибо, Александр!
Known limitations
A thorough side-by-side comparison against the DOS version under DOSBox is
still pending. One cosmetic, by-design difference remains, documented in the
README: the combat viewer's first decimal digit can differ by ±0.5 from
PVCR.EXE due to a fractional-accumulation difference between the classic host
and PCC2ng's algorithm — the integer part and the final result always match.
Under Wayland the mouse cursor is grabbed but not released, because all the
cursor handling is X11 code running through XWayland, and Wayland deliberately
does not let a client grab and release the pointer that way. Selecting an X11
session works correctly in the meantime. The proper fix — separate X11 and
native Wayland graphics backends behind a common internal API — is planned but
is a substantial piece of work.
Credits & license
Original VPA by Alex V. Ivlev (1993–96) and later maintainers. Native PHost
combat viewer derived from PCC2ng by Stefan Reuther. Cyrillic console
font from the Linux kbd/console-setup fonts (public domain). This Linux
port © 2026 Pablo Romano Gómez. Multi-license breakdown and full texts in
LICENSE.md.
🇪🇸 Español. Versión de mantenimiento de la compilación nativa para
GNU/Linux de VGA Planets Assistant (VPA) 3.67, el cliente clásico del juego
de estrategia por correo VGA Planets 3. Reconstruido a partir del código
original en Turbo/Borland Pascal para DOS con Free Pascal — sin DOSBox, sin
dosemu. Mapa estelar, naves, planetas, StarBases, mensajes, y un visor de
combate PHost nativo y bit-exacto (sustituyendo al antiguo PVCR.EXE, solo
para DOS), todo funcionando de forma nativa sobre X11/Wayland.
Esta versión es de nuevo casi en su totalidad fruto de los reportes detallados
de un jugador — ver Agradecimientos más abajo. Su corrección principal es
una corrupción de memoria que se producía cada vez que se abría el menú de
configuración.
Descargas
vpa-linux-3.67.5-x86_64.tar.gz— binario ya compilado para x86 de 64
bits + todo lo necesario para ejecutarlo (VPA.HLP,VPA_RUS.HLP,VPA.MSG,
DISTTABL.DAT,LITT_VPA.CHR). Empieza por aquí si estás en un PC normal
y solo quieres jugar. Instrucciones enHOWTO.es.md/
HOWTO.en.md, incluyendo qué ficheros de tu propia
instalación de VGA Planets y de tu host seguirás necesitando.vpa-linux-3.67.5-aarch64.tar.gz— binario ya compilado para ARM de 64
bits (Raspberry Pi 3/4/5 y otras placas aarch64), con el mismo contenido que el
paquete x86_64.- **`vpa-li...
VPA-Linux 3.67.4
VPA-Linux 3.67.4 — Russian help, keyboard fixes & a 13-year-old I/O bug
🇬🇧 English. A maintenance release of the native GNU/Linux build of VGA
Planets Assistant (VPA) 3.67, the classic client for the play-by-email
strategy game VGA Planets 3. Built from the original Turbo/Borland Pascal DOS
source with Free Pascal — no DOSBox, no dosemu. Star map, ships, planets,
StarBases, messages, and a native, bit-exact PHost combat viewer (replacing
the old DOS-only PVCR.EXE), all running natively on X11/Wayland.
This release is almost entirely the result of detailed bug reports from one
player — see Acknowledgements below.
Downloads
vpa-linux-3.67.4-x86_64.tar.gz— pre-built binary for 64-bit x86 +
everything you need to run it (VPA.HLP,VPA_RUS.HLP,VPA.MSG,
DISTTABL.DAT,LITT_VPA.CHR). Start here if you're on a regular PC and
just want to play. SeeHOWTO.en.md/HOWTO.es.mdfor
setup instructions, including which files from your own VGA Planets
installation and host you'll still need.vpa-linux-3.67.4-aarch64.tar.gz— pre-built binary for 64-bit ARM
(Raspberry Pi 3/4/5 and other aarch64 boards), same contents as the x86_64
package.vpa-linux-3.67.4-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself.
Requirements
64-bit Linux (x86_64 or aarch64), X11 or Wayland (via XWayland), and the usual
desktop X11 libraries (libX11, libXext, libXfixes, libXi, libXrandr,
libXxf86vm) — no libXxf86dga needed. Full details in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.4-<arch>.tar.gz # x86_64 or aarch64
cd vpa-linux-3.67.4-<arch>
chmod +x VPA
./VPA <race> [game-directory]
VPA.HLP must be present in the directory you run VPA from — it's
required to start.
What's new in 3.67.4
- The Russian help is now actually readable. 3.67.3 started shipping
VPA_RUS.HLP, but it displayed as garbled accented-Latin characters: the
help viewer draws its text with ptcgraph's own built-in 8×8 bitmap font,
which has no Cyrillic glyphs, so the CP866-encoded text was rendered through
the wrong glyph table. Glyphs #128–#255 of that font are now the CP866
("DOS Alt") Cyrillic set, verified byte-for-byte against the standard CP866
layout. ASCII glyphs are untouched, so the English help is unaffected. - Item-display switches now work and are remembered. Two separate bugs
in the indicator toggles (top-right corner of the star map): Shift-C and
Shift-F did nothing at all, because both toggles were trapped inside an
{$IFDEF vpacc}block for an optional DOS module that is never built on
Linux; and the whole set of switches was not persisted across sessions —
whatever you set, restarting always came back to the same fixed pattern. The
save/load code assumed a group of separate global variables would sit
contiguously in memory in declaration order, which held under 16-bit Turbo
Pascal but does not under FPC on x86-64, so it was reading and writing
unrelated memory. It now copies field by field. The same fix also restores
the previously selected object, which was being lost on every restart. - Function and Ctrl keys that did nothing now work. F11, Ctrl-F11
and Shift-F11, and later Ctrl-Tab, Ctrl-Up, Ctrl-Down and
Ctrl-Keypad-minus, were all silently swallowed. ptccrt only emitted those
scancodes for two keyboard modes, and VPA uses a third one — with no
fallback. After the first report the whole modifier branch was audited by
cross-referencing every gated scancode against the codes VPA actually
handles, so the remaining cases were found and fixed together rather than one
at a time. - Fixed a crash on startup with
ShowMaxPop = On. VPA aborted with an
access violation (Error 217) right after loading game data. Planets whose
owner isn't known — seen only through remote sensors — carryowner = -1,
and two places indexed the 1..12 race table with it directly. PLANET.NMcan now live in the game directory. It had to sit next to
the VPA binary, unlikeRACE.NMand the spec files. The lookup logic was
never at fault: a staleIOResultwas. With$I-in effect an unread I/O
error persists and silently skips all further I/O, andini_saveends with
anerase()of a.BAKthat doesn't exist yet. That error leaked into the
next file open — which happened to bePLANET.NM— and also meant
VPAHELP.INIwas never written at all, leaving a stray.TMPbehind on
every run. This is upstream VPA Team code from 2013 and the same Turbo Pascal
semantics applied under DOS, so the bug was there all along; it stayed
invisible because DOS users ran VPA from the VGA Planets directory itself,
where the fallback lookup found the file anyway.VPA_SCALEaccepts a percentage. Values from 21 up are read as a
literal percentage —VPA_SCALE=220gives 2.2×,137gives 1.37× — for
finer control than whole multiples. Values 1–20 keep their old "N times"
meaning, so nothing changes for existing users. Fullscreen benefits too: the
largest fit is now computed as a percentage instead of being rounded down to
a whole multiple, so a 1920×1080 screen fills the full height (225%) rather
than wasting 120 pixels.- The StickyMouse radius is configurable (
StickyMouseRange). VPA's
filter that keeps an accidental nudge from dropping the current selection was
hardcoded to 2 pixels, too tight for modern optical mice that report movement
constantly. Set it inVPA.INIunder[Interface]; the default stays at 2,
and 10–20 works well with a modern mouse. - Version bumped to 3.67.4 in the console banner and the graphical intro
screen.
Acknowledgements
Nearly every fix in this release came from Alexander Alexandrovich
Bezborodov (Александр Александрович Безбородов), who reported each one with
enough detail to reproduce it — often with screenshots, terminal output and
testing across two different monitors. He also tested every build and confirmed the
fixes. Several of these bugs had been in VPA for years and would have gone
unnoticed without him. Спасибо, Александр!
Known limitations
A thorough side-by-side comparison against the DOS version under DOSBox is
still pending. One cosmetic, by-design difference remains, documented in the
README: the combat viewer's first decimal digit can differ by ±0.5 from
PVCR.EXE due to a fractional-accumulation difference between the classic
host and PCC2ng's algorithm — the integer part and the final result always
match.
Under Wayland the mouse cursor is grabbed but not released, because all
the cursor handling is X11 code running through XWayland, and Wayland
deliberately does not let a client grab and release the pointer that way.
Selecting an X11 session works correctly in the meantime. The proper fix —
separate X11 and native Wayland graphics backends behind a common internal
API — is planned but is a substantial piece of work.
Credits & license
Original VPA by Alex V. Ivlev (1993–96) and later maintainers. Native
PHost combat viewer derived from PCC2ng by Stefan Reuther. Cyrillic
console font from the Linux kbd/console-setup fonts (public domain). This
Linux port © 2026 Pablo Romano Gómez. Multi-license breakdown and full texts in
LICENSE.md.
🇪🇸 Español. Versión de mantenimiento de la compilación nativa para
GNU/Linux de VGA Planets Assistant (VPA) 3.67, el cliente clásico del
juego de estrategia por correo VGA Planets 3. Reconstruido a partir del
código original en Turbo/Borland Pascal para DOS con Free Pascal — sin
DOSBox, sin dosemu. Mapa estelar, naves, planetas, StarBases, mensajes, y un
visor de combate PHost nativo y bit-exacto (sustituyendo al antiguo
PVCR.EXE, solo para DOS), todo funcionando de forma nativa sobre X11/Wayland.
Esta versión es casi en su totalidad fruto de los reportes detallados de un
jugador — ver Agradecimientos más abajo.
Descargas
vpa-linux-3.67.4-x86_64.tar.gz— binario ya compilado para x86 de 64
bits + todo lo necesario para ejecutarlo (VPA.HLP,VPA_RUS.HLP,
VPA.MSG,DISTTABL.DAT,LITT_VPA.CHR). Empieza por aquí si estás en
un PC normal y solo quieres jugar. Instrucciones en
HOWTO.es.md/HOWTO.en.md, incluyendo qué
ficheros de tu propia instalación de VGA Planets y de tu host seguirás
necesitando.vpa-linux-3.67.4-aarch64.tar.gz— binario ya compilado para ARM de 64
bits (Raspberry Pi 3/4/5 y otras placas aarch64), con el mismo contenido que
el paquete x86_64.vpa-linux-3.67.4-src.tar.gz— árbol de código fuente completo de esta
versión, ya limpio de artefactos de compilación de la era DOS. Instrucciones
para compilarlo enBUILD.es.md/BUILD.en.md.
Requisitos
Linux de 64 bits (x86_64 o aarch64), X11 o Wayland (vía XWayland), y las
librerías X11 habituales de cualquier escritorio (libX11, libXext, libXfixes,
libXi, libXrandr, libXxf86vm) — no hace falta libXxf86dga. Detalle completo
en el HOWTO.
Arranque rápido
tar xzf vpa-linux-3.67.4-<arch>.tar.gz # x86_64 o aarch64
cd vpa-linux-3.67.4-<arch>
chmod +x VPA
./VPA <raza> [directorio-de-partida]
...
VPA-Linux 3.67.3
VPA-Linux 3.67.3 — Path handling, Russian help & documentation fixes
🇬🇧 English. A maintenance release of the native GNU/Linux build of VGA
Planets Assistant (VPA) 3.67, the classic client for the play-by-email
strategy game VGA Planets 3. Built from the original Turbo/Borland Pascal DOS
source with Free Pascal — no DOSBox, no dosemu. Star map, ships, planets,
StarBases, messages, and a native, bit-exact PHost combat viewer (replacing
the old DOS-only PVCR.EXE), all running natively on X11/Wayland.
Downloads
vpa-linux-3.67.3-x86_64.tar.gz— pre-built binary for 64-bit x86 +
everything you need to run it (VPA.HLP,VPA_RUS.HLP,VPA.MSG,
DISTTABL.DAT,LITT_VPA.CHR). Start here if you're on a regular PC and
just want to play. SeeHOWTO.en.md/HOWTO.es.mdfor
setup instructions, including which files from your own VGA Planets
installation and host you'll still need.vpa-linux-3.67.3-aarch64.tar.gz— pre-built binary for 64-bit ARM
(Raspberry Pi 3/4/5 and other aarch64 boards), same contents as the x86_64
package.vpa-linux-3.67.3-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself, including themake hlptarget
that now builds both help files.
Requirements
64-bit Linux (x86_64 or aarch64), X11 or Wayland (via XWayland), and the usual
desktop X11 libraries (libX11, libXext, libXfixes, libXi, libXrandr,
libXxf86vm) — no libXxf86dga needed. Full details in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.3-<arch>.tar.gz # x86_64 or aarch64
cd vpa-linux-3.67.3-<arch>
chmod +x VPA
./VPA <race> [game-directory]
VPA.HLP must be present in the directory you run VPA from — it's
required to start (see "What's new" below).
What's new in 3.67.3
- Game directory paths with
/are no longer rejected. VPA-Linux had
inherited DOS's rule that anything starting with/was an option, so an
absolute UNIX path like/home/user/PLANETS/mygamefailed with
Invalid parameter. Option detection is now strict — it matches only the
documented/B /K /M /O /P /R /S /PW: /REP: /BGI:— and both/and\
are accepted and normalized as directory separators, paving the way for a
futurevpa-winntandvpa-macos. A length check now reports an
over-long path (66 characters max) instead of silently truncating it. - Russian help restored (
VPA_RUS.HLP).make hlponly compiled the
EnglishVPA.HHH, soVPA_RUS.HHH— the Russian help shipped with the
original DOS VPA — was never built or packaged. Both help files are now
compiled and shipped. To play with the Russian help, set
HelpFile = VPA_RUS.HLPinVPA.INI, or rename the file as in the
original DOS version; the lookup is case-insensitive either way. - Documentation corrected:
VPA.HLPis required, not optional. HOWTO
used to say onlyDISTTABL.DATwas strictly required, and that a missing
help file just meant F1 showed nothing. In fact VPA aborts at startup with
Can't read file VPA.HLPif the help file isn't present in the directory
you run VPA from — HOWTO and BUILD now say so clearly, along with the new
path rules and the Russian-help instructions above. - Version bumped to 3.67.3 in the console banner and the graphical intro
screen.
Known limitations
A thorough side-by-side comparison against the DOS version under DOSBox is
still pending. One cosmetic, by-design difference remains, documented in the
README: the combat viewer's first decimal digit can differ by ±0.5 from
PVCR.EXE due to a fractional-accumulation difference between the classic
host and PCC2ng's algorithm — the integer part and the final result always
match.
Credits & license
Original VPA by Alex V. Ivlev (1993–96) and later maintainers. Native
PHost combat viewer derived from PCC2ng by Stefan Reuther. This Linux
port © 2026 Pablo Romano Gómez. Multi-license breakdown and full texts in
LICENSE.md.
🇪🇸 Español. Versión de mantenimiento de la compilación nativa para
GNU/Linux de VGA Planets Assistant (VPA) 3.67, el cliente clásico del
juego de estrategia por correo VGA Planets 3. Reconstruido a partir del
código original en Turbo/Borland Pascal para DOS con Free Pascal — sin
DOSBox, sin dosemu. Mapa estelar, naves, planetas, StarBases, mensajes, y un
visor de combate PHost nativo y bit-exacto (sustituyendo al antiguo
PVCR.EXE, solo para DOS), todo funcionando de forma nativa sobre X11/Wayland.
Descargas
vpa-linux-3.67.3-x86_64.tar.gz— binario ya compilado para x86 de 64
bits + todo lo necesario para ejecutarlo (VPA.HLP,VPA_RUS.HLP,
VPA.MSG,DISTTABL.DAT,LITT_VPA.CHR). Empieza por aquí si estás en
un PC normal y solo quieres jugar. Instrucciones en
HOWTO.es.md/HOWTO.en.md, incluyendo qué
ficheros de tu propia instalación de VGA Planets y de tu host seguirás
necesitando.vpa-linux-3.67.3-aarch64.tar.gz— binario ya compilado para ARM de 64
bits (Raspberry Pi 3/4/5 y otras placas aarch64), con el mismo contenido que
el paquete x86_64.vpa-linux-3.67.3-src.tar.gz— árbol de código fuente completo de esta
versión, ya limpio de artefactos de compilación de la era DOS. Instrucciones
para compilarlo enBUILD.es.md/BUILD.en.md,
incluido el objetivomake hlp, que ahora compila las dos ayudas.
Requisitos
Linux de 64 bits (x86_64 o aarch64), X11 o Wayland (vía XWayland), y las
librerías X11 habituales de cualquier escritorio (libX11, libXext, libXfixes,
libXi, libXrandr, libXxf86vm) — no hace falta libXxf86dga. Detalle completo
en el HOWTO.
Arranque rápido
tar xzf vpa-linux-3.67.3-<arch>.tar.gz # x86_64 o aarch64
cd vpa-linux-3.67.3-<arch>
chmod +x VPA
./VPA <raza> [directorio-de-partida]
VPA.HLP tiene que estar en el directorio desde el que ejecutas VPA — es
obligatorio para arrancar (ver «Novedades» a continuación).
Novedades de la 3.67.3
- Ya no se rechazan las rutas del directorio de partida con
/.
VPA-Linux había heredado de DOS la regla de que todo lo que empezara por
/era una opción, así que una ruta absoluta de UNIX como
/home/usuario/PLANETS/mipartidafallaba conInvalid parameter. La
detección de opciones es ahora estricta — solo reconoce las documentadas
/B /K /M /O /P /R /S /PW: /REP: /BGI:—, y se aceptan y normalizan tanto
/como\como separadores de directorio, allanando el camino para un
futuro vpa-winnt y vpa-macos. Un aviso de longitud (máximo 66 caracteres)
informa ahora de una ruta demasiado larga en lugar de truncarla en
silencio. - Recuperada la ayuda en ruso (
VPA_RUS.HLP).make hlpsolo compilaba
la ayuda en inglés (VPA.HHH), así queVPA_RUS.HHH— la ayuda rusa que
traía el VPA original de DOS — nunca se compilaba ni se empaquetaba. Ahora
se compilan y distribuyen las dos. Para jugar con la ayuda en ruso, pon
HelpFile = VPA_RUS.HLPenVPA.INI, o renombra el fichero como en el
DOS original; la búsqueda es insensible a mayúsculas y minúsculas en
ambos casos. - Corregida la documentación:
VPA.HLPes obligatorio, no opcional. El
HOWTO decía que soloDISTTABL.DATera estrictamente obligatorio, y que
si faltaba la ayuda F1 simplemente no mostraba nada. En realidad VPA
aborta al arrancar conCan't read file VPA.HLPsi el fichero de ayuda no
está en el directorio desde el que se ejecuta VPA — el HOWTO y el BUILD lo
dejan claro ahora, junto con las nuevas reglas de rutas y las
instrucciones de la ayuda en ruso de arriba. - Número de versión actualizado a 3.67.3 en el banner de consola y en la
pantalla de bienvenida gráfica.
Limitaciones conocidas
Queda pendiente una comparación exhaustiva contra la versión DOS bajo DOSBox.
Se mantiene una diferencia cosmética y por diseño ya documentada en el README:
el primer decimal del visor de combate puede diferir en ~±0.5 respecto a
PVCR.EXE, por cómo cada uno acumula la fracción sub-unidad de forma distinta
(host clásico vs. algoritmo de PCC2ng) — la parte entera y el resultado final
siempre coinciden.
Créditos y licencia
VPA original de Alex V. Ivlev (1993–96) y mantenedores posteriores. Visor
de combate PHost nativo derivado de PCC2ng de Stefan Reuther. Este
port a Linux © 2026 Pablo Romano Gómez. Desglose de licencias y textos
completos en LICENSE.md.
VPA-Linux 3.67.2
VPA-Linux 3.67.2 — Packaging & case-insensitivity fixes
🇬🇧 English. A maintenance release of the native GNU/Linux build of VGA
Planets Assistant (VPA) 3.67, the classic client for the play-by-email
strategy game VGA Planets 3. Built from the original Turbo/Borland Pascal DOS
source with Free Pascal — no DOSBox, no dosemu. Star map, ships, planets,
StarBases, messages, and a native, bit-exact PHost combat viewer (replacing
the old DOS-only PVCR.EXE), all running natively on X11/Wayland.
Downloads
vpa-linux-3.67.2-x86_64.tar.gz— pre-built binary for 64-bit x86 +
everything you need to run it (VPA.HLP,VPA.MSG,DISTTABL.DAT,
LITT_VPA.CHR). Start here if you're on a regular PC and just want to
play. SeeHOWTO.en.md/HOWTO.es.mdfor
setup instructions, including which files from your own VGA Planets
installation and host you'll still need.vpa-linux-3.67.2-aarch64.tar.gz— pre-built binary for 64-bit ARM
(Raspberry Pi 3/4/5 and other aarch64 boards), same contents as the x86_64
package. Built and tested on a Raspberry Pi 3 Model B Rev 1.2 running
Debian GNU/Linux 13 (trixie) aarch64, including a full turn played over
RDP.vpa-linux-3.67.2-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself, including the new
make datapackaging target.
Requirements
64-bit Linux (x86_64 or aarch64), X11 or Wayland (via XWayland), and the usual
desktop X11 libraries (libX11, libXext, libXfixes, libXi, libXrandr,
libXxf86vm) — no libXxf86dga needed. Full details in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.2-<arch>.tar.gz # x86_64 or aarch64
cd vpa-linux-3.67.2-<arch>
chmod +x VPA
./VPA <race> [game-directory]What's new in 3.67.2
- Raspberry Pi / aarch64 build: VPA-Linux now also ships a native
64-bit ARM package, verified on a Raspberry Pi 3 Model B Rev 1.2
(Debian GNU/Linux 13 "trixie" aarch64) — including a real game turn played
remotely over RDP. - One-command packaging (
make data): now builds the binary andVPA.HLP
together and assembles a ready-to-ship folder,
build/vpa-linux_package/, with the binary, the help file, theEXAMPLES/
folder, and all the support files and docs an end user needs — this is what
each tarball above is made from. - Case-insensitivity fix:
RESOURCE.PLN,VPA.HLPand the map font
(LITT_VPA.CHR) are now looked up the same way the rest of VPA's data files
already were — case doesn't matter, so a lowercase copy from any source
works. - Documentation:
HOWTO.mdnow lists every file not shipped with
VPA-Linux that's required to play a game — both the ones from your VGA
Planets installation and the ones your host provides.
Known limitations
A thorough side-by-side comparison against the DOS version under DOSBox is
still pending. One cosmetic, by-design difference remains, documented in the
README: the combat viewer's first decimal digit can differ by ±0.5 from
PVCR.EXE due to a fractional-accumulation difference between the classic
host and PCC2ng's algorithm — the integer part and the final result always
match.
Credits & license
Original VPA by Alex V. Ivlev (1993–96) and later maintainers. Native
PHost combat viewer derived from PCC2ng by Stefan Reuther. This Linux
port © 2026 Pablo Romano Gómez. Multi-license breakdown and full texts in
LICENSE.md.
🇪🇸 Español. Versión de mantenimiento de la compilación nativa para
GNU/Linux de VGA Planets Assistant (VPA) 3.67, el cliente clásico del
juego de estrategia por correo VGA Planets 3. Reconstruido a partir del
código original en Turbo/Borland Pascal para DOS con Free Pascal — sin
DOSBox, sin dosemu. Mapa estelar, naves, planetas, StarBases, mensajes, y un
visor de combate PHost nativo y bit-exacto (sustituyendo al antiguo
PVCR.EXE, solo para DOS), todo funcionando de forma nativa sobre X11/Wayland.
Descargas
vpa-linux-3.67.2-x86_64.tar.gz— binario ya compilado para x86 de 64
bits + todo lo necesario para ejecutarlo (VPA.HLP,VPA.MSG,
DISTTABL.DAT,LITT_VPA.CHR). Empieza por aquí si estás en un PC
normal y solo quieres jugar. Instrucciones en
HOWTO.es.md/HOWTO.en.md, incluyendo qué
ficheros de tu propia instalación de VGA Planets y de tu host seguirás
necesitando.vpa-linux-3.67.2-aarch64.tar.gz— binario ya compilado para ARM de 64
bits (Raspberry Pi 3/4/5 y otras placas aarch64), con el mismo contenido que
el paquete x86_64. Compilado y probado en una Raspberry Pi 3 Model B Rev
1.2 con Debian GNU/Linux 13 (trixie) aarch64, incluyendo una partida
completa jugando por RDP.vpa-linux-3.67.2-src.tar.gz— árbol de código fuente completo de esta
versión, ya limpio de artefactos de compilación de la era DOS. Instrucciones
para compilarlo enBUILD.es.md/BUILD.en.md,
incluido el nuevo objetivo de empaquetadomake data.
Requisitos
Linux de 64 bits (x86_64 o aarch64), X11 o Wayland (vía XWayland), y las
librerías X11 habituales de cualquier escritorio (libX11, libXext, libXfixes,
libXi, libXrandr, libXxf86vm) — no hace falta libXxf86dga. Detalle completo
en el HOWTO.
Arranque rápido
tar xzf vpa-linux-3.67.2-<arch>.tar.gz # x86_64 o aarch64
cd vpa-linux-3.67.2-<arch>
chmod +x VPA
./VPA <raza> [directorio-de-partida]Novedades de la 3.67.2
- Build para Raspberry Pi / aarch64: VPA-Linux publica ahora también un
paquete nativo para ARM de 64 bits, verificado en una Raspberry Pi 3
Model B Rev 1.2 (Debian GNU/Linux 13 «trixie» aarch64) — incluyendo un
turno de partida real jugado en remoto por RDP. - Empaquetado en un solo comando (
make data): ahora compila el binario
yVPA.HLPa la vez y monta una carpeta lista para distribuir,
build/vpa-linux_package/, con el binario, la ayuda, la carpeta
EXAMPLES/y todos los ficheros de apoyo y documentación que necesita un
usuario final — de ahí sale cada uno de los tarballs de arriba. - Corrección de sensibilidad a mayúsculas/minúsculas:
RESOURCE.PLN,
VPA.HLPy la fuente del mapa (LITT_VPA.CHR) ahora se buscan igual que el
resto de ficheros de datos de VPA — la caja del nombre no importa, así que
una copia en minúsculas de cualquier origen funciona igual. - Documentación:
HOWTO.mdahora detalla todos los ficheros ajenos a
VPA-Linux necesarios para jugar una partida, tanto los de tu instalación de
VGA Planets como los que aporta tu host.
Limitaciones conocidas
Queda pendiente una comparación exhaustiva contra la versión DOS bajo DOSBox.
Se mantiene una diferencia cosmética y por diseño ya documentada en el README:
el primer decimal del visor de combate puede diferir en ~±0.5 respecto a
PVCR.EXE, por cómo cada uno acumula la fracción sub-unidad de forma distinta
(host clásico vs. algoritmo de PCC2ng) — la parte entera y el resultado final
siempre coinciden.
Créditos y licencia
VPA original de Alex V. Ivlev (1993–96) y mantenedores posteriores. Visor
de combate PHost nativo derivado de PCC2ng de Stefan Reuther. Este
port a Linux © 2026 Pablo Romano Gómez. Desglose de licencias y textos
completos en LICENSE.md.
VPA-Linux 3.67.1
VPA-Linux 3.67.1 — First native Linux release
🇬🇧 English. The first native GNU/Linux build of VGA Planets Assistant
(VPA) 3.67, the classic client for the play-by-email strategy game VGA
Planets 3. Rebuilt from the original Turbo/Borland Pascal DOS source with
Free Pascal — no DOSBox, no dosemu. Star map, ships, planets, StarBases,
messages, and a native, bit-exact PHost combat viewer (replacing the old
DOS-only PVCR.EXE), all running natively on X11/Wayland.
Downloads
vpa-linux-3.67.1-x86_64.tar.gz— the pre-built binary + everything you
need to run it (VPA.HLP,VPA.MSG,DISTTABL.DAT,LITT_VPA.CHR).
Start here if you just want to play. SeeHOWTO.en.md/
HOWTO.es.mdfor setup instructions.vpa-linux-3.67.1-src.tar.gz— full source tree for this release,
cleaned of DOS-era build artifacts. SeeBUILD.en.md/
BUILD.es.mdto compile it yourself.
Requirements
64-bit Linux, X11 or Wayland (via XWayland), and the usual desktop X11
libraries (libX11, libXext, libXfixes, libXi, libXrandr, libXxf86vm) — no
libXxf86dga needed. Full details in the HOWTO.
Quick start
tar xzf vpa-linux-3.67.1-x86_64.tar.gz
cd vpa-linux-3.67.1-x86_64
chmod +x VPA
./VPA <race> [game-directory]Highlights
- Native
ptcgraph-based graphics — same look, same keys as the original. - Resizable window / fullscreen via
VPA_SCALE. - Native PHost combat viewer, ported from PCC2ng's
pvcralgorithmand
validated bit-exact againstPVCR.EXE. - VPA's own white crosshair cursor, scoped to its own window.
- Full bilingual documentation (English/Spanish).
Known limitations
A thorough side-by-side comparison against the DOS version under DOSBox is
still pending. One cosmetic, by-design difference is documented in the
README: the combat viewer's first decimal digit can differ by ±0.5 from
PVCR.EXE due to a fractional-accumulation difference between the classic
host and PCC2ng's algorithm — the integer part and the final result always
match.
Credits & license
Original VPA by Alex V. Ivlev (1993–96) and later maintainers. Native
PHost combat viewer derived from PCC2ng by Stefan Reuther. This Linux
port © 2026 Pablo Romano Gómez. Multi-license breakdown and full texts in
LICENSE.md.
🇪🇸 Español. Primera compilación nativa para GNU/Linux de VGA Planets
Assistant (VPA) 3.67, el cliente clásico del juego de estrategia por correo
VGA Planets 3. Reconstruido a partir del código original en Turbo/Borland
Pascal para DOS con Free Pascal — sin DOSBox, sin dosemu. Mapa estelar, naves,
planetas, StarBases, mensajes, y un visor de combate PHost nativo y
bit-exacto (sustituyendo al antiguo PVCR.EXE, solo para DOS), todo
funcionando de forma nativa sobre X11/Wayland.
Descargas
vpa-linux-3.67.1-x86_64.tar.gz— el binario ya compilado + todo lo
necesario para ejecutarlo (VPA.HLP,VPA.MSG,DISTTABL.DAT,
LITT_VPA.CHR). Empieza por aquí si solo quieres jugar. Instrucciones
enHOWTO.es.md/HOWTO.en.md.vpa-linux-3.67.1-src.tar.gz— árbol de código fuente completo de esta
versión, ya limpio de artefactos de compilación de la era DOS. Instrucciones
para compilarlo enBUILD.es.md/BUILD.en.md.
Requisitos
Linux de 64 bits, X11 o Wayland (vía XWayland), y las librerías X11 habituales
de cualquier escritorio (libX11, libXext, libXfixes, libXi, libXrandr,
libXxf86vm) — no hace falta libXxf86dga. Detalle completo en el HOWTO.
Arranque rápido
tar xzf vpa-linux-3.67.1-x86_64.tar.gz
cd vpa-linux-3.67.1-x86_64
chmod +x VPA
./VPA <raza> [directorio-de-partida]Lo más destacado
- Gráficos nativos vía
ptcgraph— mismo aspecto, mismas teclas que el
original. - Ventana redimensionable / pantalla completa con
VPA_SCALE. - Visor de combate PHost nativo, portado del
pvcralgorithmde PCC2ng y
validado bit-exacto contraPVCR.EXE. - Diana blanca propia de VPA como cursor, limitada a su propia ventana.
- Documentación completa bilingüe (inglés/español).
Limitaciones conocidas
Queda pendiente una comparación exhaustiva contra la versión DOS bajo DOSBox.
Hay una diferencia cosmética y por diseño ya documentada en el README: el
primer decimal del visor de combate puede diferir en ~±0.5 respecto a
PVCR.EXE, por cómo cada uno acumula la fracción sub-unidad de forma distinta
(host clásico vs. algoritmo de PCC2ng) — la parte entera y el resultado final
siempre coinciden.
Créditos y licencia
VPA original de Alex V. Ivlev (1993–96) y mantenedores posteriores. Visor
de combate PHost nativo derivado de PCC2ng de Stefan Reuther. Este
port a Linux © 2026 Pablo Romano Gómez. Desglose de licencias y textos
completos en LICENSE.md.