Coder Social home page Coder Social logo

dfterm3's People

Contributors

lethosor avatar noeda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dfterm3's Issues

Can´t register a dwarf fortress game

Hello,

when I want to register a new game in the web interface, there appears a message that contains following:
"Happstack 7.3.0

Your file is not found
To try again is useless
It is just not here"

All ports are open, and the game ist found.

What can I do?

WSAEACCESS on Windows with some command line options

Lightman from the forums:

"
I think there is a bug with the -w options, if you don't use the -p option, as well.

I have to specify all the ports and then it works. Otherwise, I get this error:

bind: failed (Permission denied (WSAEACCESS))
"

I'll check if there's anything going on in the code when I have the chance. I think this may be a case of misunderstanding how the command line options work.

Sometimes the Dwarf Fortress screen becomes garbled

I saw this when I went to Putnam's server. You need to shut the game down and back up to fix it. On the reddit thread, someone also complained that input did not work which sounds like there is a good chance it is related.

No idea yet what causes this so this issue is going to be vaguely described for now.

Compile on Mac

I add add_subdirectory (dfterm3-plugin) to the end of dfhack/plugins/CMakeLists.txt and try compile, but linker fails:

Linking CXX shared module dfterm3.plug.so
Undefined symbols for architecture i386:
"_SDL_PushEvent", referenced from:
_plugin_init in dfterm3.cpp.o
"___progname_full", referenced from:
__ZL15sendHandshakingRN6DFHack13color_ostreamEP13Dfterm3Client.clone.33 in dfterm3.cpp.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
make[2]: *** [plugins/dfterm3-plugin/dfterm3.plug.so] Error 1
make[1]: *** [plugins/dfterm3-plugin/CMakeFiles/dfterm3.dir/all] Error 2
make: *** [all] Error 2

Improved diagnostics

We should tag logging messages in such a way that we can tell from which part of Dfterm3 error message comes from.

In issue #15 we have this error message:

HTTP request failed with: Network.Socket.ByteString.recv: failed (no error)

I cannot be certain where this error message comes from but if, for example, it came from the HTTP server (there are at least two of them running most of the time) we could tag it like this:

[playing-interface] HTTP request failed with: Network.Socket.ByteString.recv: failed (no error)

Arrow keys do not work under some circumstances

Just released 0.3 and PeridexisErrant said "There are a few minor issues though - one is that the arrow keys aren't working for me (Chrome) when they did on an older version someone opened up on Reddit.".

I need more information what causes this before I can start working on a fix.

Plugin fails to load on WinXP

Launching dwarf fortress with the dfterm3 dfhack plugin on windows xp sp2 immediately pops up a dialogue box saying:
The procedure entry point QueryFullProcessImageNameW could not be located in the dynamic link library KERNEL32.dll
followed by
Can't load plugin D:\df\df_34_11_win\hack\plugins\dfterm3.plug.dll
in the dfhack console. The rest runs normally, but obviously without dfterm.

Apparently QueryFullProcessImageNameW is only available in Vista upwards.

Spontaneous termination of DF

Once I launch DF through the web interface, the game only seems to function for about 10-20 seconds before the process terminates itself (regardless of if I leave it on title screen, load a game, create a world etc.) and then becomes unable to relaunch until I completely restart DFTerm.

I took a screenshot of the terminal to help you troubleshoot.

http://img6.imageshack.us/img6/8357/c7wz.jpg

Don't require custom DFHack

Right now, the DFHack Dfterm3 plugin requires a change to DFHack itself.

The only change is to add SDL_PushEvent() to callable functions from plugins. Linux does not need the change (vanilla DFHack can be used) but Windows does require it.

I don't remember anymore why I could not use the same method on Windows to avoid custom DFHack as I can do on Linux but I'm sure I could at least write a hack so that no custom DFHack is needed.

All port options must be specified on command-line

