Jump to content

CloudyServ Ren-X IRC Bot


Xpert

Recommended Posts

Some of you may have heard of CloudyServ for C&C Renegade. It's an IRC regulator to moderate renegade servers from IRC without having to be ingame. I've been working on one much like it for C&C Renegade-X. Much like the Renegade version, it's entirely IRC scripted. As times goes, I plan on implementing more things like a moderator system, ladder, logging for kicks and bans, recommendations, ip/steamid database and many more.

The great thing about this is you don't have to worry about it crashing your server. It's not a mutator nor does it lock on to the server itself and you can restart it without halting your server entirely.

Just configure the CloudyServ.ini and run the mirc.exe and you're good to go.

There's also additional files to edit

Announce.txt

master.txt

Some current features include:

- Ingame setjoin messages for players

- A !seen system to see when's the last time a player has joined the server

- A DNS/IP blacklist system

- A !modrequest command to notify IRC moderators who are in the mod channel

I also suggest giving the bot irc oper status so that there's no message delay in IRC.

You can download it here: http://ttp-gaming.net/forums/index.php?/files/file/3-cloudyserv-ren-x-bot/

Any questions, problems, or suggestions, feel free to PM me, post here, or contact me on IRC at irc.ttp-gaming.net #TTP

You can also find me on http://www.ttp-gaming.net

Edited by Guest
Link to comment
Share on other sites

  • 5 months later...

Finally got around to updating this. Major update and bug fixes and many great additional features including a moderation system. Check updated first post for download and information.

1.2 -> October 7, 2014

- Added !kick command to kick players from in game

- Added !kicksearch command to check kick/ban logs of players/ips

- Added !logs to look up daily kick/ban logs

- Added !mchat to send a page to all moderators/admins in game

- Added a warning system with !warn and !forgive commands

- Added an !ip command to look up player IPs and nicknames

- Added a !steamid command to look up player's Steam IDs if it exist

- Added moderator commands to in game moderation system

- Added !modenable and !moddisable to enable or disable moderators on the modlist

- Added !addmod and !delmod to add and delete moderators from irc

- Added !shun to prevents players from using bot commands if placed on the list

- Added !atm/!dtm to assign and unassign temporary in game moderators

- Changed chat output to bold player names who are logged in as a moderator

- Changed kill messages output to match Renegade-X colors

- Changed !pi/!playerinfo to only show user ip in mod channel

- Fixed a lot of problems occuring with names that have spaces for certain features

- Fixed !announce from being able to announce a non existing line

- Fixed !pi/!playerinfo not being able to look up individual names

- Fixed !rehash not loading certain settings properly

- Fixed to check when users enter a null value for certain irc commands

1.1 -> September 27, 2014

- Added an in game !help command to show in game bot command list

- Added a !page/!private command to private message players in game from IRC

- Added a greeting message setting to page players that joined the server

- Added a timer on gameover to rehash settings and reconnect to RCON

- Changed the on bot kill messages to bold text to distinguish between a player and a bot

- Changed some in game commands to relay a page instead of a message

- Changed the announce messages to no longer activate when there are no players in game

1.0 -> April 12, 2014

- Initial public release

- Added to kill messages to indicate if it's a bot

- Fixed problem when it doesn't show message for player joining and leaving during map intermission

- Fixed problem with !pl/!pi not updating correctly when someone changes their name in game

0.9 -> March 29, 2014

- Added additional presets to translation list

- Added !seen command to see the last time a player joined the server

- Added !setjoin command to set a join message for in game

- Added IRC command !playerinfo to get additional info about a player in game

- Changed output to work with Renegade X Open Beta 2

- Changed the way player count is grabbed with new C-LIST option

- Changed !modrequest to give players the option to add a reason

- Changed rcon sender to avoid the pipe character '|' and be replaced with a space instead

0.8 -> March 15, 2014

- Added a rehashing function using IRC command !rehash

- Added output for when a player in game logs into RCON as an Administrator

- Added debug messages for rcon output for development purposes

- Added an in game !modrequest function that will notify the bot admin channel

- Changed format of !players

- Fixed problem with !players not updating when a person has a space in nickname

- Fixed bug with command levels allowing non status users to use mod commands

