The Python/Tk Empire Interface

Welcome to the Python/Tk Empire Interface.

The Python/Tk Empire Interface (which is often referred to as PTkEI) is a python based interpretive client for the empire server.

This documentation refers to release 2.00.0
The release date for the 2.00.0 version is April 27, 2013.

This client is distributed under the terms of the GNU GPL.

Author: Kevin O'Connor
Current maintainer: William Fittge

Introduction and Availability

This program enables you to play modern variants of the mighty empire game over the Internet. Empire is a real-time war game that has a long tradition. At the time of this writing, the Empire Homepage can be located at: http://www.wolfpackempire.com. You can find out about Empire and currently running servers here. This is also the place to download PTkEI and other clients.

This program is a client only. If you are not familiar with Empire and the Empire server, then you will definitely need to read the empire documentation in addition to the client documentation.

The most recent development versions of this client can currently be found at: http://sourceforge.net/projects/ptkei2/

Installation

In order to run this client, you must have the Python interpreter installed on your system. The interpreter must be version 2.2 or later.

In order to use the graphical portions of this client, you must have the Tcl/Tk libraries installed, and you must have a version of Python that is configured to work with Tk.

To obtain the Python interpreter and Tcl/Tk libraries, see the instructions located at the main Python web site: http://www.python.org/

Quick Start

For the highly impatient, these are the files that I downloaded when testing the client:

Windows Users

Go to the Python web site located in the download section and download the file Python-2.2.1.exe.

After installing the python distribution, unpack the PTkEI archive, and double click on the file 'empire.py' to run the client.

Linux RedHat Users

The RedHat Manhattan distribution (5.1) and later comes bundled with python. Simply unpack the PTkEI archive and run the command 'empire.py'.

Other Unix Users

If python is not already installed, it will probably be necessary to compile the source code. Check out the Python download page, it has the source code and install directions. When compiling, be sure to activate the Tk interface in the Python distribution's Modules/Setup file; it is not on by default.

Macintosh Users

These instructions are available courtesy of Dan DEOCAMPO:

  1. Download and install python from their website (www.python.org?)
  2. Download ptkei.
  3. Click "empire.py" and drag it onto the icon that says "Make Applet" that should have been installed by Python. This creates the executable application "empire".
  4. Click "empire", and "get info" (from the File menu up top of screen), and increase the memory allocation (I use 15 megs just to be safe, but I'm sure you could use less).
  5. Double click "empire" and you're in - host address window asks you where to connect. I'm sure there's an easier way to deal with it, but when I want to change to a different host, I throw out the file "EmpDB" before I double-click empire. (Authors Note: This should no longer be necessary - try using the Load/Save buttons from the Login window.)

Available Platforms

Currently, this client has been tested on Win95, Win98, WinNT, Win2000, Win7, Win8, Macintosh and a variety of Unix machines. The client should be functional on other platforms as well. If Python is available for the platform and it supports the Tcl/Tk interface, it should be able to run. Please let me know if you succeed or fail at any attempted installations.

Running the Client

Once you have verified that Python is properly installed, unpack the client and 'cd' into the client directory. Included in the distribution should be the file 'empire.py'. This file should be executable; simply run the file to start the client. (If this causes problems, try running the command 'python empire.py'.)

Optionally, the client may be invoked using the syntax, 'empire.py <filename>' to specify a file to store the database in. (If no name is specified, the file defaults to 'EmpDB'.) In addition to specifying the database filename, a number of additional options may be provided. Please see the command-line section of the TIPS file for more information.

If the server disconnects the client because of an inactivity timeout or because of a 'bye' command, the client will idle until the next command is issued (at which time PTkEI will automatically reconnect). To exit the client, you must close the main window via the window manager.

When a database is first initialized the client will prompt for server and country information. The database file will recall this information for future connections. If you change these values using the 'change' command, you will have to enter the new values the next time the client attempts to reconnect.

PTkEI can also be run without a graphical display. Reverting back to a text interface is highly unrecommended and nearly unsupported. In a crunch, however, the client will operate nearly identically to the standard empClient. (A graphical connection is automatically used when available; the client will only revert to text when no graphics are permitted or when there is an error connecting to the display.)

Taking Over The World

The client should be fairly simple to operate. All keystrokes are sent directly to the command-line like most other Empire clients. However, this client will 'automagically' parse output from dump, map, and many other commands. It will then seamlessly update the graphical displays. To refresh these displays, simply send new map/dump commands. There is also a built-in command ('rdb') that will issue dump commands that make use of the new Wolfpack 4.0 timestamps. 'rdb' dumps only those sectors that have recently changed - it is the recommended interface to the dump command. See the Refreshing section of TIPS.html for more information.

Currently, the graphical interface includes a scrollable map window, a selectable censor window, a telegram and annoucement window, and several other 'nifty' features.

There are a few 'smart' features available. Please see the file commands.html for a description of these commands. The GUI functions are described in gui.html. Other miscellaneous information can be found in the TIPS.html file.

Troubleshooting

If there are problems starting the client, then it may be necessary to debug the Python and/or Tk installations. I recommend reading the section titled 'Troubleshooting' at the web page: http://www.python.org/topics/tkinter/. The idea is to start the python interpreter manually (usually by running 'python' from a command prompt), and type in the command 'import Tkinter' followed by the command 'Tkinter._test()'. If a window pops up, then the Python/Tk setup is probably ok, otherwise there is an error somewhere in the installation.

Also, if the client is running under Windows, be sure to read the section located at:
http://www.python.org/topics/tkinter/download.html#autoexec
This link describes the process of adding TCL to the standard PATH variable at boot time.

Contacting the Author:

This client has been written by Kevin O'Connor. It is currently maintained by William Fittge (ptkei2@gmail.com).

Most requests can be asked in the empire newsgroup. This newsgroup rec.games.empire is dedicated to answering questions about empire and empire clients. Much useful information can be gathered from this source.

Legal Issues

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA