# Player facing DeviceNet features SS14s DeviceNet is inspired by goons version of packets <sup>[wiki](https://wiki.ss13.co/Packets)</sup> and allowing players to see packets and send their own in a limited capacity is something I want to also implement in SS14. This document is going to mention some of the ideas in [Devicenet Ideas](/iu2yK9bcQb-veuCOLl-FYw) and [Cartridge Loader](/mxO_hTmHTjm-OnvGLnwdJA). Implementing the proposed features is going to require [Device networking access restrictions](/nbJ8VhMHRiWbrfB__e6H-Q). ## Receiving packets When a packet is displayed to the players only primitive types and maybe types that are designated as being displayable in some way will be displayed to the player. Players will generally be able to receive and inspect packages using the planned [NetSnooper cartridge](https://hackmd.io/mxO_hTmHTjm-OnvGLnwdJA#NetSnooper) and [NetMonitor cartridge](https://hackmd.io/mxO_hTmHTjm-OnvGLnwdJA#NetMonitor). In addition to that certain players will have access to the [NetSecurity cartridge](https://hackmd.io/nbJ8VhMHRiWbrfB__e6H-Q?view#The-NetSecurity-Cartridge) which allows them to see and inspect packets sent by other players. The [NetMonitor cartridge](https://hackmd.io/mxO_hTmHTjm-OnvGLnwdJA#NetMonitor) allows players to set their pda to notify them when it receives packets that match some conditions given by the player. That could be used to alert them of a temperature sensor reaching a specific temperature for example. <sup>[devicenet gadgets](https://hackmd.io/iu2yK9bcQb-veuCOLl-FYw?view#Wireless-Gadgets-and-Sensors)</sup> The [NetSnooper cartridge](https://hackmd.io/mxO_hTmHTjm-OnvGLnwdJA#NetSnooper) will be able to be set to a frequency and it will start logging packets sent on that frequency. Those packets can then be inspected by the player. ## Sending packets Sending packets will also be done using the [NetSnooper cartridge](https://hackmd.io/mxO_hTmHTjm-OnvGLnwdJA#NetSnooper). Players will only be able to send directed packets to a specified address and the packets sent by players can only contain primitive types. Player sent packets will automatically get additional data added to them. A field along the lines of `sent_by_player` that's set to the players id, indicating that the packet was sent by a player and `access_required` set to true triggering an access check on receiving devices that have the `NetworkAccessRestrictionComponent`. <sup>[Device networking access restrictions](/nbJ8VhMHRiWbrfB__e6H-Q)</sup> Sending packets will be admin logged and PDAs with the [NetSecurity cartridge](https://hackmd.io/nbJ8VhMHRiWbrfB__e6H-Q?view#The-NetSecurity-Cartridge) will be notified when a players sends a DeviceNet packet. The NetSecurity program plays an optional notification when it receives a player sent packet and players can use it to audit them. This is further explained in: [Device networking access restrictions](/nbJ8VhMHRiWbrfB__e6H-Q).