Foundry Terminal
A downloadable module
š² Foundry
Foundry is a virtual tabletop for online role playing games. This module requires a Foundry license and a live instance stood up. Instances can be self-hosted or subscribed to from a service provider (e.g. The Forge).
š³Terminal
A customizable interactive terminal from which players can read and reveal journal entries. Works great in any Sci-Fi or modern settings.
š Usage
1. Create a new tile
2. link any journal entry to the tile using the Terminal tab and check the "enabled" checkbox also found in the Terminal tab.
3. walk onto the tile with any token. This will open a UI which allows players to interact with the pages of the Journal in an immersive way.
š Details
If the player lacks permission to the Journal they will be given Observer. Upon leaving the tile they will be prompted to share the Journal with their party. If they do the Journal will become Observer for everyone.
This works as an alternative solution to map notes. I personally found map notes to be annoying in that they could be easily misconfigured with permissions or not even viewable when checked off from the controls. This solves both those issues by handling permissions all automatically and when you give the tile a custom image it integrates with much greater immersion.
See the project website for more details
š¶ļø Preview
Want to see demonstrations?
Here is the major features of version 2.0
š Access
This content is purchasable right here (creating an account is not required and PayPal can be used). Once purchased enter your key into your Foundry account you have permanent access to the module as well as any future updates for free.
For extra details on how to add keys follow Foundry's guide. Expand the section for "Content Key" and follow the listed steps.
š° Updates
You can follow me for updates, Following my account will give you emails for any future updates. As well as emails about new projects I create. If you do not want to create a itch.io account you could also use a GitHub account and watch the repo for immediate emails about new versions.
Purchase
In order to download this module you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:
Development log
- 20 new style presetsOct 09, 2024
- Terminal v3.0Aug 22, 2024
- Major Forge performance increaseJun 09, 2024
- Puzzle Locks supportJun 03, 2024
- Terminal UI config Overhaul v12 exclusiveMay 28, 2024
- Foundry V12 has been releasedMay 22, 2024
- Major The Forge bugfixMay 20, 2024
- Terminal v2.1.1May 15, 2024
Comments
Log in with itch.io to leave a comment.
Hi!
I just bought your module - but sadly immediately ran into a problem. The "click style" link to journal entry wonĀ“t work with monkĀ“s enhanced journal. At least it seems so, because when monk is active, i canĀ“t click a journal entry. But when i disable monk, it works. Is it just incompatible all in all or is this just for me now? Is it possible to activate the "old style journal select" as i saw in a video?
Thank you! :)
Definitely can try and get that fixed for you. I unfortunately was not able to replicate that on my end. I tested in V12.
Iām guessing our setup is different.
Go ahead and use āReport a Bugā button. Itās fine to leave the content blank. This will email me more information for your system (e.g. Foundry version, modules, browser).
Thank you! Will send it <3
Just a small heads-up i did not notice (yeah, iĀ“m blind) At the loading of the module, libwrapper says "Terminal and Monk Journal modify the same FoundryVTT and ar more likely to conflict".
But also. i use V11 of foundry for cyberpunk red. Is it possible to use an older v11 version for the time being? May spare you some hassle - but this bug could raise up again.
Oh that explains it. I have a fix for this in v3.1.4 but that requires a minimum Foundry of v12.
Iāll put out a fix that you can download for this later today
EDIT: itās released under 2.6.8 should fix your issue.
It works! Thank you very much for this fast support. Awesome! :)
This module is so cool!
I recently made a very poorly looking and poorly scripted module (im not a developer) that allows players to see what im writting in real time? Kind of in like the matrix/hulk movie where the terminal has someone on the other side typing and you can see it, this is a way they communicate with an ancient AI on their ship!
I would love it if that was a possibility to add into your module! It's like an oracle cause sometimes i don't reply to them and my players get so excited when i do lol.
Regardless, this is super cool and you made my life 100000x easier
That sounds cool. I do think there is another module (itās free) which does something like what youāre describing. Have you seen console? Let me know if that works for you.
Ah! Thats such a cool module thank you for the recommendation
The one i made has like real time updating on their screen as i type with like a decrypting animation as i type but this one also works super well!
These 2 combined will be so cool to use for my game im so excited.
Do you happen to know more cool sci-fi themed modules specifically that are cool to use? Im very new to foundry and i would like to browse some cool stuff for my players!
Also no pressure if not! Still getting to know more people in the community and trying to be less awkward about asking haha ā¤ā¤
I havenāt found any free sci-fi modules. Most Foundry games are fantasy games and the module community reflects that. There is a map module I created, which is free, found here. I wrote up what I use for my modules:
Essential
Easy and low risk
Either hard to setup or have a risk of unintended behavior
Settings
shortcuts
Useful sites
Patreon
While there are no sci-fi modules I know of. There are several sci-fi patreon battlemap creators.
Tips
Something in the works
I do have another module Iāll probably release this year. Related to Sci-Fi map generation (map as in travel map, not battle map). So, give me a follow on Itch for future updates on that.
Ah! Definitely following and i don't mind paid modules either.
Thank you so much for taking the time to put this list together!! I super duper appreciate it im so excited to see what else you make!
Super appreciate all the help.
Is there a way to easily pass the id of the user who activates a macro in the terminal?
I creating a tunnelling thing where the players can try and hack each others networks and connect to other terminals but skip over their target's terminal.
I think the issue you might be getting is because Terminal uses a GM proxy for macros. If Iām understanding right, I think you would be able to do what you want if the macro was simply ran on the userās machine.
If thatās the case, there is currently one way to run macros from Terminal without a GM proxy. This requires Foundry V12+ as it uses Regions.
from there you can get the userās id with game.user.id
Again, not totally sure if Iām on the mark here. So, let me know more details if this isnāt what you had in mind.
Thanks for the reply. That would work but the macro I'm running needs arguments, mainly the target the macro pulls the shhs from. So I need a way to pass the user who is controlling the terminal to the macro which runs the gm side and emits the terminal for the user.
I know Monk's Active Tile Triggers has a way to do this but I already have a Run Triggers Button active and I don't want them to run at the same time.
Gotcha. I think itās about time I add a checkbox to allow my core macro feature to be optionally ran user/client side.
You can track progress here. Probably going to be a month before I get this change out.
An option to allow a macro to be ran by triggering player is in latest version.
However, Iām bundling it with some other things which Iām only planning on supporting Foundry v13+ with. So, it might be awhile but the feature will be waiting for you for when you upgrade to v13
Thanks so much for this awesome module! I have been trying to figure out a way to activate a terminal when clicked rather than when a token enters the tile. Is this possible?
There sure is, Terminal includes macros that can do this for you. This does require the use of Monkās Active Tile Triggers as there currently is no way to supply arguments to macros in Foundry
Iāve written up a guide that can walk you through how to run the included macros here
Idea: Would it be possible to get it to handle more than one secure shell? I'm thinking like doors. That way we could make it network and have like terminal-dungeons. :D
You could do this in one of two ways.
The simplest is to chain the Terminals together. So, each Terminal can Secure Shell to the next one.
The more complicated way requires some scripting but Iāll walk you through it. This way also requires using Foundry V12+, since it uses Regions. This will create a one-to-many relationship of Terminals. Youāll need to create a new Region. Keep the Region in an area players canāt get to, it will only be used for scripting. Then create a āRun Scriptā Behavior. For an example see the screenshot below. I created 2 Run Script Behaviors and renamed them to āOpen Terminal 1ā and āOpen Terminal 2ā. I have the code later which youāll want to enter for each Behavior.
Youāll want to have each of your behaviors use a separate āSubscribed Eventā. For mine I used āToken Entersā & āToken Exitsā.
Now we need to link these Event Behaviors to the parent Terminal. Open the tile config for your main Terminal tile. Then open the Trigger Regions window (see screenshot below of the opened window). Add the new Region. Youāll want to add it multiple times (since Iām only linking two Terminals, Iāll add that same Region twice).
Then to finish the link, we need to edit the āSimulated Eventā field to match, one to one, with those Behaviors we created. So, for me thatās the āToken Entersā & āToken Exitsā events.
Now, that everything is linked letās go back to your āRun Scriptā Behavior. You need to actually define the code to run. Copy this code into a notepad:
Replace the TILE_UUID variable with any one of the target child Terminalās UUID. Then enter your edited code into the Behaviorās Script field. That finishes one Behaviorās āRun Scriptā but we have multiple. For each child Terminal you want to link, update the TILE_UUID each time and paste your code into a different āRun Scriptā Behavior.
That should be it. There are only a few extra considerations. This bypasses validation on your Terminal settings. This bypasses the initial Item and Skill checks (password should still work).
Eventually Iām sure Foundry will support running Macros with arguments from Regions and this will be simpler but that isnāt happening anytime soon.
This works perfectly. It's not the simplest way, as you say, but it does the job!
Not understanding a word of code for this, what's the obstacle for making secure shell-function work like doors? I.e. you can just stack as many as you want in the same "secure shell"-function and it will just add more buttons in terminal.
Thereās two issues. Once is single entry variables are significantly simpler code wise to manage. Usually once you start using lists of entries, it takes doubles the lines of code.
Second, Iād have to write a migrator script. Which would check for if any Terminalās have the deprecated solution. Then migrate the data if they are. These make me a little nervous because itās easy to accidentally code a bug for scripts like this (I wrote a similar one for v3.0,0 when Foundry V12 came out).
That being said, I will look more into this feature.
Love the mod! Love it to bits. One problem with latest update though.
If one demands a password to log in, the window gets borked. I will provide an image.
This is regardless of style or theme. (Seems to work still with Alien Wayland, but afaik that's the only one)
Looking into this!
EDIT: should be fixed now in v3.1.7 thanks for the report
Fixed it right up! Thanks a ton for the fast reply. Campaign starts on sunday. <3

Got this error when I updated the mod, don't know if it's a biggie, since the mod works.
Nice, no rush on this but if you have a GitHub account can you open up an issue here. That way we can get all the details.
Hey I reached out on discord because of an issue I am having. I cannot get the select journal dialogue to open when I try linking the terminal tile to a journal
I changed the way journal linking works. Youāll need to click the journal in the sidebar.
I just wanted to say, this is exactly what I was looking for. I've been struggling to find a terminal type asset that was customizable and I'm not a programmer by any means, this has taken care of all of that. Thank you, thank you, thank you!
š
Would the splash screen be able to also display images (whether in ascii art or just normal)? or allow for custom animations/designs to be imported into it?
I could see this working like a book/dream/vision for the player and they will see the title of the book, or have some neat image/animation for the splash screen (when dream/vision) then the information will be presented to them.
That would allow for more system agnostic setup as well, and allow for some fun roleplay and information gathering or backstory reveals, etc.
The modules supports a large amount of customization. These are some of the things already in the module:
With these you should be able to get a theme close to what your describing.
I could put it on my list of things to look into for specifically defining a splash video. Which is only shown on startup and then would change to the standard background in use now.
I have added a splash media setting that you can find on the style form. It has two āmodesā.
If you upload a video it will replace the loading bar and ASCII entirely
If you upload an image it will use that as a background while keeping the standard ASCII and loading bar
I still need to add more layouts, text animation, and default styles but itās getting there.
EDIT (4 months later update): this behavior is NO LONGER TRUE as of 3.1.6+ (October 2024). Showing the ASCII art + Loading bar is now its own configurable setting in the style editor. Regardless of the file type used for the splash.
Awesome!, I will have to try it out soon. havent had time to install and setup foundry for sometime now. but will definitely check it out :)
I wonder if you could shed some light on a little problem I'm having. I'm trying to set up a terminal with a macro button that switches the enabled status of two other terminals sharing the same space, one for "power offline" and the other for "power restored". So the Generator terminal would execute something like
canvas.tiles.get("id of tile").document.flags.terminal.enabled = true/false
to turn on one and disable the other. And this works, but only so long as a token remains on the generator terminal. I can't seem to make the change stick once the token moves off.
Thatās a cool implementation. I havenāt actually tried placing them on top of each other like that.
For updating the flags youāll actually want to use Foundryās setFlag() function. This is present on the document object of the tile.
Here is an example:
canvas.tiles.get("id of tile").document.setFlag("terminal", "enabled", false)
Let me know if that works better.
I am eventually adding a feature to open other Terminals. Itās good to hear there will be some demand for that.
EDIT: this feature has been added by the name āSecure Shellā. There is also included compendium macros that can be used for opening a Terminal.
Hey, with your advice and a *little* help from the foundry discord I got it working to the point where I can even switch on a terminal in another scene:
const tile1 = game.scenes.get("other scene ID").tiles.get("tile ID");
const state1 = tile1.getFlag("terminal", "enabled") ?? false;
await tile1.setFlag("terminal", "enabled", !state1);
Using it again turns the remote terminal back off.Thanks for your help, I love this little module! My Alien games are about to get much more interesting.
Hey, can this be used to reveal the foundry scene map to players? thanks!
Yes, when configuring the Terminal inside the Tile config. There will be a checkbox to add a button for any user that views the Terminal UI. This button when clicked will explore all the Fog of War for the current scene for all connected players.
Let me know if you have another other questions š
As a warning if you like to stay on the latest Foundry version I have yet to find a way to make this feature work on the unreleased version 12 (Which wonāt come out for another couple months). I reached out the Foundry devs but it doesnāt seem like they are going to help me find a solution to it. There are APIs I can hook into but they get complicated very fast.
So, just something to be aware of. This feature may only be here for a year if you stay on latest Foundry.
Thank you for the answer!
I hope you'll find a way to port the feature over to v12, as while it may be a while before i update to that (i'm the kind of guy who will update to v12 once v13 is around the corner basically), i will eventually do it at some point..
Hopefully the devs or someone else will be able to point you to the right direction!
I have a prototype of this working in v12. This feature is here to stay!
This was the last feature to be ported to v12 so this module is ready for whenever that happens.
This is great news!
Do you have any plans for new features to add maybe? i was thinking the other day it would be fun to have a foundry module that could provide some "hacking minigame" for the players to resolve, such as the ones that you can see in Alien Isolation, but i have no idea how feasible that would be lol
I have a couple things brewing for new features. The three certain ones are related to cameras, passwords/keycards and lights.
Iām implementing/taking some ideas from Starfinder. Which Iāve never played but find their mechanics around terminals to be interesting. This includes things like: lockouts, alarms, data wipes, encrypted pages, accessing other computers from your current one.
Iām going to be spending some time to see what is feasible from these ideas.
As far as puzzles or minigames Iām a bit torn because that is a great idea. Even one I listed as a stretch goal on my github page for this.
However, it runs into a problem I havenāt really thought of a solution for. It steps on whatever game systemās solution for accessing computers is. I donāt know a good solution around this, which has halted my progress on that.
Is it possible to use this module with Monk's Active Tile?
Yes it is š I do it all the time and would recommend.
How can I use Terminal with Monk's Active Tiles?
thereās a foundry guide
You can go to the setup screen of your Foundry instance. Go to the Add-on Modules tab. Click install modules button. Search āMonkās active tile triggersā. Click install button.
Then in a world as a GM activate the module on the settings sidebar.
You can now place a tile and a new tab will be shown in the tile config. Itās called triggers and there are numerous settings for how things can be configured at that point.
I think you misunderstood what I asked. I was asking how can I use Monk with Terminal. As in, is there a way to use Monk's to open the terminal or not
I see what you mean. Well there wasnāt until today. Iāve pushed a 1.3.3 version that can support this.
I am now exporting an instance of Terminal to the window. That means it can be opened with a macro and triggered with that by Monkās Active Tiles.
This is a bit experimental since it loses a few features this way compared to having your players just walk onto the Terminal tile, so proceed with caution.
~~So, here is what youāll need to do. You should create a macro and give it this contents (replacing the journal and tile ID)~~
~~Then add a trigger onto whatever tile your using to run the macro and it should open it. Keep in mind this macro must be ran by whoever you intend to have see the Terminal. It only opens up for the client that triggered the macro.~~
EDIT: I now have a supported macro which comes in an included module Compendium. For steps on how to use that. You can see the wiki