Note: Dfterm2 has ceased development. The information below is/will be historical.
You can still get the code from gitorious: https://gitorious.org/dfterm2
Links in the post won't work.
Hello. I shall now present you with a tool called dfterm2.
Dfterm2 allows you to play Dwarf Fortress remotely with a terminal emulator and a telnet program. It's selling point is that many people can see the same game, chat or take turns to play the game. Dfterm2 works on Windows, Linux and FreeBSD.
The game can be played using a Telnet client in a vt102 compliant terminal emulator with colors, almost all platforms have one.
Compared to streaming video services, Dfterm2 consumes very little bandwidth.Here's a feature sheet of Dfterm2
If you are having issues, scroll down for Known issues to see if it's known already.
- Play text mode Dwarf Fortress remotely
- Invite other players to watch and play with you
- Restrict access to games, to make your games watch-only, or grant playing privileges on need-basis
- Restrict what IP addresses can connect. Dfterm2 supports IPv4 and IPv6.
- Password protection on user accounts
- Chat with other players
- Works on Windows, Linux and FreeBSD. In particular, on Windows hosts, this lets you play in a terminal that isn't normally available (on Linux, you could use PRINT_MODE:TEXT).
- Supports DF 0.31.03, 0.31.06, 0.31.08, 0.31.09, 0.31.10, 0.31.11, 0.31.12, 0.31.13, 0.31.14, 0.31.16, 0.31.17, 0.31.18, 0.31.19, 0.31.25, 0.32.4, some later 40dXX versions.
- Support for new versions can be added by modifying a configuration file. See the guide.
- Manage several Dwarf Fortresses at the same time, creating slot profiles to manage their settings.
Screenshots on various systems:
There are some outdated screenshots from old dfterm2 versions here.
You can contact me of bugs, issues or questions by posting in this thread or finding me from IRC, Freenode or Quakenet (#dwarffortress) network with the nickname Adeon. I also have an e-mail, go check here
Dfterm2 Windows binary package is here. Current version is 0.16, which was released 2012-02-27.Download Dfterm2 0.16
Due to amount of confusion regarding slot profile settings on paths, I suggest you read this.
You need to use % character to escape space characters when setting Dwarf Fortress path in a slot profile.
This means you need to put % before any space character. See example below.
This is wrong:
c:\johns_files\great games\df_31_13_win\dwarf fortress.exe
This is correct:
c:\johns_files\great% games\df_31_13_win\dwarf% fortress.exe
The reason for this is parameter support and special meaning of some %X combinations (where X is some character). See the manual if you are interested.
Outstanding known notable bugs:
- Sometimes dfterm2 can misidentify screen size from DF. Maybe be related to scroll wheel. Happens when DF screen is very large. Won't fix unless someone complains loudly.
- On Linux with slot sizes greater than 80x25, the DF still only uses 80x25 of the space. This is a bug in DF. Workaround is to turn off intro in DF.
- Logger output to Windows console or Linux/FreeBSD terminal isn't sanitized. This can cause issues with, for example bell characters or control characters that make the terminal emulator or cmd.exe
go apeshit do unwanted things. Fixed in source in fix will be in Dfterm2 0.17
The package includes a manual.pdf, which has installation instructions with many helpful screenshots. The manual is also available online. PDF Manual of dfterm2.
Linux and FreeBSD users: compile the source yourselves. There's build_instructions.txt inside that may or may not be up to date. I can't guarantee the code always compiles or that there are no temporary showstoppers in the code.
$ git clone git://genodeen.net/dfterm2
$ cd dfterm2
$ cmake -DCMAKE_BUILD_TYPE=Release .
Then look at this for instructions on how to add an administrator user.
$ ./dfterm2_configure --help
Dfterm2 also has parameters you can use:
$ ./dfterm2 --help
If you are only interested in remote play on Linux through ssh or telnet, all you need is PRINT_MODE:TEXT in DFs configuration and ssh server and client. No dfterm2 is needed. You can use dfterm2 if you want to use it for its other features.Changelog:
0.15 --> 0.16
- Fixed capital H letter
- Reduced attaching time from 20 seconds to 5 seconds
0.14 --> 0.15
- Fixed Dfterm2 not attaching properly after one launch of DF
- Removed soiled (flash interface) from the codebase
- Added hacks to make backspace send backspace as opposed to shift+backspace
0.13 --> 0.14
- FreeBSD support
- DF 0.34.2 (SDL) support
- Configurable addresses so that future DF versions don't need a new Dfterm2 release
- Fixed screen not cleared when connecting
- Fixed screen sometimes being black when on Windows
- Fix bogus error message when a user stops watching slots
- Dfterm2 now respects locales for the server side. Clients still only use UTF-8.
- Limits on how many connections and slots there can be have been increased.
- Refreshing rate has been increased from 30fps to 60fps when on Linux or FreeBSD
- Dfterm2 warns if you are not using UTF-8 locale on the server.
- Dfterm2 no longer uses the trankesbel submodule
- Sqlite3 has been updated to 3.7.10
- Esc delay has been reduced from 50ms to 10ms
- Soiled (web interface) is no longer included with the Windows installer.
0.12 --> 0.13
- DF 0.31.25 (SDL) support
0.11 --> 0.12
- DF 0.31.19 (SDL) support
- Manual documents known issues now
0.10 --> 0.11
- DF 0.31.18 (SDL) support
0.9 --> 0.10
- DF 0.31.17 (SDL) support
- It is now possible to remap keys related to the interface.
- The time dfterm2 waits after escape key has been reduced from 500 milliseconds to 50 milliseconds. Escape key should now be much more responsive.
0.8 --> 0.9
- DF 0.31.16 (SDL) support
- Linux version now properly logs to the terminal
- Some assert stuff were (improperly) fixed (Linux)
- When you focus on the game window, an escape key won't be sent anymore.
0.7 --> 0.8
- DF 0.31.14 (SDL) support
0.6 --> 0.7
- A long-standing bug involving international characters in path names has been fixed. This caused installer to not being able
to create user accounts on some systems. This was Windows only.
- dfterm2_configure utility now also uses the configuration file. (related to the above fix)
- Installer package is now significantly smaller due to change of compressor.
0.5 --> 0.6
- Fix dfterm2 not installing database and log file paths correctly on some Windows systems
- Fix game window not being correct after unjoining and joining a slot
- Password fields now use stars to hide password from sneaky eyes
- There's a configuration file dfterm2.conf you can use to say what database and log file to use. It's optional.
- Lua 5.1 is now a dependency (configuration file is in lua)
- Assertion fix
0.4 --> 0.5
- Fixed UI system not ever purging closed windows.
- Fixed CTRL+X window hiding crash bug
- Fixed Linux perfomance bug
0.3 --> 0.4
- Support DF 0.31.13
- Linux version prefers dynamic libraries now in the build system (fixes linker errors)
- Linux version behaves better in a chrooted environment now
- CTRL+X key combination has been added, that hides and unhides windows
- Dfterm2 no longer crashes unknown target processes
- (There has been work on dfhack and p2p server features between 0.3 and 0.4 but they are not included in the release, because they are too buggy/unfinished)
- I've stopped calling dfterm2 experimental
0.2 --> 0.3
- Linux version of dfterm2 has been improved significantly, with lots of input fixes and small aesthetic fixes.
- soiled.html is now included in the Windows package. (undocumented HTTP/Flash interface feature)
- Sqlite3 embedded in dfterm2 has been upgraded to 22.214.171.124
- Connection restrictions system has been implemented. (Bans, only allow certain IP ranges to connect, etc.)
0.1 --> 0.2
- Wait 2 seconds after injecting DLL before starting to exchange data with Dwarf Fortress. Fixes black screen that happens often.
- Added CTRL+R, that removes border from currently focused window