Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - white-rabbit

Pages: 1 [2] 3
16
Aw yeah, now you can select your desired graphics and color set in the command line  8)

ooooh, very cool.  8)

17
I'm curious to know why it's not compatible with dfhack plugins - I mean, can the host at least run their plugins even though the guests don't have access to it?

Every frame, the plugin goes through each user, restores each of their UI state (e.g., are they in the designations menu?), and applies any new keys they've pressed. It expects to be able to restore UI state just by applying a sequence of commands (the commands in data/init/interface.txt). Some plugins introduce UI state and screens which cannot be accessed using just those keys. Those plugins are all unlikely to work.

Some plugins may be coded in such a way that they expect there to be exactly one user and one camera position.

You're welcome to experiment and report any plugins which do work -- I'll list any known-to-be-compatible plugins in the OP. However, I've seen some plugins which cause the client to get stuck, unable to exit the screen, so it could be risky. (Refreshing the browser works in that case, though.) Plugins which don't introduce new UI elements are more likely to work. I've seen some plugin-introduced UI elements that do work. It's possible that in the future some currently incompatible plugins can be made to be compatible. If there are any plugins which get a lot of requests, I will prioritize those.

Also, does this have any resemblance to Warmist attempt to recreate adventure-mode within fortress mode?

I don't think so. It's not possible to control individual dwarves with dfplex because it's not possible to do so in vanilla dwarf fortress. This plugin does not introduce any new elements that are not in the original dwarf fortress except for the ability to type chat messages. Perhaps Warmist's plugin can be combined with this one to allow some users to control dwarves and others to play the game normally? They'd have to serve on different ports though. I would be surprised if the two plugins were compatible out of the box, but it's not inconceivable.

18
Enough talk about that user, please. I like the quote as a tagline (I think it exactly captures the spirit of the project), and I think it's good-natured humour -- but if it causes a stir or any trouble for that user I'll have to remove it.

I think restricting access to layers is a great idea, if each player gets exactly one layer. Perhaps they could later petition for a new layer down the line once theirs get decently filled up. I think it'd be amazing if the fortress was divided into a hundred little fiefdoms that nonetheless have to work together to survive. Oh, and the fortress would gradually descend into the underground as more people signed up and claimed layers further and further down. So there'll be an enforced sort of progression downwards, too.

Yeah, I agree completely. Seems like a great idea. I added some lua bindings to make this possible now, here's a lua script demonstrating locking everyone to one particular z level. Another file can be added to map usernames to z levels. The username-to-z-level mapping will have to be done manually (as I don't see how this could be sensibly automated).

19
Thanks. Given your advice, I'm going to see if I can get an intermediate program working. Hamachi or Tunngle or something.

Edit: Also, this is a video that exists now, showcasing this fantastic little utility. Like Blindirl says in his video, thanks to Krutonium for being a host for us. Because both of us were Telus :P

Awesome, thanks for linking the video! I see someone in the comments mentioned Armok Web Services, which I was not aware of. Has anyone tried this? Does it really support multiplayer as it claims to?

Suggestion: somebody start a community fort. The more the better :D . The rules prob need to be worked out (e.g. you only get one z level or sth) but that would be interesting to see.

ooohh one z-level each would be so hilarious! This must be done :D I should totally add some callbacks and lua bindings or something so people can write scripts that enforce this sort of stuff. I think this could be achieved in code by forcing the cursor z to be a particular value -- that way people can still look at other layers, but can only edit their own. Amazing. If someone else actually organizes such a succession game, I can try implementing it.

20
Hmm. Telus blocks port forwarding if you don't have a business package. AKA residential packages don't get to host this. Any way(s) for another method to host this over internet? I doubt you'd be able to pay for a dedicated matchmaking server, but some way to be able to connect to people online without having to open ports would be nice.

Yeah, that's telus for you :/ I use a different ISP, they have no problems with port forwarding. Many residentials have no problem.