0.7 -> March 13, 2014

- Changed !announce to choose a message to send on the list

- Added a !players irc command to see players in game (thanks to raven)

- Fixed problem with DNS banner not kicking a blacklisted host name

0.6 -> March 12, 2014

- Added IRC command !announce to show a list of messages for auto-announce

- Added a DNS banning system (!dnslist, !dnsadd, !dnsban)

- Edited kill messages based on died by

0.5 -> March 10, 2014

- Changed kill messages based on suiciding

- Changed kill messages based on fall death

- Changed kill messages based on ran over

- Added in game commands !irc, !rules, !website, !ts

- Added IRC commands !rules and !showrules

- Added in game messages to show when a player joins and leaves the game

- Fixed problem with beacon deploy messages spamming more than once

0.4 -> March 7, 2014

- Added a time converter for settings

- Added a user level system for bot commands (can be edited in Cmds.ini)

- Added IRC command !help to show all bot commands

- Added IRC command !forceend to end the current map

- Added IRC command !rcon to send raw rcon commands

- Added IRC command !version to show bot version

0.3 -> March 6, 2014

- Fixed problem with bot timing out from RCON connection

- Added a message auto-announcer

- Added preset translator for Ren-X game presets

- Added haltdef functions to remove IRC related messages from showing up in the window

0.2 -> March 5, 2014

- Parsed log output from RCON and made it legible

- Added color to log output messages

- Added IRC command !msg/!say to communicate from IRC to in game

0.1 -> March 3, 2014

- Added TCP socket to connect to RCON

- Added relay to show on IRC

In version 1.3, I plan on adding a temp ban and permanent ban system. Right now there's only kicking and a warning system and the old DNS blacklisting. However, IPs and Steam IDs get recorded as noted in the change log. Any setting or command that includes banning isn't implemented yet.

Note that with the way the RCON was redone in Ren-X Beta 3, there will be times when the bot probably doesn't reconnect to RCON properly after each game end. Simply just type !rehash and it will reconnect to RCON. I'm hoping this won't be an issue in Beta 4 otherwise I'll create a method to avoid it.

Link to comment
Share on other sites

Nice, keep up the good work. Missed the old CloudyServ from back in the day.

Will defo give it a go.

I forgot you were one of the 5 servers that ran it. It's a very similar system to the Renegade one. The funny thing is, I think I made the Ren-X one more stabled and bug free than the current Renegade one probably because my coding has progressed compared to back then.

If you come across a problem or something doesn't seem right, let me know. I actually do plan on maintaining this bot.

iTweek":2zpqog7w]nice :D need a irc Server right? I do not know anything about you from using irc :(

You've never used IRC before? I can definitely show you how lol.

Link to comment
Share on other sites

What's wrong with IRC? It helps regulate many game servers without the need of having to be in game. It also makes moderation a breeze and you can also watch game events like kill messages and chat.

[19] Antikoerper left the game from team GDI

[19] [VehKill] Doozy destroyed a Light Tank with a Flame Tank

[19] [Kill] I'llRepair killed Archangel of fate with a Ramjet Rifle

[19] EVA: You can type !help for a list of server bot commands.

[20] [VehKill] Halbrad destroyed a Buggy with a Medium Tank

[20] Total Players: 30 - GDI: 13 - Nod: 17

GDI: Cech, Doozy, Wolft3k, SadistG, Fr3EdOm, Halbrad, Player888, CROTTE, VanillaBraun, Archangel of fate, Kazooie (Ger), EKT-Blunts, Battlegoon.

Nod: Pretium, Goliathic, Zeranic, 8888, Yooz, ElectricFalcon, zebbst16, Pickle Party, gNatFreak, orchiolum, Megadeth, I'llRepair, CampinJeff, MetalHead146, damil.

Nod: Don, Duvainor.

Link to comment
Share on other sites

IRC is a very handy tool for moderation.

Only problems I've seen is the bot some times thinks there is no players? !rehash seems to fix that.

As for the atm issue with rcon having a hissy fit on map over, maybe could add some sorta 60-90 sec timer if the atm'd user hasn't returned then remove the +v or auto give it when they rejoin?

Link to comment
Share on other sites

