On May 15th, 2025 I started working on Grid 4.0. This is a completely IN MOO Grid, unlike Grid 3.0 which is web based. On July 29th, 2025, it is released. This has been a bit of a journey. All told, this has required adding:
350 new verbs
13,000 new lines of code
225 new properties
20 new objects
All that being said, as you read on, please understand that there will be bugs and balancing fixes.
IN MOO GRID
That's right, Grid 4.0 is completely in the MOO. This will make is VASTLY easier to maintain, monitor, and extend.
GRID 3.0 STILL EXISTS
You can still use Grid 3.0 (web based) if you want. However, the functionality has been limited to Gridmail and Forums. You can no longer view nodes on Grid 3.0. This is because it is impossible to make nodes cross compatible with the MOO due to the way they were designed on Grid 3.0.
THIS IS A SHIFT IN HOW THE GRID IS ACCESSED & USED
I expect there will be a period of time where people have to get used to the commands for using Grid 4. This is normal. I've been using it 2.5 months, as have the rest of Staff. The commands become second nature pretty quickly.
YOUR TERMS HAVE BEEN UPGRADED
Your existing terms (and street terms) have been upgraded and can now be used to access Grid 4.0. They will also work to access Grid 3.0 if you wish to use that.
There are a few things to be aware of. First off, in order to access the Grid you need to 'use term' where term is the name of your QuickTerm or LiteTerm or the StreetTerm in the room. This tells the MOO which term you want to use, as you might have multiple terms on you.
After you 'use term' you can type 'g'. This command works similar to how rigging works, if you are familiar with that. It is a prefix appended to ALL grid commands (except 'use' and 'scan', more on scan later).
Typing 'g' by itself will give you some basic info about your term, if you're logged in, and the commands available to you.
You must be holding your term in order to use it. If you are not holding it, notifications will just be vibrations instead of actual display messages you can read. Unless...
GRIDSIGHT(TM) CYBERWARE
This is a cyberware that lets you use your term without holding it. You're controlling it with your mind and micro gestures! And seeing the output over your vision! It's like TruSight, but for terms! Available now!
LOGGING IN
Your existing grid accounts work just fine and use the same passwords. If you have a REALLY old grid account that is not using one of our automatically generated IC passwords you WILL HAVE TO request a password reset via the password reset command which sends you a new password via SIC.
After logging in you can type 'g' again to see more commands available.
ACCESSIBILITY
I built accessibility into Grid 4.0 from the ground up. I've had help from some of our players that use screen readers (BIG THANK YOU!) who have helped me tweak the usability. There is an accessibility option that can be turned on with the options command 'g options' for more info. When this is on, the display is tweaked heavily to read better for screen readers.
OKAY, OKAY, BUT WHAT ARE THE FEATURES?
The in game help file 'help grid' and the supplementary decking help file 'help decking' as well as the IC nodes 'NodeEditing' and 'BrlangIntro' go into MUCH more detail about what is possible, and I want people to discover what is possible ICly through experimenting, but I'll go touch on what is possible in Grid 4 now.
FORUMS / TOPICS / POSTS / FEED
- All the features of Grid 3.0 are present in Grid 4.0
- You can edit your forum posts
- Characters can become forum moderators, which can lock/unlock and pin/unpin posts.
- You can view pinned posts
- Grid Admin can delete topics entirely
- Notifications for new posts have been tweaked and are better
GRIDMAIL
- All the features of Grid 3.0 are present, minus the trash folder
- You can view just your unread mail
- Notifications for new mail have been tweaked and are better
- You can now see if mail you sent has been read (read receipts)
CUSTOMIZATION OPTIONS
There are a huge number of customization options available via 'g options'. These control everything from how many topics or gridmail to show per page to how long you stay logged in to being able to pick colors for every bit of text you see on the grid (23 total options relating to color!).
SPEAKING OF LOGGING IN...
There is an option for how long your session lasts. This is important because when a term is logged in IT IS LOGGED IN. That means if you hand a logged in term to someone, it is LOGGED IN TO YOUR ACCOUNT. And you know, if someone ganks you or steals your term, and you're logged in... they will have access to your grid account during that time.
THEMES
You aren't limited to one set of options either. You can save your current option set as a theme, have multiple themes per term and swap between them as much as you like.
There are also generic themes (that all terms have access to) which represent a wide range of different color customization.
Themes can also be published to your personal nodes, and others can then download those themes and try them out. Can't wait to see what kind of crazy stuff you all come up with.
NOTIFICATIONS
Notifications work in a similar fashion to how they did in Grid 3.0, but there are more of them, and you can view a history of notifications using the 'g notifications' command. This will show you a paginated list of all the notifications the logged in account has received in the last 30 days. This includes everything from gridmails, to forum posts, to system messages, and more. Notifications are ACCOUNT specific, which means if you log into different accounts, you'll see different notifications.
You do not need to be logged in for the notification to be logged, meaning you can check your missed notifications when you log in.
SPECS
Each type of term has specs. You can use the 'g specs' command to see the specs of your terminal.
At this point, there are four buckets of terminals:
- StreetTerms (limited functionality, lowest quality)
- QuickTerms (low quality, requires SIC for connectivity)
- LiteTerms (medium quality, doesn't require SIC)
- NovaTerms (new! high quality, doesn't require SIC)
There are a few other types floating around, such as Gridworks terms, but broadly, the ones above are the core of what you'll be seeing.
StreetTerms are limited in what they can do, because they are for public access. Every other term can do EVERYTHING mentioned above, and that I've yet to touch on, but some in more limited capacities. Suffice to say, every class of term is progressively better than its cheaper counterpart in meaningful ways.
NODES
Nodes are where things start to get interesting. Because the MOO can't do bold, or make text bigger or smaller, or other kinds of text formatting, the old HTML/markup based nodes are all obsolete. I've taken steps to make these nodes still render 'okayish' on the MOO.
The big step forward is that there is now a Node Markup Language for the MOO, which will allow you to create nice looking nodes using specialized tags. There are a bunch of these tags ranging from links, to coloring text, to presenting text in interesting ways (such as in tables). There are also functional tags which will do things like render a stock ticker or theme on your node. There is also a tag which supports rendering the output of an IC object that supports grid rendering, onto your node.
An example of this is a cybernetics price display. With the proper IC knowledge, you could render the list onto your node, dynamically (meaning it will update each time the node is rendered, with new info if the price list has changed).
The 'NodeEditing' node has an overview of all the tags, examples of how they look, and how to use them.
Anyone can create a node using the 'g nodeman create ' command. Nodes are no longer case sensitive.
LINKING TO THINGS FROM NODES
The new node tags allow you to add links to your node. Links can be to other nodes, to topics on a forum, or a 'mailto' link which is a link to someones gridmail account.
USING LINKS
When you view a node that contains links, those links are added to a list of recently seen links which you can view with 'g links' you can then visit that link with 'g link '. This makes navigating around much easier. Links stick around even if you visit another node, but will eventually fall off the list as new links are seen. You can cap how many links you keep with 'g options'.
NODE ACCESS CONTROL LISTS
Nodes now have an access control list, which is basically a permissions system. The node owner can add (or remove) a user to the ACL (Access Control List). That gives the user permission to edit the node, as well as change if it is public or private. Now you can hire someone to create your node, without having to give them complete control over it!
PUBLIC AND PRIVATE NODES
Public nodes are visible to everyone. Private nodes are visible only to the owner and anyone on the ACL. This opens up a lot of possibilities.
NODE BACKUP AND RESTORATION
The node owner can take a backup of the current content of their node. You can keep up to 5 backups. You can restore any backup at any time. This is restricted entirely to the Node Owner, and can't be done by anyone else, under any circumstances. This is how you protect your node content if you are worried about deckers. You can also preview a backup without actually restoring it.
VIEWING NODES YOU OWN AND NODES YOU ARE ON THE ACL FOR
You can 'g nodeman mine' to view nodes the logged in account owns.
You can 'g nodeman acl' to view nodes the logged in account is on the ACL for.
TRANSFERRING NODES
Got a node you don't want? Maybe you built up a cult following on it and want to cash in and sell the node? Now you can! Nodes can be transferred from one account to another. This works similar to a domain name transfer in real life. It takes 72 hours to execute. It can be canceled at anytime by either the sender or receiver. You can view your pending transfers (incoming and outgoing).
LOCKING & SEIZING NODES
Grid Admin can lock nodes to prevent them from being hacked. This is mostly going to be used for important nodes that we don't want people messing with (like the NodeEditing node which provides important IC info).
Nodes can also be seized on behalf of the WJF. This isn't going to be used much, but it's important to have. If you load a seized node, you'll get a nice WJF splash screen similar to when the FBI seizes a domain IRL.
NODE ADVERTISING
Nodes can now have ads on them. If you have an ad on your node, and it is set up correctly, each week you'll get an automated payment into your bank account representing the chyen earned from the visits to your node. This is capped across all your nodes, so you aren't going to get super rich off of it, but if you maxed it out each week, you could make ~125k a year in semi passive income!
I hope this fosters people creating cool node content that is regularly updated. You can find more information about this on the 'NodeAdvertising' node.
GRID ADVERTISING
There is a new term that works much like the lev and taxi advertising terms. It is located in the lobby of NLM. You can place ads that will shop up on the grid! Enjoy.
BUT WHERES THE FREAKIN' DECKING?!
We're getting there. Don't worry.
SCANNING OBJECTS AND ROOMS
Each portable terminal has the ability to scan a room (scan here with term) or an object (scan object with term). Just about every room supports being scanned (excluding dynamic rooms like market mazes, the badlands, etc). And many objects can be scanned as well.
Scanning a room adds it to your terms geocode database and allows your term to target that location (more on this soon).
Scanning a grid enabled object gives your term the ability to connect to that device (more on this soon).
Different terms have different capacities for how many locations and grid enabled devices they can store.
AND NOW THE DECKING
I'm not going to go into deep details about how this works. If you want to understand how programs work, check out the 'BrlangIntro' node on the Grid for a deep dive. It links to a bunch of other nodes with lots of info on what is possible. Also read 'help grid' and 'help decking'.
In terms of the functionality, all three decker skills (programming, systems, cracking) now have functional uses in the game world that can impact the world.
For Locations this includes (BUT IS DEFINITELY NOT LIMITED TO (EXPLORE PEOPLE!)):
- Checking if a location has SIC
- Targeting a location and checking if a SIC ID is present there
- Creating a deadzone in a location that doesn't have one
- Redirecting the SIC to a location that is in a deadzone to remove the deadzone
For grid enabled devices this includes:
- connecting to a security camera and viewing a snapshot of what it sees
- checking if a sensor (cam, mic, hub, etc) is transmitting
- disabling a camera/mic/thermocam/hub temporarily
- enabling a disabled device
- getting a list of employees from a term
- marking fines as paid/partially paid
- finding the SIC id associated with an alias
- finding the SIC id associated with a grid account
- much more, fuck around and find out!
NODES HAVE ICE
Nodes have ICE by default. The default ICE isn't super great and can be replaced with better ICE by a decker. If the ICE is broken, it will slowly recover to the default.
When a nodes ICE is completely broken it will be vulnerable. A decker can then splice usernames into the ACL of that node. That allows them to edit the node, or change it's privacy settings.
Only the owner or someone on the ACL for a node can replace a nodes ICE. Replacing the ICE completely replaces it. So it is technically possible to replace 300 points of ICE with 250 points if you suck. However, the ICE score is the combo of the default ICE + the additional ICE, so you won't ever be dropping ICE below the default, even if you aren't great at decking.
TERMS HAVE ICE
Your term has ICE. The amount of default ICE is based on the type of term, with better terms having better ICE. Terms will recover ICE over time, up to their default. The ICE on a term can be augmented by a decker. Only the term itself can replace its ICE, unless the term has 0 ice, at which point anyone can replace the ICE.
When a term has 0 ice, it is vulnerable. A decker can connect to it and start viewing logs, who is logged in, and other information on the terminal. This does NOT include gridmails. It's mainly metadata, and program logs. This is valuable paydata! Protect your term if you've got something to hide.
OTHER DEVICES MIGHT HAVE ICE, BUT MIGHT NOT
Most other devices, like security cameras and hubs, support having ICE, but do not have it by default. That means these devices are vulnerable by default. You can hire a decker to install ICE on your devices, and to keep an eye on them to make sure they remain secure, if you want. When a device like this has ICE, NO ONE can access it via the Grid. This includes the owner, as most devices do not have an ACL like nodes do.
All of the commands a decker can run on devices are either for gathering information (paydata) or are temporary. A decker cannot permanently disable a device. Most disabling commands are limited to 15-60 minutes. This is purposeful. Deckers can do meaningful but temporary damage.
Deckers can only target devices that their terms are aware of. And they become aware of devices by scanning them (in 99% of cases). So physical security is also important. If you've got a camera monitoring some busy street, it's easy to get access to that camera and scan it. Now that camera is a target for that decker to run programs against.
A QUICK EXAMPLE
A decker could, with some prep work, create a program that knocks out every camera on Fuller Street, and then knocks out the SIC for the entire street as well. Then they could let their chummer in the Sinners know, and... well, you can see where that might lead.
SO HOW DO THESE PROGRAMS WORK
Programs are written in Brlang, which is the language that grid programs are developed in. This is a basic scripting language that I've created. It doesn't require any prior programming knowledge (though that doesn't hurt). There are a ton of resources and examples on the Grid to learn it, Decker NPCs will be available if people get stuck, and as players pick it up, there will be players who can teach others as well.
I tried to make it as simple as possible, while also letting people feel like they are building cool programs.
CHECKS AND BALANCES: GRID HEAT
Think of Grid Heat like STARS in GTA. The more programs you run that do possibly illegal stuff, the more grid heat you generate. You can see your current grid heat with the 'g' command. If your grid heat crosses a certain threshold, there starts to be automated system responses from Gridworks. And the actual Gridworks PCs may also be alerted so they can investigate. There is IC info on what this means on the nodes I mentioned earlier.
Grid Heat is specific to the TERM and not the Grid Account. It slowly bleeds off over time. Different commands generate differing amounts of Grid Heat. When you compile a program it will give you an estimate of what you can expect from the grid heat the program will generate when run.
There are a few things to keep in mind:
- Programming Skill (the actual skill your character has) determines what commands you can use. You can test what you are able to use with 'g programs evaluate'
- Programming skill also determines how many commands you can include in a program. This gets higher as your skill goes up.
- Programs have to 'compile' before they can be used, which takes time. More complex programs take longer to compile.
- Systems skill determines (among other things) how many uses of a program you get. That's right, programs have limited uses.
- Cracking skill is used to determine how good the ICE you create is, and how good the crackers you make to break ICE are
- Cracking also serves to passively reduce the grid heat generated by your programs. It reduces the Grid Heat by a % based on the CRACKING skill of the programmer who made the program.
- All the skill rolls that take place when you run a program are based on the skill of the PROGRAMMER, not the person running it. This means a newb could run a bad ass program, and accomplish cool shit.
- Programs cannot be transferred off the term they were created on. This is to make it more important to HAVE a decker on your team / payroll, and for that decker to be present. We don't want deckers to just be program factories that sit in cubes and never get invited out to have fun. That would be boring.
- Creating programs is going to take some trial and error. I've tried to make the system provide a lot of feedback and help, but in the end you'll be creating actual scripts that get run, so it may take practice to figure it out. I think this is better, overall, than just clicking a button and having it create something without any real user input / effort / value. There are plenty of examples of the Brlang grid pages for those that want to experiment.
PROGRAM LOGS
Programs generate logs which are shown on the screen. You can also review your logs using 'g logs'. This makes it easy to track what happened in your program without having to scroll up.
SCHEDULING PROGRAMS
Programs can be scheduled to run in the future (from a few minutes up to a month in the future). This opens up A LOT of possibilities. Got hired for a job but it's at 5AM and you can't be online? Work out the details and timing and schedule a program to run that knocks out SIC for half of Gold Sector. Got some blackmail material you want to make sure gets out if you get got? Write a program that sends a gridmail with the paydata to a Judge or Corpsec agent and schedule it to run 30 days in the future, then reschedule it each week you stay alive. Want some plausible deniability that you didn't execute some crazy hack? Set your program to run and head to the bar.
PROGRAMMING ON TERMS
Different terms have different capacity for the # of programs they can hold. They also have compiler modifiers that make compiling faster or slower. The better the term, the faster your compile times will be, and the more programs you can have compiling at once, the more scheduled programs you can have, and the more overall programs you can keep.
OTHER PROGRAMMING STUFF
I have NOT gone into everything a decker can do with programs. The node documentation touches on more of it, but there are also UNDOCUMENTED commands that people will have to find by scanning devices and then checking what commands they offer. Suffice to say, most electronic devices will be targets for exploitation either now, or in the future.
USER MANAGEMENT
Grid Admin, and Grid Moderators (Gridworks employees typically) can make other users forum moderators. They can also suspend user accounts for periods of time. A grid moderator can suspend an account for up to an hour. This doesn't stop a term from logging into a different account, but it does lock that account from logging in during that time.
THIS WILL CHANGE THINGS
Yeah, so, this is a big change and it's going to take some getting used to. I'm happy to answer questions about how things work OOCly. Though for IC stuff like how Brlang works, you'll likely need to find out the answers ICly. I'm sure there will be TONS of new ideas for how we can improve this, change this, add new things, etc.
FEEDBACK AND IDEAS
First off, I want people to hold off on providing too much feedback for the first few weeks. Experiment for a while before diving into feedback and ideas. Please hold off on posting ideas and requests for changes until September 1st. I want people to get some experience under their belts with the new Grid before we engage in serious discussions about what changes / features are needed.
There is a LOT to explore here, and not everyone is going to have a chance to explore it all right away.
In the meantime, let's use this thread to ask questions, point out missing or incorrect documentation, and for general support for non critical things. I'll monitor the thread closely and weigh in as much as possible. I will also be posting a Grid 4 FAQ thread with some Q&A and I'll keep that updated based on questions asked in this thread.
Both this thread and the FAQ thread will be linked in the 'help grid' help file.
MANY THANKS TO THE BETA TESTERS
I want to take a moment to thank the players (at least 10 of you!) and admin (all of you!) for the extensive testing and feedback you provided me throughout the development. I really, really, appreciate it, and I think this final product is much better as a result of all your help.
NOT FINISHED
As always, this feature is not finished. I have some further updates that I want to make but I felt that I'd waited long enough to release already and wanted to get it out and start getting feedback. I've got a doc with tons of ideas for other things to add, especially daemons, which will monitor your term and nodes and give you additional notifications. Those are next up.