Spectral Force Posted February 7, 2018 Share Posted February 7, 2018 I have a feature request: Groups. You have players playing together, they can group up. The ability to set a group name with a color to define the group. Also a default group for PvP and one for PvE set by the admin, for mixed servers. If it can edit the players in game name when running around that would be nice too. Link to comment Share on other sites More sharing options...
Prisma501 Posted February 7, 2018 Author Share Posted February 7, 2018 I have a feature request: Groups. You have players playing together, they can group up. The ability to set a group name with a color to define the group. Also a default group for PvP and one for PvE set by the admin, for mixed servers. If it can edit the players in game name when running around that would be nice too. Wow that was fast . Will defo look into that. Just one implication i can think off right away. If there is colouring for players individually, group membership and/or PVE/PVP which one should be priority over the other(s). For example if a player has a yellow chatname and is also a groupmember in the new functionality with blue color for example, should the group color have priority over the players color? So should player have yellow or blue? Cheers Link to comment Share on other sites More sharing options...
Spectral Force Posted February 7, 2018 Share Posted February 7, 2018 Wow that was fast . Will defo look into that. Just one implication i can think off right away. If there is colouring for players individually, group membership and/or PVE/PVP which one should be priority over the other(s). For example if a player has a yellow chatname and is also a groupmember in the new functionality with blue color for example, should the group color have priority over the players color? So should player have yellow or blue? Cheers IMO I would default PvP as Red and PvE as Blue, with an option for an admin to change if they'd like. I would also use hex code for the color selection. Once that selection has been used, then it shouldn't be available to use again. If possible a message saying that color is already in use, please select another, via a chat pm. I would prioritize owner/admin/mod/group/individual On my servers, chat color has to be set by an admin. So a regular player is just default white. If you want real time communication, I'm on guppy's discord or you can join my new owner/admin discord https://discord.gg/r3GvN78 Link to comment Share on other sites More sharing options...
Prisma501 Posted February 7, 2018 Author Share Posted February 7, 2018 added to github as enhancement Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 7, 2018 Author Share Posted February 7, 2018 Update! Changelog: Version 3.7 (2018.02.08) Improved: - Improved noclip detection (pug command) - Improved fly detection (pgd command) Fixed: - fixed pblock null reference exception on listall blocks (searchstring *) - fixed player position calculation. Affects: • checkloot (CheckLooter) • killallzombies • lec (ListEntityCustom) • owner (MakeOwner) • pgd (PlayerGroundDistance) • pug (PlayerUnderground) • pcheck (PrefabCheckBlock) • pdup (PrefabDuplicator) • pexport (PrefabExport) • pblock (PrefabFillBlock) • prender (PrefabRender) • prepblock (PrefabReplaceBlock) • safe (ProtectionChange) • additemloot (PutOnLooter) • remitem (RemoveFromLooter) • spawnminibike • sme (SpawnMultipleEntity) - listplayerbed fixed incomplete listing of all player's beds if one of the players has no bed - removed obsolete physics command Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 9, 2018 Author Share Posted February 9, 2018 Update! Version 3.8 (2018.02.09) - added ChatGroupColor (cgc): assign players to groups and have them using the same chatname color. The groups PVE (blue) and PVP (red) will be present by default but can be deleted or changed if needed. Add any group you like, admins, moderators, donors. Any group you can think of. - added OverrideChatName (ocn): Give a player any chatname you want on your server ATTENTION: the persistent data structure has changed significantly. Delete the old /Saves/Random Gen/seedname/CoppisPeristentData.bin before starting your server after updating this modversion. ocn Usage: ocn <steam id/player name/entity id> <newName> ocn <steam id/player name/entity id> clear ocn list cgc Usage: cgc listgroups cgc addgroup <groupName> <groupColor> cgc deletegroup <groupName> cgc listmembers <groupName> cgc adduser <steam id/player name/entity id> <groupName> cgc cleargroup <steam id/player name/entity id> The <groupColor> must be 6 hex characters. Example: FF00FF Cheers Link to comment Share on other sites More sharing options...
Blight Posted February 9, 2018 Share Posted February 9, 2018 "OverrideChatName (ocn): Give a player any chatname you want on your server" lol, nice work xD Link to comment Share on other sites More sharing options...
Prisma501 Posted February 9, 2018 Author Share Posted February 9, 2018 "OverrideChatName (ocn): Give a player any chatname you want on your server" lol, nice work xD Yeah lol . Can come in handy when some player has an offensive name or those idiotic 20+ chars long names or just for sheer admin fun Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 10, 2018 Author Share Posted February 10, 2018 Minor Update: Version 3.81 (2018.02.10) - added ocn list: list players that have overridden chatname Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 12, 2018 Author Share Posted February 12, 2018 Update! Introducing admin waypoints! Version 3.9 (2018.02.12) Added: - Admin waypoints: allows admins to create and manage waypoints for the new admin chatcommands - Admin chatcommands: • flyto (/ft): tp yourself to player or coords • flyto waypoint (/ftw): tp yourself to predefined waypoint • move (/mv): move player to player or player to coords • move waypoint (/mvw): move player to waypoint • add waypoint (/setwp): create a new waypoint • delete waypoint (/delwp): delete a waypoint • list waypoints (/listwp): list all predefined waypoints Improved: - Detection of secure lootcontainer for commands checkloot, remitem and additemloot From the github wiki: Partial Names When using a command that requires a player's name, the mod will understand if you use only a portion of the name and you can search case-insensitive. Imagine the name of the player is Prisma501, there are various ways to target a command. /ft pris /mv 501 4876E 987N Care must be taken when choosing what letters to use, if zigstum and stumpfgobs are both online, and you try to /ft stum, the mod wil be confused, and you don't want that. Don't try to use a name with a space in it; just use the letters from one of the words in the name when targetting a command with a partial name. Ambiguous names When you need to use a players name that is ambiguous with another player online you can use double quotes around the name to be able to. When Jo and Joanna are both online and you need to target Jo, just use: /mv "Jo" prisma Chatcommands Waypoints /listwp - List available Waypoints. /setwp wpname - Set a new waypoint. /delwp wpname - Delete a set waypoint. Move /mv playerfrom playerto - Teleport one player to another. /mv playername xxxxE/W xxxxN/S - Teleport a player to a specific position. /mvw playername wpname - Teleport a player to a defined waypoint. Flyto /ft playername - Teleport yourself to a player. /ft xxxxE/W xxxxN/S - Teleport yourself to a specific Location. /ftw wpname - Teleport yourself to a defined waypoint. They make my admin life a lot easier. I hope they do the same for you Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 13, 2018 Author Share Posted February 13, 2018 Update! Version 3.91 (2018.02.13) Fixed: - pcheck reporting wrong y-coord when checking a block Improved: - fly detection: no more false positive if player is standing on absolute edge of rampBlock or halfBlock Fly detection is as strict as can be now and chance of false positives is allmost null Cheers Link to comment Share on other sites More sharing options...
InsertDisk2 Posted February 13, 2018 Share Posted February 13, 2018 Great News! I also have a feature request. I need comprehensive information about the players as the bad company manager has it. Like this: https://gist.github.com/StompyNZ/2ba0e4c592cb5d4fc655da91d1adaf0d Link to comment Share on other sites More sharing options...
StompyNZ Posted February 13, 2018 Share Posted February 13, 2018 Great News! I also have a feature request. I need comprehensive information about the players as the bad company manager has it. Like this: https://gist.github.com/StompyNZ/2ba0e4c592cb5d4fc655da91d1adaf0d Why not just use bad co for that? /teehee Nice work Prisma Link to comment Share on other sites More sharing options...
Prisma501 Posted February 13, 2018 Author Share Posted February 13, 2018 Why not just use bad co for that? /teehee Nice work Prisma Comming from you, that means a lot man Thanks! Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 13, 2018 Author Share Posted February 13, 2018 Great News! I also have a feature request. I need comprehensive information about the players as the bad company manager has it. Like this: https://gist.github.com/StompyNZ/2ba0e4c592cb5d4fc655da91d1adaf0d For the inventory viewing there is allready alloc's si and coppis si2. I will look into what data the live EntityPlayer object has to offer for querying and reporting and make an extended lp command for it. I really wanna keep the persistentdata to a minimum. BadCo has an excellent function allready for that. BadCo and CoppisAdditions are fully compatible and can run perfectly together Keep a lookout on this thread for the extended lp command. Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 14, 2018 Author Share Posted February 14, 2018 This is gonna be yummie Manage locationtracker settings and data Usage: 1. loctrack search <steam id/player name/entity id> <distance> <timespan> 2. loctrack search <x> <y> <z> <distance> <timespan> 3. loctrack playertrack <steam id/player name/entity id> <maxrecords> <timespan> <timeBetweenRecords> 4. loctrack enabled <true/false> 5. loctrack command <newChatCommand> 6. loctrack commandenabled <true/false> 7. loctrack interval <seconds> 8. loctrack maxagedata <hours> 9. loctrack neardistance <meters> 10. loctrack 1. report players that where within <distance> of <steam id/player name/entity id> last <timespan> 2. report players that where within <distance> of <x> <y> <z> last <timespan> 3. show location tracks of <steam id/player name/entity id> with maximun reported records <maxrecords> and filter records to be <timeBetweenRecords> apart last <timespan> 4. Enable/Disable location recording 5. Define the ingame chatcommand for querying databases (who was within x meters last y hours on my position) 6. Enable/Disable ingame chatcommand for querying databases 7. Set the interval of recording locations 8. Set the maximum time the data stays in databases 9. Set the distance for use with chatcommand for reporting near live players 10. Show all active location tracking settings Just a little peek of what's cooking Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 17, 2018 Author Share Posted February 17, 2018 Update 4.0! Update time! Version 4.0 (2018.02.17) Fixed: - pcheck not reporting blockname (only id) when checking a block Added: - /hostiles chatcommand: report enemy activity in your vicinity - AntiCheat: location tracking system with console,- and chatcommand for querying. Completely embedded system so gamehost friendly! New chatcommands (for players and admins): Using locationtracking chatcommand Depending on what you set the command to (with loctrack consolecommand) the following chatcommand can be different. The chatcommand can be disabled with consolecommand loctrack (loctrack commandenabled false) /loctrack - report players that were within 50 meters of your position in the last 24 hours. /loctrack <radius> <hours> - report players that were within <radius> meters of your position last <hours> hours. /loctrack near - report live players that are within the radius defined with loctrack consolecommand (neardistance) Hostile reporting /hostiles - reports the presence of hostiles in your vicinity. Explicit mention for presence of feralradiated zombies, feral zombies, fat zombie cops, dogs, zombiebears, wolfs, dire wolfs, snakes, vultures and bears New console command loctrack (great AntiCheat feature!): Check here what it can be used for. Manage locationtracker settings and data Usage: 1. loctrack search <steam id/player name/entity id> <radius> <numberOfHours> 2. loctrack search <x> <y> <z> <radius> <numberOfHours> 3. loctrack showtrack <steam id> <maxrecords> <timespan> <timeBetweenRecords> 4. loctrack enabled <true/false> 5. loctrack command <newChatCommand> 6. loctrack commandenabled <true/false> 7. loctrack interval <seconds> 8. loctrack maxagedata <hours> 9. loctrack neardistance <meters> 10. loctrack 1. list players within <radius> of <steam id/player name/entity id> last <numberOfHours> 2. list players within <radius> of <x> <y> <z> last <numberOfHours> (use y=-1 to ommit y search) 3. show location tracks of <steam id>. Maximum records <maxrecords>. Minimum time between records <timeBetweenRecords> (seconds). Within <timespan> (MMddHHmm-MMddHHmm). 4. Enable / Disable location recording 5. Define the ingame chatcommand (include the prefix) 6. Enable/Disable ingame chatcommand for querying databases 7. Set the interval of recording locations (seconds) 8. Set the maximum time the data stays in databases (hours)(0=forever) 9. Set the distance for use with chatcommand for reporting near live players 10. Show all active location tracking settings Default settings location tracking (Change via loctrack command): Enabled: True Command: /loctrack CommandEnabled: True LocationInterval: 15 seconds MaxAgeData: 72 hours NearDistance: 200 meters The location tracking system uses serverless indexed databases. Runs queries lightning fast and is gamehost friendly. Enjoy! Cheers Link to comment Share on other sites More sharing options...
Prisma501 Posted February 18, 2018 Author Share Posted February 18, 2018 After some questions on how to utilize the location track data from a server owner, i thought the nerdy command description is indeed not very functionally descriptive So what appliances are we looking at with the loctrack command: subcommand search what players were on the north side of the map within a specific timewhat players were in the NorthWest section of the map within a specific timewhat players were within a specific city within a specific timewhat players were in a specific base within a specific timewhat players were on a specific farm within a specific timewhat players were near a specific chest within a specific timeetc Great for exposing cheaters/hackers/griefers! subcommand showtrack: can be used to look at the exact track of where a player did go in a specific timespan in consolecan be used by servermanagers to plot polygons on a (web)map (allocs for example) to visualize the tracks of a player If you enable the chatcommand (default /who) players themselves can investigate who raided their base/farm/chests. That takes the initial work away from owners/admins. You as owner/admin can then always verify the claim of a player by the loctrack command by using search or showtrack subcommand (or if you are ingame use the chatcommand too to verify). In a nutshell Cheers Link to comment Share on other sites More sharing options...
Smegzor Posted February 19, 2018 Share Posted February 19, 2018 heh I can see a lot of bot commands are appearing in mods (not just this one). I'm gonna have to come up with MOAR commands to stay ahead xD The bot is able to switch from using / to any symbol (except \ currently). Just curious, are any of your new commands inspired by the bot's commands? Its a very public bot and I totally don't mind being copied. Its to be expected really. I'll have to start testing the new stuffs How stable is it? Link to comment Share on other sites More sharing options...
Prisma501 Posted February 19, 2018 Author Share Posted February 19, 2018 heh I can see a lot of bot commands are appearing in mods (not just this one). I'm gonna have to come up with MOAR commands to stay ahead xD The bot is able to switch from using / to any symbol (except \ currently). Just curious, are any of your new commands inspired by the bot's commands? Its a very public bot and I totally don't mind being copied. Its to be expected really. I'll have to start testing the new stuffs How stable is it? Only the "/who near" is inspired by the one i saw in botman. As far as i know your /who does not query historical location data. The rest has been in my private mod for over 1,5 years actually. Just porting over to coppis. But ive made sure they can be disabled or switched to another prefix and command to maintain maximum compatibillity. What other commands other than /who near are you using that i implemented? I did check your website to make sure i wasnt using any of the ones you use except who (cause thats actually the most logical name for loctrack querying. Like "who" was within 5 blocks of my current location last 3 hours). Ive seen that the first time when i had to use CBSM for a few weeks in between a server migration. But please let me know if it bothers you, i can easily make the default command something like /loctrack (just like the consolecommand). I wouldnt have one bit of a problem with that. Admins can however change it back to /who if they like that more, nothing i can do about that . As far as chatcommands go, this will be it. Only 4.1 will bring 4 new ones (which i made sure are not in use by the most popular servermanagers). They will accompanying Advanced Claims which im porting over now. /acf (add claim friend) , /rcf (remove claim friend) and /lcf (list claim friends). And one (/protect) for giving yourself or a player a "protective bubble" to do admin work without being bothered by zombies or protect a poor new player that spawned in on a bloodmoon. They also do exist for over 1,5 years allready but lemme know if they are gonna cause conflicts, i still have time to come up with other abbrivations I have no intention of making coppis a servermanager whatsoever. The chatcommands i implemented now are pretty much the ones that will be in there. Rest will be consolecommands for servermanagers (or admins) to use (like the new cgc, ocn, loctrack). /hostiles was-is the most popular command on my server of all time And the /ft /ftw /mv /mvw /setwp /delwp and /listwp admin only commands made my and my admins life so much easier for so long i just had to port that over. They do not conflict with any of your commands and even offer more funtionality. So i strongly hope by "copying" you dont mean you think you have the exclusive right to some very basic functionality as teleporting or nouns and verbs like set,fly, move and waypoint or saving coordinates to a database and use them one way or another (actually im pretty proud to say Coppis is the first and only apimod that has an embedded indexed database engine for that. Can even put it on a gamehost server). Just let me know about the who command as thats the only conflicting command. Im willing to change that despite the fact that botman wasnt the one that invented the term. Its very stable. Do try it! Cheers mate -edit- ah i missed /protect appearantly. You seem to use that for baseprotection. Will use another command for the protective bubble . /bubble sounds kinda nice too. Link to comment Share on other sites More sharing options...
Prisma501 Posted February 19, 2018 Author Share Posted February 19, 2018 if (message.StartsWith("/bubble")) { _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, "Received Command: /bubble", "Server", false, "", false)); string parameter = message.Split(new string[] { "/bubble" }, StringSplitOptions.None)[1].Trim(); bool success = Protect.Exec(_cInfo, parameter); if (!success) _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, " [FFA07A]Something went wrong! Could not activate protective bubble![-]", "Server", false, "", false)); return false; } Done. That wont conflict anymore. Wont change my internal class though. That wont be in your way Cheers Link to comment Share on other sites More sharing options...
StompyNZ Posted February 19, 2018 Share Posted February 19, 2018 Just a suggestion for the command aliases, could you look at implementing something like I did that lets you edit the alias in a config file so if there are conflicts people can change them. The command namespace is rapidly filling up Also maybe add a prefix for the default alias (add other aliases without a prefix for the short text). This will make it easier for people to tell which mod a command belongs to. (the help command will show the first alias in the list for each command) e.g. bc- dj- maybe cp- for this mod? I'll ask OC if he can use st- for server tools maybe feel free to use bits of my code in my config reader script Link to comment Share on other sites More sharing options...
Prisma501 Posted February 19, 2018 Author Share Posted February 19, 2018 Just a suggestion for the command aliases, could you look at implementing something like I did that lets you edit the alias in a config file so if there are conflicts people can change them. The command namespace is rapidly filling up Also maybe add a prefix for the default alias (add other aliases without a prefix for the short text). This will make it easier for people to tell which mod a command belongs to. (the help command will show the first alias in the list for each command) e.g. bc- dj- maybe cp- for this mod? I'll ask OC if he can use st- for server tools maybe feel free to use bits of my code in my config reader script allready did that for the one chatcommand i knew would conflict: if (message.StartsWith(PersistentData.PersistentContainer.Instance.LocationTracking.Command.Trim().ToLower())) { string command = PersistentData.PersistentContainer.Instance.LocationTracking.Command.Trim().ToLower(); if (PersistentData.PersistentContainer.Instance.LocationTracking.CommandEnabled) { _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, "Received Command: " + command, "Server", false, "", false)); string parameter = message.Split(new string[] { command }, StringSplitOptions.None)[1].Trim(); bool success = Who.Exec(_cInfo, parameter); if (!success) _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, "[FFA07A]Something went wrong! I was not able to check who was here.[-]", "Server", false, "", false)); return false; } else { _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, string.Format("[FFA07A]Locationtrack command {0} is not enabled[-]", command), "Server", false, "", false)); return false; } } Will look into prefixing consolecommands. As they are indeed bound to conflict sometime. But for chatcommands i think its okey to keep their uniqueness. i like m short like /acf /rcf etc.. prefixing them i would not like. Cheers Link to comment Share on other sites More sharing options...
StompyNZ Posted February 19, 2018 Share Posted February 19, 2018 allready did that for the one chatcommand i knew would conflict: if (message.StartsWith(PersistentData.PersistentContainer.Instance.LocationTracking.Command.Trim().ToLower())) { string command = PersistentData.PersistentContainer.Instance.LocationTracking.Command.Trim().ToLower(); if (PersistentData.PersistentContainer.Instance.LocationTracking.CommandEnabled) { _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, "Received Command: " + command, "Server", false, "", false)); string parameter = message.Split(new string[] { command }, StringSplitOptions.None)[1].Trim(); bool success = Who.Exec(_cInfo, parameter); if (!success) _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, "[FFA07A]Something went wrong! I was not able to check who was here.[-]", "Server", false, "", false)); return false; } else { _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, string.Format("[FFA07A]Locationtrack command {0} is not enabled[-]", command), "Server", false, "", false)); return false; } } Will look into prefixing consolecommands. As they are indeed bound to conflict sometime. But for chatcommands i think its okey to keep their uniqueness. i like m short like /acf /rcf etc.. prefixing them i would not like. Cheers yeah np with chat commands, I dont have any of those anyway so thats between you and servertools Link to comment Share on other sites More sharing options...
Prisma501 Posted February 19, 2018 Author Share Posted February 19, 2018 yeah np with chat commands, I dont have any of those anyway so thats between you and servertools Mostly smeg lol . But thats just a matter of playing a gentlemans game. Like i saw botman uses /protect allready for some other funtionality. So being a gentleman i changed my old /protect to /bubble and poof the conflict is gone No need to deliberately get in eachothers way. Cheers and thanks for the script! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.