Updated CloudyServ Ren-X to 1.3

1.3 -> October 16, 2014

- Added game event output for when game ends in a Tie

- Added a check for when moderators change their names, it will remove their mod status

- Added a check to make sure CS is connected to RCON every 60 seconds

- Changed mod system to allow non-steam names. Non-steam mods must use !auth from IRC

- Changed !addmod to no longer require a steam id

- Changed join and leave irc event to bold player names

- Changed !pi/!playerinfo to only show steam ids in mod channel

- Changed !msg, !page, !mchat and !emsg text limit to 150 characters

- Fixed !pl/!players from sometimes showing incorrect players and player counts

- Fixed for names that begin with numbers throwing off color code in output

- Fixed !logs mods from not showing when a temp mod has logged out

- Removed some debug messages that are no longer needed

1.2 -> October 7, 2014

- Added !kick command to kick players from in game

- Added !kicksearch command to check kick/ban logs of players/ips

- Added !logs to look up daily kick/ban logs

- Added !mchat to send a page to all moderators/admins in game

- Added a warning system with !warn and !forgive commands

- Added an !ip command to look up player IPs and nicknames

- Added a !steamid command to look up player's Steam IDs if it exist

- Added moderator commands to in game moderation system

- Added !modenable and !moddisable to enable or disable moderators on the modlist

- Added !addmod and !delmod to add and delete moderators from irc

- Added !shun to prevents players from using bot commands if placed on the list

- Added !atm/!dtm to assign and unassign temporary in game moderators

- Changed chat output to bold player names who are logged in as a moderator

- Changed kill messages output to match Renegade-X colors

- Changed !pi/!playerinfo to only show user ip in mod channel

- Fixed a lot of problems occuring with names that have spaces for certain features

- Fixed !announce from being able to announce a non existing line

- Fixed !pi/!playerinfo not being able to look up individual names

- Fixed !rehash not loading certain settings properly

- Fixed to check when users enter a null value for certain irc commands

1.1 -> September 27, 2014

- Added an in game !help command to show in game bot command list

- Added a !page/!private command to private message players in game from IRC

- Added a greeting message setting to page players that joined the server

- Added a timer on gameover to rehash settings and reconnect to RCON

- Changed the on bot kill messages to bold text to distinguish between a player and a bot

- Changed some in game commands to relay a page instead of a message

- Changed the announce messages to no longer activate when there are no players in game

If you've previously installed or ran 1.2, all you have to take from 1.3 is the new CloudyServ.ini and the new renx.mrc file (found in scripts folder).

1.3 was kind of a rush to fix some bugs. 1.4 is probably when I'll do the ban system related code.

Download link: http://ttp-gaming.net/forums/index.php? ... ren-x-bot/

Link to comment
Share on other sites

Although I have been to run IRC. The bot also runs just as I am now admin or why not go some commandos and some again?

for example, when !rank Enter in the game nothing happens? I do something wrong?

Could you explain it to me via steam or something?

Announce.txt I brought to work.

but do not really now how I'm going through the admin master.txt? or only by irc?

Link to comment
Share on other sites

Your english is hard for me to understand...

As for "!rank". If you look at the commands, that's not a command in my bot. Kills and deaths are too inaccurate in this game through RCON for me to bother with a ladder system right now. Until the kills/deaths are on point, I will not be working on a ladder.

The master.txt file is for you to put your IRC name in that file. You can list more than 1 person. This gives you access to all IRC commands if you have @ in both the mod and public channel.

Link to comment
Share on other sites

You have an IRC network but you don't use an IRC client? Doesn't make sense to me. I just connected to your IRC network.

[14] * Quits: AOG-RenX-Bot (*@*.***.***.**) (Excess Flood)

[14] * Joins: AOG-RenX-Bot (*@*.***.***.**)

[14] Emil entered the game for team GDI

[14] [Kill] Murdock died by Unknown DamageType

[14] [Kill] Ninja died by Unknown DamageType

[14] EKT-Securitron entered the game for team Nod

[14] Partyraiser entered the game for team GDI

[14] RvE entered the game for team GDI

[14] !version

