Release notes for Wolfpack Empire 4.3.30
This release fixes several bugs, some of them critical. Deities are
urged to use this release for new games. Upgrading mid-game is not
supported, and expected to result in total disaster. Fine print: you
should be able to upgrade with the empdump utility, if you know what
This release was made from the Git repository at
* empire-4.3.30.tar.gz Everything
* empire-client-4.3.30.tar.gz Just the client
* empire-info-text-4.3.30.tar.gz Text
* empire-info-html-4.3.30.tar.gz HTML
User contributed files:
Server binaries for Windows
Changes to Empire 4.3.30 - Tue May 22 18:34:52 UTC 2012
* Disable damage to base sector or ship when missile explodes on
launch for now, because damage done to other missiles there can be
wiped out in some cases. Broken in Empire 2.
* Fix navigate and march not to wipe out concurrent updates.
Abusable, but probably not worthwhile.
* Fix some buffer overruns in fairland. Has always been broken.
* Fix arm to require nuke and plane to be in the same sector. A
remote nuke got teleported to its plane when the plane moved.
Broken in 4.3.3.
* Change login command kill (used by client option -k) to kill less
ruthlessly: send a flash message and try to flush output, exactly
like a server shutdown does.
* Fix server shutdown to wait for player threads to reach a safe
state. Before, player threads raced with shutdown, and failed to
update the treasury, record play time, and write log entries when
they lost. Bug goes back to Empire 2. Patched partially or
unsuccessfully in 4.2.10, 4.2.12, 4.2.20, 4.3.6, 4.3.10 and 4.3.23.
The race was hard to lose in practice, until an unrelated
"simplification" in 4.3.23 could get player threads stuck sending
output after shutdown aborted a command.
* Idle timeout changes:
- The grace period for clients to complete login and logout is now
separate from the idle timeout. Configurable with new econfig
key login_grace_time, default is 120 seconds.
- The idle timeout for visitors is now separate from the one for
players. Configurable with new econfig key max_idle_visitor,
default is five minutes.
- Fix the idle timeout when the connection gets stuck sending
output. Broken in 4.3.20.
- Idle timeout during execute now terminates the connection, not
just the execute command.
* Fix stack smash in build. Remote hole! Broken when Empire 2 added
the confirmation prompt.
* Fix stack smash in scrap and scuttle. Remote hole! Broken when
Chainsaw added the confirmation prompt. Additionally, the
confirmation prompt is misleading when the player supplies
conditionals. Redesign the flawed prompt.
* Fix execute's echo of the command. Broken in 4.3.28.
* The mobility cost of retreating a defending land unit was
calculated for an uninitialized sector. This could charge
incorrect mobility, prevent retreat, or, if the stars align just
right, crash the server. Broken in 4.3.6.
* Commands cutoff, headlines, land, lstat, motd, neweff, payoff,
qorder, sorder, and wall now behave like the other information
query commands when the player's connection can't take more output:
they pause to let other code run.
* Revised command permissions:
- arm and disarm no longer require money, for consistency with the
other commands to move stuff around.
- satellite no longer requires money, for consistency with lookout,
radar, sonar and skywatch.
- qorder, sorder, survey and test no longer require a capital, for
consistency with the other commands that report on stuff the
- start and stop no longer require a capital, for consistency with
the other commands to control production.
- fortify now requires a capital, for consistency with mission,
morale and range.
- Anybody may now use country, echo and financial.
- Visitors can no longer use census, commodity, map, nmap,
sinfrastructure (useless without sectors), read (visitors don't
get any telegrams), and change (always failed).
- Players can no longer use map and nmap before break. This is
consistent with all the other commands to examine the
environment. It also prevents people from trying multiple
unbroken countries in a blitz to find the one with the nicest
- Players can now use resource before break, just like census.
* read could swallow the first telegram header when showing the
telegrams that arrived while waiting for the player to confirm
deletion. Broken in 4.3.29.
* Fix 'm' in path argument of explore, move, transport:
- Don't moan about deprecated argument syntax ('m' without a space
before its argument) even when there's no argument.
- Recognize the flags argument again.
Broken in 4.3.27.
* Market fixes:
- Command market is no longer available to visitors, because it
triggers execution of trades that have become ready.
- Fix a race condition that could cause commodity trades to be
executed multiple times. Abusing this to duplicate commodities
seems tricky, but possible. Broken in Empire 3.
- Don't expropriate sellers of units. POGO got the the money, the
telegrams and made the news, the seller got nothing. Broken in
* Login command quit and server shutdown could lose player output.
4.3.23 tried to fix the shutdown case, but the fix was incomplete.
* Fix login command quit to really quit. It sometimes just swallowed
buffered input, at least on some systems.
* 4.2.22's fairer command scheduling failed to cover the execute
command. Fix that.
* When a client shuts down input transmission to log out, output
could get lost. Our client never does that.
* Don't skip post command treasury update and status notification on
EOF from player, after quit command, and when command is aborted by
server shutdown. An unluckily timed EOF or shutdown can deprive a
player of money gained from scuttling tradeships or sacking a
capital. Can be abused to build bridges and infrastructure free of
charge. Can also be abused to designate sectors for free, but the
stock game's sector types are all free anyway. Has always been
* Fix client not to send an empty line on player interrupt (normally
^C) before the first command. This was missed in 4.3.26.
* Code and info page cleanup.
* Documentation fixes.
The client did not materially change since 4.2.28.