I'm not sure if this is intentional, but when trying to specify a different port for the playing server with --websocket-http= (since I'm running a server on 8080 already), only the playing server starts (the admin server and socket don't). It would be nice to be able to use defaults for the other ports without specifying them explicitly. As an alternative, I suppose another option could be added to run only the servers specified, in case it turns out to be necessary.

Disable actions like abandoning, exiting, etc.

There is probably a way to do this with a DFHack plugin that disables certain menu options. Allowing these actions locally would be tricky (except for exiting, which can be done with "die" in the DFHack console).

Dfterm3 plugin cannot do input when using PRINT_MODE:TEXT

This issue is to remind me to implement alternative way of feeding input to Dwarf Fortress that also works in PRINT_MODE:TEXT

The importance is that this makes running headless Dwarf Fortress servers easier if they can use PRINT_MODE:TEXT with Dwarf Fortress.

Implement canvas-based Dwarf Fortress display in the web interface.

I cannot be sure, but I suspect the web interface itself is a major source of perceived lag. The current display is implemented as a two dimensional grid of -objects that get their classes and text contents changed all the time, probably triggering nasty, performance-killing things like reflows.

I think it may be worth it to experiment with a canvas object to see if it was faster and more CPU-friendly.

Stuck keys cause strange behavior

http://24.192.11.199:8080/playing/#
Pressing shift (just shift) zooms directly to a certain location. This means that < and > also don't work because they require pressing "shift" first. One possibility is that the JS keycode for Shift (16) is being translated to a function key at some point (F1-F4 and shift-F3 are the only hotkeys currently set up, so it's probably one of those)

Implement scriptable player control + more fine grained permissions

It appears that it is a terrible problem that just anyone can control everything.

By "scriptable player control" I'm thinking of letting server admins implement something similar to IRC bots.

The chat can then be used to control who is going to play, who cannot play and server admins can have custom messages and stuff.

As for the scripting language, I don't think it's reasonable to impose Haskell on admins so I'm leaning on Lua. How exactly this will work I'll figure out as I start coding on it.

Web interface doesn't check for websocket port

If the websocket port is changed (with --websocket), the JS in playing.html still assumes the port is 8000.
A possible solution could be to generate a JavaScript/JSON file with Haskell containing the websocket port, e.g.:

dfterm3_ports = {
  'websocket': 8000
}

which could be included in playing.html before connecting to the websocket server.

Implement player listing in the web interface.

There should some kind of a list of players who are watching and/or playing a Dwarf Fortress game in the web interface. Right now, it is not possible to know who is watching, scheming, planning, lurking.

This requires changes to the protocol and the web interface.

I'm putting this as an issue so that I won't forget to implement this.

Doesn't work with the new huskell

src/Control/Lens/Internal/Exception.hs:165:3:
‘typeOf’ is not a (visible) method of class ‘Typeable’

src/Control/Lens/Internal/Exception.hs:168:14:
‘typeOf’ is not a (visible) method of class ‘Typeable’
Failed to install lens-3.10.3

ghc 7.8.3

Web interface will not accept input

When trying to connect to a server (I was trying Putnam's, but that seems to have been taken down for now), after signing in, I cannot input anything or do anything. Chat seems to work, as I can input comments.
I cannot select "Continue", "start", or "generate new world", or anything of the sort, let alone play in a fort.

Trying multiple browsers, I have the same problem on all of them. However, on all tests no-one else appeared to be on the server - this may be related and needs more testing. If I could maybe log onto a server while someone else is confirmed on, and test the chat, that would yield more information.

Another forum member has brought this up (Vyro), though he has since apparently succeeded.

If this is related to open or closed ports, then perhaps some more information on opening ports would be useful. If this is something to do with hardware, that would also be useful. If it has to do with the settings on my browser (default settings, most recent version of firefox) that concern "websockets", information on setting this would be useful, too. If fact, since the problem is probably on my end, any information on solving this problem would be appreciated.

Dfterm3 cannot be compiled with GHC 7.8

This is not a problem in Dfterm3 itself but in one of the libraries it uses, acid-state, that does not compile with GHC 7.8. We use acid-state to store all the persistent data in Dfterm3.

I'm currently compiling Dfterm3 with GHC 7.8 with a modified acid-state but I don't know when upstream will release a fixed version of acid-state.

This same issue also applies to type-level package that's depended upon the protobuf (used by Dfterm3 to communicate with the Dfterm3 Dfhack plugin in Dwarf Fortress) package.

And finally MonadCatchIO-transformers also does this.

I think I've been bitten by a dependency hell that I may have somewhat caused myself by not being careful which packages I use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.