[14] EVA: [CS] [bag'mBlue]: Yes hello nice 2 met u

[14] Player948 entered the game for team Nod

[14] SilverSil entered the game for team GDI

[14] EKT-jollycake entered the game for team Nod

[14] AOG-RenX-Bot is running CloudyServ Ren-X 1.3

[14] [Chat] Partyraiser: !help

[14] Blobba entered the game for team Nod

Not only is your IRC insecure that it shows user IPS publically, but your bot doesn't have oper status (o-line) to prevent the bot from flooding out.

In game commands can be found with !help. Same for IRC.

In game commands are !help, !irc, !modrequest, !mods, !rules, !seen, !setjoin, !showjoin, !ts, !viewjoin, !website.

Users with mod status in game with the bot have more commands listed depend on what their mod level is and what flags they have.

; b -> !ban [nick] [reason] (NOT IMPLEMENTED YET)

; c -> !cmd [nick]

; d -> !demod [nick]

; F -> !forgive [nick]

; g -> !forceend

; K -> !kick [nick] [reason]

; q -> Allowed to see modchat pages

; s -> !atm/!dtm [nick]

; S -> !shun [player]

; T -> !tban [nick] [reason] (NOT IMPLEMENTED YET)

; u -> !unban [nick] (NOT IMPLEMENTED YET)

; w -> !warn [nick]

; i -> VIP designator

Link to comment
Share on other sites

lol

Few extra commands/changes if you have time

  • !addbots number amount / !killbots (both in game and irc & ik you dont like bots but other users do)
  • !auth name from in game if your already signed in & are a higher rank than the mod you want to auth. (i think the classic cloudy let you do that)
  • Mod ranks custom names in the ini file? like full moderator to something else (not really a bother thou)
  • Option to auto auth via ip or steamid / auto reauth on map over if ip is still the same.
  • when someone joins irc an option to have announcements for this ie Xpert joined irc

Thanks for your efforts / work

Link to comment
Share on other sites

[16] !kick EKT-J

[16] [Kill] EKT-Jobless committed suicide

[16] EVA: EKT-Jobless has been Kicked by BOT@IRC for: No reason.

[16] EKT-Jobless (ID: 658) left the game from team Nod

[16] !kick EKT-J

[16] EVA: EKT-J has been Kicked by BOT@IRC for: No reason.

I wanted to kick EKT-J but it picked on jobless first?

Link to comment
Share on other sites

lol

Few extra commands/changes if you have time

[*]!addbots number amount / !killbots (both in game and irc & ik you dont like bots but other users do)

!rcon killbots / !rcon addbots [num]. Not gonna bother with a command still.

[*]!auth name from in game if your already signed in & are a higher rank than the mod you want to auth. (i think the classic cloudy let you do that)

Renegade allowed you to send "WOL Pages" to page the server. There's no method of paging the server in Renegade-X. I can create a mod command "!forceauth" and I can apply the command to senior mods and admin level.

[*]Mod ranks custom names in the ini file? like full moderator to something else (not really a bother thou)

I can do this. Not a priority for me but I'll add it to my list.

[*]Option to auto auth via ip or steamid / auto reauth on map over if ip is still the same.

It auto logs you in if the TCP socket is connected and reads that you "entered the game" and that's if you have a steam ID.

[*]when someone joins irc an option to have announcements for this ie Xpert joined irc

Coded in 1.4

Link to comment
Share on other sites

  • 2 weeks later...

In the future will there be a command if possible for the following (These are some of the old Brenbot commands which were handy)

!bl - Will display the health of the buildings in game (gamelog must be

enabled)

!gameinfo - Displays gameinfo (ie what map etc)

few for future (if the voting system is fixed)

!rotation - Displays the maprotation

!shownext/map - Displays the next map

Link to comment
Share on other sites

In the future will there be a command if possible for the following (These are some of the old Brenbot commands which were handy)

!bl - Will display the health of the buildings in game (gamelog must be

enabled)

!gameinfo - Displays gameinfo (ie what map etc)

few for future (if the voting system is fixed)

!rotation - Displays the maprotation

!shownext/map - Displays the next map

Unfortunately this isn't Renegade. There's no rotation so you can't determine what's going to be next. It's player based voting. I can't do !bi/!bl without any sort of data that tells me the health of the buildings. I can only detect if it's alive or dead. !gameinfo I would have to fetch off a website where the renegade-x info is generated that helps make the launcher information or use sloppy timers based off the terrible log output.

CS 1.4 is slowly in development

Features include the following:

- Added a banning system

- Added !botskill command to set the AI skill level from 1-7

- Added !killbots command to kill any bots that are in game

- Added a beacon spam checker which will warn the player and then kick them if they continue

- Added Rx_DmgType_EMPGrenade to the preset translation list

- Added an IRC join/leave announcer to in game for when people join/leave from the main channel

- Added the ability to choose the names for the moderator level titles

- Changed the beacon deployed message output

- Fixed a kill message related to the preset DmgType_Crushed

Link to comment
Share on other sites

  • 3 weeks later...

Updated to 1.4

http://ttp-gaming.net/forums/index.php? ... ren-x-bot/

1.4 -> November 23, 2014

- Added !botskill command to set the AI skill level from 1-7

- Added !killbots command to kill any bots that are in game

- Added a beacon spam checker which will warn the player and then kick them if they continue

- Added Rx_DmgType_EMPGrenade to the preset translation list

- Added an IRC join/leave announcer to in game for when people join/leave from the main channel

- Added the ability to choose the names for the moderator level titles

- Added !tkick/!tkicks commands to show kick/ban/unban history information on a player

- Added a setting for IRC Oper status if the credentials are available on the network

- Changed the beacon deployed message output

- Fixed a kill message related to the preset DmgType_Crushed

- Fixed non-existing setting for admin channel password for IRC joining

- Fixed non-existing setting for main channel password for IRC joining

- Fixed additional color code related bugs

- Removed the VIP moderator level

For people already using 1.3, you have to replace the renx.mrc file in the scripts folder. You also have to replace the Cmds.ini, mIRC.ini and CloudyServ.ini. This means you have to reconfigure CloudyServ.ini which is very minor.

Note a few things:

- With the removal of the VIP level (since it was a useless level), the !addmod command levels are different. VIP used to be 1, now Half Mod is 1.

- I am still further testing the ban system. I didn't want to release a bugged out ban system without making sure it works properly so that got postponed again, sorry.

- Some features and bug fixes are from what people post or tell me directly. If you have ideas or suggestions, I'd appreciate people mentioning it so I can further improve the bot.

- And finally, a thanks to the communities and users that run this bot or test it out. And more recently, TMX started using it.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
Any news on your bot?

I haven't done anything with it in over a month. TMX was my testing grounds for about a week before they went back to their old bot.

Only thing its really missing is a ban system and did you fix the issue when someone uses crazy names with random chars causing problems with commands?

I never fixed the bugs with the ban system so it never got finished yet.

And what bugs with random chars causing problems with commands?

Link to comment
Share on other sites

Dont have the logs to hand but basicly when someone joins with names like $%^|Fred|^%$ then the colour codes and the rest of the messages get messaged up on that line or where that person is involved.

If your still interested in finishing your bot & need a rcon stream to test with give me a shout on IRC.

Link to comment
Share on other sites

Dont have the logs to hand but basicly when someone joins with names like $%^|Fred|^%$ then the colour codes and the rest of the messages get messaged up on that line or where that person is involved.

Weird, that shouldn't happen anymore. I was pretty sure I fixed it in 1.4

Link to comment
Share on other sites

I confess that i haven't seen that bug lately but the only server i see that uses your bot atm is Fireon.

Might run your bot on another channel n see if it gives that error.

Any ideas when you will get time to work on the bot more?

Link to comment
Share on other sites

  • 2 months later...

I'm working on it again. I'll release it by this Thursday. The current one doesn't work with B4 because the RCON format changed.

Preview:

PI format in pub channel of updated bot:

[19] ID: 1123; Name: EKT-Langaleer; Side: Nod; Ping: 68; Total Kills: 0; Deaths: 0; Score: 0;

[19] ID: 1109; Name: EKT-sunny; Side: GDI; Ping: 100; Total Kills: 20; Deaths: 18; Score: 767;

[19] ID: 1094; Name: EKT-Razmann; Side: Nod; Ping: 60; Total Kills: 16; Deaths: 32; Score: 1574;

[19] ID: 1068; Name: (**EKT-NoDFanaTic**); Side: GDI; Ping: 80; Total Kills: 20; Deaths: 17; Score: 1521;

[19] ID: 1049; Name: EKT-Pugsey; Side: Nod; Ping: 76; Total Kills: 15; Deaths: 14; Score: 3952;

Link to comment
Share on other sites

Completed so far:

- Parsed output to be compatible with Renegade-X Beta 4

- Added additional presets to the transation list

- Added additional logging support for new rcon output

- Added additional information to !pi command

- Changed command !forceend to !endmap

- Changed command !emsg to !hmsg

- Changed RCON checker from 60 seconds to 20 seconds.

I'm working on the new commands and more moderator commands and I'll release it.

Link to comment
Share on other sites

Very Random this Xpert and feel free to say if I am way off here but is it possible to add option to spawn in vehicles on the server? I know the commands to obviously do this in Skirmish but wasn't sure if could be an admin/moderator command.

I can only make commands based on what the RCON has for me.

Link to comment
Share on other sites

Version 1.5 is now live!

http://ttp-gaming.net/forums/index.php? ... ren-x-bot/

1.5 -> March 25, 2015

- Parsed output to be compatible with Renegade-X Beta 4

- Added additional presets to the transation list

- Added additional logging support for new rcon output

- Added additional information to !pi command

- Added !changemap command

- Added !disarm/!disarmb/!disarmc4 commands (mod flag 'D')

- Added !kill command (mod flag 'k')

- Added !map command

- Added !mute/!unmute commands (mod flag 'm')

- Added !givecredits/!takecredits commands (mod flags 'G' and 't')

- Added !team/!team2 commands (mod flag 'U')

- Changed the Steam ID format to use hash tables instead of text files similar to the IP logging

- Changed command !forceend to !endmap

- Changed command !emsg to !hmsg

- Changed command !rcon to block certain raw commands to prevent breaking the bot's parsing

- Changed RCON checker from 60 seconds to 20 seconds.

- Changed matchend message to display the map that ended

- Fixed missing hard coded permissions for !modchat/!mchat

Planned in future CS versions:

* Adding an !addbots command

* Adding a proper ban system

* Adding an award system (!recs,!medals)

* Adding a !disarmL command to disarm the most recent beacon

* Adding an !authme command for in game to only work for mods not logged in that have a Steam ID attached to their mod level

* Making bots appear in the player list for !pi/!pl

Edited by Guest
Link to comment
Share on other sites

Quick patch -> 1.5.1

1.5.1 -> March 26, 2015

- Changed beacon messages to display in both channels

- Changed crate messages to display in public channel but with partial detail

- Fixed bug with moderators still staying logged in after map ends

- Fixed incorrect output with !disarm/!disarmb/!disarmc4 irc commands

- Fixed C4 detonate message not indicating if it's a bot

- Removed the DEBUG output messages

Just a minor change. The link above is still the same. If you already downloaded 1.5, just change the renx.mrc file that's inside the both's scripts folder.

Link to comment
Share on other sites

Another patch -> 1.5.2

1.5.2 -> March 27, 2015

- Changed !team/!team2 to also respond to !tc/!tc2

- Fixed !kick not working due to RCON command changing from adminkick to kick

- Fixed a minor bug with !pl/!pi not showing players on RCON connect

Same as last time, if you run 1.5 or 1.5.1, just copy over the renx.mrc file and replace the old one in the scripts folder.

Link to comment
Share on other sites

Just finished 1.6

1.6 -> March 31, 2015

- Added a permanent ban system (!ban command and ban related settings now works)

- Added a temporary ban system (!tban command and temp-ban related settings now works)

- Added an !addban/!aban irc command

- Added a !banlog irc command

- Added a setting to be able to change the moderator symbols

- Added a setting to set the temp-ban time length

- Added a setting to disable/enable C4 log placements in the mod channel

- Fixed null value in beacon detonated messages

- Fixed a few commands having syntax issues

You're going to have to copy the new renx.mrc, the cloudyserv.ini and cmds.ini so you will have to configure.

http://ttp-gaming.net/forums/index.php? ... ren-x-bot/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...