Entity and Mass Based /sector_chmod Options, /system_chmod

    Joined
    Oct 12, 2015
    Messages
    321
    Reaction score
    257
    • Legacy Citizen 4
    • Community Content - Bronze 2
    • Purchased!
    Something I think would be a very useful addition to an admin's arsenal is to add optional mass and entity count restrictions to /sector_chmod commands such as +noenter and +noexit. Being able to restrict mass in specific systems and sectors would allow among other things settings only favoring small craft over capital ships for example. The establishment of non titan areas in the systems around spawn or in areas where large and numerous objects would not be appropriate also comes to mind.

    This is something that could be a huge game-changer for servers as now they would be able to more effectively and specifically direct player activity in a way that is like terrain. Players could adapt to these geographic pockets by using smaller craft for example.

    Ok, here's a good example. Lets say I want my spawn station and the system around it to be mass and entity limited so only ships and stations built there or entering can be 4k in mass and no more than 16 entities. I type in /system_chmod (system coordinates) +noBuildOver 4k. 16entities I then put in /sytem_chmod 0 0 0 +noEnterOver 4k.

    In short:

    Add a /system_chmod command with the same current functionality as /sector_chmod

    Give additional function to /sector_chmod, /system_chmod commands allowing restriction by mass and entity count

    add new specific conditions such as +noenter and +noexit with an under/over mass and entity count component ie. +noenterover (ship mass). An important additiona to this would be a +nobuildover component which would prevent ships and stations from being built over restrictions within the exclusion zone.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    Something I think would be a very useful addition to an admin's arsenal is to add optional mass and entity count restrictions to /sector_chmod commands such as +noenter and +noexit. Being able to restrict mass in specific systems and sectors would allow among other things settings only favoring small craft over capital ships for example. The establishment of non titan areas in the systems around spawn or in areas where large and numerous objects would not be appropriate also comes to mind.

    This is something that could be a huge game-changer for servers as now they would be able to more effectively and specifically direct player activity in a way that is like terrain. Players could adapt to these geographic pockets by using smaller craft for example.

    Ok, here's a good example. Lets say I want my spawn station and the system around it to be mass and entity limited so only ships and stations built there or entering can be 4k in mass and no more than 16 entities. I type in /system_chmod (system coordinates) +noBuildOver 4k. 16entities I then put in /sytem_chmod 0 0 0 +noEnterOver 4k.

    In short:

    Add a /system_chmod command with the same current functionality as /sector_chmod

    Give additional function to /sector_chmod, /system_chmod commands allowing restriction by mass and entity count

    add new specific conditions such as +noenter and +noexit with an under/over mass and entity count component ie. +noenterover (ship mass). An important additiona to this would be a +nobuildover component which would prevent ships and stations from being built over restrictions within the exclusion zone.
    I like this! There could be a lot of uses for server admins to use this new functionality.

    However, I would recommend creating new chmod values for each type of restriction, to avoid any sort of confusion.

    Examples:
    /sector_chmod 2 2 2 + noentermass 5000
    /sector_chmod 2 2 2 - noentermass

    /sector_chmod 2 2 2 + noexitmass 10000
    /sector_chmod 2 2 2 - noexitmass

    /sector_chmod 2 2 2 + noenterentitiespership 16
    /sector_chmod 2 2 2 - noenterentitiespership

    /sector_chmod 2 2 2 + noexitentitiespership 32
    /sector_chmod 2 2 2 - noexitentitiespership

    Separating out the values allows for easy changing of the values because it removes ambiguity. For example, let's say it was implemented as additional layers of "noenter". Then a person might type "/sector_chmod 2 2 2 + noenter mass=5000 entities=16". This is all well and good, but what if they then type "/sector_chmod 2 2 2 - noenter"? Is this supposed to remove any mass and entity restrictions or just the catch-all "noenter" value, leaving the mass and entity count restrictions alone? This also complicates the error messaging if a player enters the wrong amount of arguments, or uses invalid arguments. The error messaging would have to determine all possible scenarios and then have a cohesive error message returned. Keeping it simple would allow for more easily understood error messages.

    I definitely like the /system_chmod addition! Right now it is incredibly wonky trying to set up large custom areas with /sector_chmod. Literally hundreds of sectors have to be set to +noenter and +noexit surrounding a system in order to prevent people from jumping out (or jumping in). Additionally, the higher the jump distance on a server, the bigger this box needs to be. This makes it virtually impossible for servers with higher jump distances (like 80). How can they have things like an event sector where players battle it out, but are trapped inside of that one system? Or what if they want a special system next to spawn just for new players that has custom settings and pirate spawning? Even for servers that have lower jump distances, such as the default of 8, having 8 layers of sectors surrounding a system set to +noenter and +noexit creates a really awkward overlap that will effectively make all surrounding sectors (26 of them) mostly-useless and confusing for players to navigate around. Half those systems will have to be blocked off from players, making them useless.

    But in addition to these new features, the dev's also need to fix fleets and how fleets navigate through sectors with no-enter and no-exit. Right now fleets can easily go through any area that is set to no-enter or no-exit when the sector unloads. And even when the sector is loaded, they push through the barriers. Now, make it so the fleets do not attempt to leave a no-exit sector should be relatively easy. Also make it so they do not attempt to try to move TO a sector (or system) with no-enter set should also be relatively simple. But what if a fleet is told to move from a valid sector to another valid sector, but there is a noenter or noexit sector or system in their path? This would require the StarMade server to calculate the trajectory of the fleet and then check all sectors and systems in that path, then if detected, it would need to figure out a custom path OR cancel the order and inform the player that the path is blocked. Informing the player that the path is blocked, however, is problematic because players cannot see which systems are set to no-enter or no-exit (and perhaps they should not be able to see this either). I think the ideal situation here is to have it so fleets automatically move around the system or sector, but also informs the player that the flight path was blocked and maneuvers around the area had to be done. Another complication that would need to be handled is if a fleet is already moving, and an admin then blocks the path. The fleets would need to recalculate their trajectory for every sector change, because if they are suddenly blocked, then they would need to recalculate or simply stop moving. For example, if they enter a sector or system that has no-exit. Sure they can move into the area, but since they cannot move out, then they need to stop moving and provide feedback to the player. Some people might think I am going a bit overboard here with this, but really I'm not. This functionality should have been implemented when fleets were released, because noenter and noexit chmod values existed prior to fleets and there needs to be support between the two.
     
    Last edited:
    • Like
    Reactions: Lone_Puppy

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    I like it although I would rather follow the syntax provided by Benevolent27
    The system_chmod could just apply sector_chmod 4096 times, shouldn't be a problem as you can get rid of them just as easily.

    Should be easy enough to add, and can offer quite a lot of extra options for server owners/admins to work with.
     
    Joined
    Jun 11, 2016
    Messages
    1,170
    Reaction score
    646
    I want to add, that a power generation cap for ships via this system would be another nice thing. As the energy a ship produces is the second or most significant number about its strength besides its mass.
     
    Joined
    Oct 12, 2015
    Messages
    321
    Reaction score
    257
    • Legacy Citizen 4
    • Community Content - Bronze 2
    • Purchased!
    I like it although I would rather follow the syntax provided by Benevolent27
    The system_chmod could just apply sector_chmod 4096 times, shouldn't be a problem as you can get rid of them just as easily.

    Should be easy enough to add, and can offer quite a lot of extra options for server owners/admins to work with.
    Yeah Benevolent's Syntax is much better.
    [doublepost=1503009747,1503009369][/doublepost]
    I want to add, that a power generation cap for ships via this system would be another nice thing. As the energy a ship produces is the second or most significant number about its strength besides its mass.
    This is true. Though for that, If for some reason super efficient designs were not desired some additional mechanic that affected only the power regen, like a system or setor mass hard cap could be a thing.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    I like it although I would rather follow the syntax provided by Benevolent27
    The system_chmod could just apply sector_chmod 4096 times, shouldn't be a problem as you can get rid of them just as easily.

    Should be easy enough to add, and can offer quite a lot of extra options for server owners/admins to work with.
    I appreciate your enthusiasm, but.. and this is a big but, doing a sector_chmod 4096 times isn't the same as what a system_chmod would be. This is because a person could travel around within a no-exit system, but could not jump into that system. If all sectors within a system are set to no-enter and/or no-exit, then it would be impossible to move around within that system.

    However, just to add to this, there could additionally be admin commands to run chmod commands on a range of sectors. Such as /sector_chmod_range 1 1 1 16 16 16 + peace. Or a different command could be used to apply a chmod to all sectors within a system, such as "/system_chmod_sectors 1 1 1 + peace". But, just to reiterate, this would not be the same as a "/system_chmod" command.
     

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    I appreciate your enthusiasm, but.. and this is a big but, doing a sector_chmod 4096 times isn't the same as what a system_chmod would be. This is because a person could travel around within a no-exit system, but could not jump into that system. If all sectors within a system are set to no-enter and/or no-exit, then it would be impossible to move around within that system.

    However, just to add to this, there could additionally be admin commands to run chmod commands on a range of sectors. Such as /sector_chmod_range 1 1 1 16 16 16 + peace. Or a different command could be used to apply a chmod to all sectors within a system, such as "/system_chmod_sectors 1 1 1 + peace". But, just to reiterate, this would not be the same as a "/system_chmod" command.
    Right, so in a few cases you only want it to apply for the 6 faces of the system hm...
    Noenter/exit will have to change a bit too, as jumping would need to check the systems in between instead of only the destination and origin sector.

    Could also make no enter/no exit work as a zone. You can freely move between touching no enter/exit areas, but you can't leave/enter that area.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    Personally, I don't think you would need to check a ray cast to find if a protected sector falls between start and end points for jumps.

    I would justify it like this:
    1. If the FTL drive is considered a "jump" drive, the drive will move the ship between two points in space as if they were adjacent, so intervening sectors wouldn't matter. (Artificial Wormhole travel)
    2. If the FTL drive considered a "warp" drive, where the ship is considered to travel in a line, very quickly, you could hand-wave it away, saying that the Warp computer automatically plotted a warp-speed parabolic course around the protected sector(s).

    Of course, saving computer cycles would be a moot point if you are already ray-casting a FTL jump for Jump Inhibitors and that sort of thing. However, I still think it would be more fun to allow players to travel straight to their unprotected sectors, rather than force them to plot a special circumnavigating jump.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    Personally, I don't think you would need to check a ray cast to find if a protected sector falls between start and end points for jumps.

    I would justify it like this:
    1. If the FTL drive is considered a "jump" drive, the drive will move the ship between two points in space as if they were adjacent, so intervening sectors wouldn't matter. (Artificial Wormhole travel)
    2. If the FTL drive considered a "warp" drive, where the ship is considered to travel in a line, very quickly, you could hand-wave it away, saying that the Warp computer automatically plotted a warp-speed parabolic course around the protected sector(s).

    Of course, saving computer cycles would be a moot point if you are already ray-casting a FTL jump for Jump Inhibitors and that sort of thing. However, I still think it would be more fun to allow players to travel straight to their unprotected sectors, rather than force them to plot a special circumnavigating jump.
    If a jump distance is set to 8, and a system is 16 sectors wide, what are you proposing happens when a person attempts to jump through that system? For example, let's say someone is 4 sectors away from a system that has "no-enter" activated. If the person's jump trajectory takes them through that system, what should happen? Are you suggesting that they jump 20 sectors to the sector on the other side of it, even though the jump distance for the server is set to 8? Or jump over it as though it does not exist, effectively jumping 22 sectors?
     
    Last edited:
    Joined
    Oct 12, 2015
    Messages
    321
    Reaction score
    257
    • Legacy Citizen 4
    • Community Content - Bronze 2
    • Purchased!
    Some kind of option for no stopping in but you could jump through could be useful. Though simply being stopped and players having to navigate around exclusion zones has a lot of good uses as well, especially for creating say choke points that increase the strategic value of that space.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    If a jump distance is set to 8, and a system is 16 sectors wide, what are you proposing happens when a person attempts to jump through that system? For example, let's say someone is 4 sectors away from a system that has "no-enter" activated. If the person's jump trajectory takes them through that system, what should happen? Are you suggesting that they jump 20 sectors to the sector on the other side of it, even though the jump distance for the server is set to 8? Or jump over it as though it does not exist, effectively jumping 22 sectors?
    If they are going to jump to a sector that is protected, they simply can't jump there. The settings as you described will cause them to target a protected sector. In that case, I think the player should stay right where they are, with a message telling them why they can't jump. I think that's a lot more fun than dumping the player into a sector into which they did not plan to arrive, part way to the navigation target.

    However, if the protected sector falls somewhere between the origin and destination, with the destination sector being unprotected, I think it should simply be ignored, and the jump should go all the way through, uninterrupted.

    On the other hand, if the whole system is protected, then in that case, the player will need to manually circumnavigate.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    If they are going to jump to a sector that is protected, they simply can't jump there. The settings as you described will cause them to target a protected sector. In that case, I think the player should stay right where they are, with a message telling them why they can't jump. I think that's a lot more fun than dumping the player into a sector into which they did not plan to arrive, part way to the navigation target.

    However, if the protected sector falls somewhere between the origin and destination, with the destination sector being unprotected, I think it should simply be ignored, and the jump should go all the way through, uninterrupted.

    On the other hand, if the whole system is protected, then in that case, the player will need to manually circumnavigate.
    I'd agree with this.