I can try to set up NAT punchthrough. It's an ordeal though, and would take a while. Perhaps there's a way to achieve this with WebRTC -- I don't have a sufficiently good understanding to say how feasible this is. If anybody has some experience in this regard, help would be appreciated!

I'm not sure a change to dfplex is necessary though -- I believe there are utilities which do NAT hole-punching already, and can be used as an intermediate layer (i.e. dfplex doesn't need to be aware of it). You may also have success with a VPN or a Virtual LAN program. These are all utilities to circumnavigate a restrictive NAT and/or ISP. (10+ years ago I found Hamachi did this well, but I have heard it's gone downhill.)

In the meantime, if you join the Dwarf Fortress Discord server, Hexa has set up a nice server. Of course, it's not the same as self-hosting, but perhaps it will help you bide the time.

21
Did you download the wrong binary? There are 32 and 64 bit options. I have seen this occur when the wrong architecture is used. Please double-check that df, dfhack, and dfplex all match (32 or 64 bit).

I just gave it a try again downloading the linux64 Dfplex, dfhack for linux 64 GCC 4.8, and df 44_12 for linux 64 (double checked they are all the same architecture).

Steps I took in installation are:
  • `tar xjf df_44_12_linux.tar.bz2` to unpack dwarf fortress
  • Ran dwarf fortress to check it's working fine. (I have to delete libstdc++ from the local libs because it seems like it was compiled with a different version to mine)
  • `tar xjf `dfhack-0.44.12-r3-Linux-64-gcc-4.8.tar.bz2` inside the df_linux folder to unpack dfhack
  • I run DFhack to check it all works (it gives me a warning about dfhack.init being missing)
  • I extract `dfplex-v0.1-linux64.zip` inside the df_linux folder overwriting any collisions
  • I run ./dfhack to check everything works... `Can't load plugin dfplex`

The dfhack.init only has one line, everything seems to be in it's place. No clue as to what might be causing it!
I've also tried it with a LazyNewbPack install, as well as trying the other DFhack compile ( gcc 7 not 4.8 )

Hope this helps narrow it down at all (might be doin something really stupid along the steps!)

Edit: Just in case it matters at all during runtime, I also installed libboost to no avail. Same message occurs.

There is likely some reason that dlopen is failing. Check the stdout and stderr log (they are saved to a file) and try running ldd on dfplex.plug.so to see if there are any missing dependencies (other than the dfhack dependency, which ought to be loaded already when that plugin is loaded).

22
Really excited to be playing but cannot seem to get it to work :(

Am on Debian 10, creating a fresh install of DF 0.44.12 alongside DFhack and all I get is:
Code: [Select]
Can't load plugin dfplex
Cannot enable plugin: dfplex

dfplex does not show up when I use `enable` on it's own, cannot for the life of me figure out what is going on. I've checked the directory structure three times over to make sure each file is there but nothing is missing...
Any sort of advice here or what I should provide to make debugging easier?

Did you download the wrong binary? There are 32 and 64 bit options. I have seen this occur when the wrong architecture is used. Please double-check that df, dfhack, and dfplex all match (32 or 64 bit).

23
I don't think the dfhack keybindings are accessible. I can probably set that up though. command-prompt is intended to be usable but I have not tried it yet.
DFHack keybindings use SDL_PollEvent, so if you're using SDL_PushEvent, they should work. (I don't know if you are, though.)

Webfort used SDL_PushEvent, but I'm using viewscreen::feed, nothing SDL-related. This is to allow keypresses from many clients each frame to go to their own individual UIs.

24
@white-rabbit
Looks like you quoted the OP instead of using the edit button.

(Oops. Fixed.)

Is support for keybinding dfhack command possible? Or at least a way to send dfhack commands to the server (using command-prompt command or otherwise.)

I don't think the dfhack keybindings are accessible. I can probably set that up though. command-prompt is intended to be usable but I have not tried it yet.

25
Edit:

I've updated that and the link is in my new post:
http://www.bay12forums.com/smf/index.php?topic=176250.0

Great, I'll edit my main post.

26
Not only did I get it to work, I automated it!
I wrote a little batch file (based on another one I've written to download df, dfhack, twbt, and a few graphics and color sets) that just downloads everything and organizes automatically.
Awesome work white-rabbit!

(here's the link: https://drive.google.com/open?id=1vbIMbhigyN8he6qX915C5ngzIdpxPwGL)

I'm also working on a linux version of my script if anyone is interested. We'll see how long it takes, but it should be up soonish.

This is awesome! I linked your script from the main post -- however, I have had some people ask me for troubleshooting help which I can't offer, so I took down the link. It looks like there are some dependencies your script requires, right? If you can consolidate all the info in one place, with advice for those gotchas in particular, I will include a link to that.

By the way, I just found out that the lin64 build has a dependency on boost 1.58.0, not sure if that influences your script.

27
1. I'm not sure how to get the port to change away from 8000. I changed the static and other port in the dfplex.txt file but it doesn't seem to have made any changes and I am stuck using the "http//IP#:8000/"

Just checked the source code -- indeed, this is a bug. It looks like you can set the port by setting the environment variable DFPLEX_STATICPORT before launching the game. You can do this from the Linux command line with e.g. export DFPLEX_STATICPORT=8080, and I'm sure there's some way to do it on Windows too.

4. Not sure how to disable the stonesense texture pack that came with it... I've only played vanilla for the last like 11 years so textures are weird

Yeah, maybe I shouldn't have it default to using a graphics pack. Anyway, you can configure the graphics by editing `hack/www/config.js`. There are a number of graphics sets to choose from in the art/ subfolder. Additionally, players can individually set their preferred graphics by modifying the URL. (That's a feature from webfort. Here are the instructions.) I'm not sure what the most convenient way to implement this feature would be.

6. I am hosting the server and have to play in the browser window, the main game window gets all buggy and I just minimize it

Yeah, the main window isn't meant to be used except to hit the ESC key to save. That's all a little preliminary and I hope to make it more intuitive.

28
Followed the instructions in the OP, but the game instantly closes as soon as dfplex is enabled. I've tried disabling it in the .ini and enabling it during fort mode, same result. I don't see any errors in the usual logs.

Windows 8.1
DF 0.44.12 x64 SDL Windows (small)
DFHack 0.44.12-r3 (release) on x86_64

Hmm, that's troubling. Here are some things to try:
- try not using the small DF release
- make sure that data/init/dfplex.txt exists.
- try a different port (edit dfplex.txt) for both the websocket and static server
- restart your computer
- try using the 32-bit version of everything in compatability mode.

I'll add some debug options in the next version to help identify the problem. (That won't be out for a while I'd imagine, however.)

29
This is awesome sauce. Stuff of divinity.

Can't wait to see it mature.

Keep up the excelelent work.

Thanks!

- Pretty much constant communication is key. If you aren't telling people what you're doing, it's easy to massively over-produce, say, doors (if two people notice a door shortage and both try to fix it) or accidentally use up all of your coal or something.

Yeah, this is definitely a good reason to add in-game chat or something. And maybe some options to make it a little more stable if you're playing with mysterious strangers rather than friends. Or maybe there's no need, and the chaos would be fun.

30
This is super cool!...
Sadly I can't figure out how to get it to work. :(
I've downloaded df 0.44.12 with dfhack, then added the dfplex raw and hack folders to the df folder to integrate them, and added the dfhack.init file provided. When I run it throws the error:
"The application was unable to start correctly (0xc000007b)."

Any suggestions?

My tentative guess is that you downloaded the incorrect 32/64-bit dll. Try the other option. Please make sure that dwarf fortress, dfhack, and dfplex all are for the same architecture (32 or 64 bits), and that matches your operating system.

Pages: 1 [2] 3