Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 46

Author Topic: Dfterm2 0.16, server software for playing Dwarf Fortress remotely  (Read 106818 times)

Adeon

  • Bay Watcher
  • Obey.
    • View Profile

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
  • 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.

If you are having issues, scroll down for Known issues to see if it's known already.

Screenshots on various systems:

Windows 7
Spoiler (click to show/hide)
Windows XP
Spoiler (click to show/hide)
Nokia N900
Spoiler (click to show/hide)
Linux
Spoiler (click to show/hide)

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:
Code: [Select]
c:\johns_files\great games\df_31_13_win\dwarf fortress.exe
This is correct:
Code: [Select]
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.
Code: [Select]
$ git clone git://genodeen.net/dfterm2
$ cd dfterm2
$ cmake -DCMAKE_BUILD_TYPE=Release .
$ make

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:

Spoiler (click to show/hide)
« Last Edit: July 31, 2012, 01:10:53 pm by Adeon »
Logged
I make dead people. Dfterm3

Calculus

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #1 on: March 07, 2010, 08:04:13 am »

Is there a public server we can log into?
Logged

Adeon

  • Bay Watcher
  • Obey.
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #2 on: March 07, 2010, 08:09:12 am »

Is there a public server we can log into?

Well there's one we've been using for testing but I have not got an answer yet from the hoster if it's okay to link to it here.

edit: k4os.dyndns.org at port 8000.
« Last Edit: March 08, 2010, 02:05:33 am by Adeon »
Logged
I make dead people. Dfterm3

Dabi

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #3 on: March 07, 2010, 09:27:30 am »

How much is uploaded/downloaded?

PS: Looks awesome
Logged
If a elf dies in a forest and only dwarfs are around to see it does anyone care?

Adeon

  • Bay Watcher
  • Obey.
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #4 on: March 07, 2010, 09:38:50 am »

How much is uploaded/downloaded?

Assuming you mean bandwidth usage, server needs to send data averaging at about 5-10 kilobytes per second per player for normal playing. It varies a lot depending on how much stuff is happening on the screen and how big the screen is (and how many players connected). The server only receives data for keypresses which is not much at all, unless you are from 1990.

The server tries to save bandwidth a bit if it detects some client is not getting data quite fast enough by discarding packets that are "out of date".

Logged
I make dead people. Dfterm3

Dabi

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #5 on: March 07, 2010, 11:42:43 am »

Alright, was just seeing if its miminal, I mean if you had say a small amount - thats fine...but it all adds up when it comes to more and more etc...not that i want to do that.
Logged
If a elf dies in a forest and only dwarfs are around to see it does anyone care?

Scarpa

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #6 on: March 07, 2010, 02:37:42 pm »

Does this have the potential to host a playable tutorial?

Something like a dual pane interface with the tutorial data in one that reacts to events from a DF game running in the other pane?
Logged

spokehedz

  • Bay Watcher
  • Boy Genius
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #7 on: March 07, 2010, 10:31:51 pm »

There was something like this previously where people used Hamachi to access the private server. Seeing as how it means nothing to bandwidth, then I might be able to host it. I just don't know if Windows Home Server likes Hamachi...
Logged
Quote from: LordBaxter
Once a stair fell, and rather than knock him one or two z levels down, as usually was the case, he went rolling down the central staircase, hit the bottom and exploded.

spokehedz

  • Bay Watcher
  • Boy Genius
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #8 on: March 07, 2010, 11:00:50 pm »

I get no display of the game on a stock 19.2 install. I copied over the sdl like the readme says, and ran putty with UTF-8 and changed no other options.

I can chat just fine.
Logged
Quote from: LordBaxter
Once a stair fell, and rather than knock him one or two z levels down, as usually was the case, he went rolling down the central staircase, hit the bottom and exploded.

Cariyaga

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #9 on: March 07, 2010, 11:38:01 pm »

...I have no clue what this is, but I think I might be interested if someone could explain it in layman's terms. :x
Logged

Adeon

  • Bay Watcher
  • Obey.
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #10 on: March 08, 2010, 01:17:29 am »

I get no display of the game on a stock 19.2 install. I copied over the sdl like the readme says, and ran putty with UTF-8 and changed no other options.

I can chat just fine.

There's probably a memory configuration error that I thought wouldn't happen after we tested this on 3 different computers and under Wine. Once I get access to the code again later today I'll try to make it a little more robust on finding the necessary addresses.

In the meantime you might want to test this configuration (this one causes flickering). Copy the contents to the main configuration file, as described in the manual.

Edit: it looks like I broke the entire thing just before I released it here. I'll fix it later today after I can access the code again.
« Last Edit: March 08, 2010, 02:32:43 am by Adeon »
Logged
I make dead people. Dfterm3

Adeon

  • Bay Watcher
  • Obey.
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #11 on: March 08, 2010, 01:20:37 am »

...I have no clue what this is, but I think I might be interested if someone could explain it in layman's terms. :x

Probably its most obvious use for now is to get practical remote playing possible on Windows platforms. Start the server, connect to it from outside, play.

Advanced users might be interested in the chatting ability or even scripts.
Logged
I make dead people. Dfterm3

JohnLukeG

  • Bay Watcher
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #12 on: March 08, 2010, 05:46:50 am »

So, if I understand this correctly, you can use this to spectate someone playing DF and talk to them?
Logged

Adeon

  • Bay Watcher
  • Obey.
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #13 on: March 08, 2010, 05:56:39 am »

So, if I understand this correctly, you can use this to spectate someone playing DF and talk to them?

Yes.
Logged
I make dead people. Dfterm3

Firehound

  • Bay Watcher
  • !!human!!
    • View Profile
Re: Dfterm, Dwarf Fortress in a terminal
« Reply #14 on: March 08, 2010, 07:46:33 am »

It will also allow you to laugh when they spawn on a volcano+bottomless pit that floods the map.

Or when their fortress floods because no one wants to install the single window to block up the wall.
Logged

Spoiler (click to show/hide)
Pages: [1] 2 3 ... 46