WCS - Chat server

Discuss the world of file sharing, from philosophy to help with applications.

Moderator: CricketMX Forum Moderators

User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

The latest beta version WCS 1.8b9.
kingmacro.net.
Latest News
WCS 1.8b9 has been released. This adds a couple of little things to the 1.8 series.

Changes since b8 are:
+ Added #c0# for "previous colour" (may be used multiple times)
+ Added #c1,2,3# syntax for selected random colours
+ Added /hide command to hide from the user list (h access required)
+ added RestrictColours=0/1 option to the config, this makes it only accept "valid" colour codes
+ Added IPSend Support (for compatible clients to get IP Addresses when logged in)


Explainations:

#c0# will return to a previous colour, for example if you use #c4#Something#c5#Something Else#c0#Something, then the first and last Something will both be colour 4 (as the previous colour is 4). You can use this multiple times (to go back several colours). Most useful for Replace=, but i'm sure you'll find other uses.

#c1,2# will randomly select one of the listed colours, that example will randomly select between colour 1 or 2. #c7,8,56# will randomly select between 7 8 or 56.

RestrictColours=1 in the config will make it block all colour codes between 9 and 52, and above 76 (except 253), this eliminates the mostly blank colour codes.
:cheers: KM!
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

NEW WCS v1.8b10 out peeps!! 8)

Seems people are liking the new WCS a lot from what I've been reading.
It adds some new cmd options.
I am going try it when it comes out of beta testing.

As usual you can download it from KM's site. :wink:
Latest News

WCS 1.8b10 has been released.

There are several major changes since b9:
+ Added /hidecmd command to hide a command from other users with w access.
+ Added /privnotice command for private notice.
+ Added ability to /hide another user.
+ Updated Windows GUI a bit - now has a right click menu for the user list and a text box for typing commands in to.
+ Added Topic2 and Topic3.
+ Added a P Access level to Protect from kicks by users with K access.
+ Added ability for other programs to send commands through the server.

Also a few small things:
+ Fixed a bug with hidden users not seeing when someone else unhides.
+ Allowed colour 252 when RestrictColours is enabled.
+ Fixed memory leak with selective random colours.
+ Fixed bug with selective random colours above colour 10 (it would only read the last digit of the number).
+ Changed /who output to show hidden users in grey.


Explainations:

/hidecmd <command> will perform the command, but just won't show it to users who have watchcmds access.
Example: /hidecmd /notice Hello will do the same as /notice Hello, just without admins with w access seeing who typed it first. Requires H access.

/privnotice <username> <notice> does the same as a /notice, just only to a specific user, similar to a /message, but without displaying the senders name. Requires m and n access.

/hide <username> can be used to hide or unhide other users. /hide can still be used to hide or unhide yourself. Requires h access.

When using ChannelName2= or ChannelName3= in the config file, you can also use Topic2= and Topic3= to set different topics for those listings, or users with T access can use /topic2 or /topic3 to set those additional topics.

P Access behaves similarly to an @ for kicking purposes, so only users with k access can kick and not those with K.

Other programs can send text to the room, Just add the commands to a file called exec.txt and it will execute them then delete the file (text file, one command per line). I can think of a few immediate uses for it, such as allowing monitoring programs etc to send text to the room without having to be a full chat client. There are plenty of other uses though - leave it for the imagination :-)
Thanks to KM !!! :supz:
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

New WCS beta version 1.8b11 is available on KM's site.
Latest News

WCS 1.8b11 has been released. This has a few bug fixes from b10 (those bugs are like busses, none for ages than 3 all at once) and a few other things.

Note: Anyone using previous betas is strongly recommended to update as one of the bugs is potentially critical (depending on your rooms configuration).

+ Fixed bug with kicking users on linux when sending commands from outside the server
+ Added 0x9908 packet (see below)
+ Fixed weird bug randomly giving users red at the start of it
+ Login announcements can now use $NAME$ and $RAWNAME$ instead of %s for users name
+ Text formats can now use $RAWNAME$ as well as $NAME$
+ Increased security blocks a little to protect from mass connection attacks, and also name spoofing
+ Added option to strip colours from usernames (BlockColourNames=0/1)
+ Fixed minor little bug that would let anyone crash the room in some room configurations


0x9908 Packet just contains a 4 byte IP Address, this can be sent by programs before join request to give different IP. This can be used for proxy type programs to give the users real IP Address for use in the room. For security reasons only accepted from localhost, the NIC Interface= is set to, or the IP Address detected a run time. Only really useful for programmers.

If BlockColourNames=1 is set in the config then colour codes will be removed from a users name when they type, useful for cases where you want the users to be able to us colours in their text, but don't want the coloured usernames.

I also forgot to mention but as of 1.8b8 the ColourCode= and RandomColour= options no longer work, because of this it now accepts both #c?# and #cx# for random colour codes.
Thanks to KM once again!! 8) :D
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

New Beta WCS 1.8b12
A lot of changes in this version.
You can download it on KM's site.

what's new:
+ Reload button on windows version now doesn't show for watchcmds
+ 221 and 237 added as allowed colours when restricted
+ changed layout of /colour output
+ fixed bug with 1 char long notices, setmotd and topic
+ increased notice length limit
+ fixed bug with invalid name notification
+ added users Hostname, ISP, the room name they joined, and if they are hidden to /stats
+ login announcements can now contain commands
+ bot mode outputs for just about everything sent from servers name, should be easier for bots to read
+ added ServerName= config option to change the servers name
+ added #\n# for new line everywhere #NEWLINE# can be used
+ added #\r\n# when RCMS Compatibility is enabled
+ added FancyEntryMessage= things (see below)
+ variables for fancy message and for MOTD (see below)
+ MaxMessageFlood= to adjust flood amount for non-F access
+ DNSServer= and DNSServer2= (see below)
+ Added MOTDLine= to make long multi-line MOTDs easier to do (see below)
+ added custom commands (see below)
+ added /setformat command to set a users text format (z access)
+ added BlockedName= to block usernames
+ blocked words checking ignores colour codes (for blocked names or words)
+ added LogPath= to change the path WCS logs to, include a trailing \ or / (depending on OS) on the end of the path
+ /kick and /kickban can take an IP Address instead of name
+ made uptime reporting more accurate for long uptimes on linux

...and i'm pretty sure I missed a few things from that list

Fancy Entry

FancyEntryMessage= and FancyEntryMessageIP= can be used to customise the user has entered message in the room.
Note: Needs FancyEntry=1 to be set to have any effect.

Example:
FancyEntry=1
FancyEntryMessage=#c4#$RAWNAME$ ($FILES$ files) has entered #c63#$ISP$ $LINE$
FancyEntryMessageIP=#c4#$RAWNAME$ ($FILES$ files) has entered #c5#$IP$#c9#/#c63#$ISP$ $LINE$

The following variables can be used for the MOTD or the FancyEntryMessage options:
+ $LINE$ connection type
+ $FILES$ file count
+ $PRIMIP$ IP Address of the primary the user is connected through
+ $PRIMUDPPORT$ UDP Port of the primary the user is connected through
+ $PRIMIPHEX$ same but in hex
+ $PRIMUDPPORTHEX$ same in hex
+ $IP$ users IP Address
+ $HOSTNAME$ users hostname
+ $ISP$ users ISP
+ $NAME$ users name
+ $COLNAME$ users name coloured in
+ $RAWNAME$ users full name
+ $COLRAWNAME$ users full name coloured in
+ $HOSTUPTIME$ uptime of the hosts computer
+ $ROOMUPTIME$ uptime of the room


The ISP is based off of the end of the hostname so may not be 100% but should be good enough.

For reverse DNS lookups (to get the hostname) it uses your systems DNS servers, in some cases these might be too low, or you might just want to use different DNS servers for some reason. use DNSServer= and DNSServer2= to set 2 additional DNS servers to use.

MOTDLine

to make large MOTDs easier to manage you can use MOTDLine= for each line.

MOTDLine=Welcome to my room $NAME$.
MOTDLine=It's such a nice room.
MOTDLine=Please have some cake.

would show to me entering as:


Welcome to my room KM.It's such a nice room.Please have some cake.

Custom Commands
These can be used to direct a command to a bot for example (or to a user, but it's probably most useful for bots)

CustomCommand=/COMMAND=Password

this will direct /command (note: must be in CAPS in the config file, but will be case insensitive in the room) to any users logged in with the password Password

you can override *any* built in commands (including /login), in the event that no users are logged in with the password set then it will simply continue on and use the built in command (if there).

Also if only 1 user is logged in with that password and that user uses the command then it will use the built in command. This allows you to safely override commands such as /login, as the override will only be in effect as long as your bot is in the room (so the bot can still log in itself).

Example:

Password=*=mybot
CustomCommand=/LOGIN=mybot

When your bot isn't in the room/isn't logged in the /login command would act as normal and use normal WCS commands.

Once your bot logs in WCS will disable the built in /login command, and whenever anyone typed /login it would be sent directly to the bot, for it to deal with however it wishes.

If your bot then left the room (or logged out) the built in /login command would once again start working.

You can use this to override any built in commands, or to create your own commands.

If you use the same entry twice:
CustomCommand=/COMMAND=password1
CustomCommand=/COMMAND=password2
then it will act as directing /command to users logged in with either password1 or password2.
:cheers: Thanks to KM. :P
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

New Beta WCS 1.8b13 updated sometime today. :P
Check out KM's site to download the latest version.
Update: beta 13
Shortly after b12 release A bug was found with with RoboMX when fancy entry was enabled. Although this is fundamentally a flaw in RoboMX, many rooms use RoboMX as their bot, and it was causing Metis on RoboMX to not enable itself properly, so I have done an update with a workaround for when it detects a RoboMX client.

I also added a couple of variables for the MOTD/Entry Messages:

$ROOMNAME$ the room name the user entered with
$ROOMIP$ the rooms IP Address (hosts external IP)
and I have no idea why you'd need these, but:
$ROOMPORT$ the port the room is running on
$CHANNELNAME$ $CHANNELNAME2$ and $CHANNELNAME3$, the channel name settings from the config
:cheers: ty :supz:
KM
Edit:
I forgot to mention on the original announcement that I also changed duplicate name detection so if a duplicate user joins from the same IP Address, the old one is kicked, instead of the new one being blocked from joining. This should solve issues with ghost users.
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

New WCS v1.8rc1 peeps !! 8)
As usual you can get it from KM's site.


What's New
WCS 1.8rc1 has been released. This should mean the last of features being added to 1.8 (any left will go in later versions) and it should now just be any bug fixes until 1.8 goes final. This means your help files shouldn't be long now...

Changes since b13:
+ fixed bug with #c10# doing new lines
+ fixed bug with login announcements that don't contain the users name
+ robomx workaround added for shareguard as well
+ clears MOTD on config loading, to change undocumented behaviour that some find undesireable with MOTDLine=
+ setaccess now can't set %s in formats (must use $NAME$ $TEXT$ style), this is a security improvement+ fixed issue with restarting and port staying in use on windows
+ added timed bans (add a time in minutes to the end of existing ban commands)
+ added support for ouka colour codes (colours below 37 are interpreted using the ouka conversions, as those colour codes are generally useless in their normal form anyway)
+ fixed small bug with /banip command in previous versions
+ changed peer cache lookups to UDP queries (also uses the same query to get the rooms IP Address)
+ added update check (checks on startup, also every 6 hours and announces in opmsg if update avaliable)
+ fiddled with DNS code to see if it fixes an ocasional crashing issue in b12/13


For ban durations simply add the time in minutes to the end of a command, examples:
/banip 1.2.3.4 5 - bans 1.2.3.4 for 5 minutes
/kickban Idiot 60 - kicks and bans Idiot for 60 minutes

If no time is specified or you specify 0 minutes then the ban is forever. Add an entry to the config file to change this.
DefaultBanDuration=5
would set the default ban duration to 5 minutes (then you'd have to do 0 minutes on the end of a command to ban forever)


:cheers: Thanks to KM!!
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

New WCS v1.8rc2 8)
You can download it from KM's site here.

What's new:
WCS 1.8rc2 has been released. This has a few cleanups from rc1, I also added a few minor things but I am trying to keep the changes minimal to avoid introducing bugs so there aren't too many major changes.

Changes since rc1:
+ Changed robomx/shareguard workaround to a different slightly different method that should work better
+ Fixed bug with /topic3 not working (which nobody seems to have noticed at all...)
+ Removed [WCS] from topic
+ Custom commands now don't have to start /
+ You can now use * on the end of a custom command as a wildcard
+ setaccess and setformat now don't show to target user when using then with /hidecmd
+ MOTD doesn't show when using setmotd/addmotd with /hidecmd
+ Text format always shows in stats (even if user is using a general format not a specific one)
+ Format in stats also always uses $NAME$ $TEXT$ style (even if the real format is %s %s)
+ Added Transfer Status to stats (taken from whois)
+ Automatically gets shared file count from whois (overides the file count sent by the client if differe
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

WCS 1.8rc3
Just a few minor changes since rc2:
+ Added server ident before robox hack (damn robomx POS)
+ Fixed bug with hidden users and whois updating file count from rc2
+ Added WCS version to /stats
+ Added user status to end of /who output for bot mode
:cheers: thanks to KM . 8)
anomaly
Greenhorn
Greenhorn
Posts: 1
Joined: Wed Jul 18, 2007 2:05 am


Fancy Entry

FancyEntryMessage= and FancyEntryMessageIP= can be used to customise the user has entered message in the room.
Note: Needs FancyEntry=1 to be set to have any effect.

Example:
FancyEntry=1
FancyEntryMessage=#c4#$RAWNAME$ ($FILES$ files) has entered #c63#$ISP$ $LINE$
FancyEntryMessageIP=#c4#$RAWNAME$ ($FILES$ files) has entered #c5#$IP$#c9#/#c63#$ISP$ $LINE$

does ip mean like u can make a diff enter per ip of does it just show the ip?
{MXC}michael
Frequent Poster
Frequent Poster
Posts: 30
Joined: Tue Jan 11, 2005 7:07 am
Location: london
Contact:

i dont use wcs but im guessing u wont be able to just enter a different ip
WinMX World.com - The new help website dedicated completely to WinMX. If you cant find help there, you cant find it anywhere!


Well there is always http://winmx-help.no-ip.org :D
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

Update: rc5 released, see below.

WCS 1.8rc4 has been released.

Changes since rc3:
+ Another couple of little changes to fix potential bugs with hostname lookup code
+ Fixed multiple bugs with RTF protection for 3.31 clients that was causing a few issues
+ Added RealFileCounts= option (see below)
+ Added WPNCaches= config option (see below)
+ Added some buffer overflow checks for config file loading (should prevent it crashing on invalid config files)
+ Updated windows GUI a little to add primary details (simplext explaination of the change: run it and have a look)


In rc2 I added whois lookups to it to get transfer status and to get the true shared file count where clients reported it incorrectly. I have now added an option to set RealFileCounts=0/1 for if you want the real file count, or the old behaviour of just using whatever the client says. Due to there being several complaints about this behaviour the default is 0 (old behaviour) if not specified.

As a result of the winmxgroup shutdown you can now specify which cache to use in the form of WPNCaches=whatever, you can either use an IP Address or a hostname, if using a hostname that resolves to multiple IP Addresses it will query them all and use whichever answers first. The default value for this is a kingmacro.net hostname that contains a mix of caches so you shouldn't need to change this, but the option is there anyway...

rc5 released
shortly after release a bug was spotted with rc4 and names containing non-ASCII characters, it meant you could only join the channel if you had a username containing only ASCII characters, and for some reason there are many people who use non-ASCII characters knowing full well they don't display correctly anyway, but that's a different discussion...

So anyway, rc5 has been released, only changes are a bug fix for these unreadable names, and I also changed the version on the linux download to list as -Linux instead of -Unix, seems more appropriate.

I blame the same fairy that blew up one of the hard drives in my home server last night... (causing a few hours outage, and causing me to get up for work late because I use the server as my alarm clock - and I still insist it has nothing to do with my rewiring the power supply whilst it was turned on)
As usual you can download it from Km's site.
:cheers: Thanks to KM for updating & improving his chat server.
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

anomaly wrote: does ip mean like u can make a diff enter per ip of does it just show the ip?
I hope I can explain this right but I'll try to explain the best I can anyways.
Instead of winmx's default way of reporting the IP for the host or admins who can see IP's when people enter you can customize the enter message that the hosts sees or admins that can see peoples IP's when they enter.

From what I understand you can't have a different enter message per IP or user that enters the room.
It'll be the same for everyone that enters the room.

This is how I have it set up in my room when people enter my room:
FancyEntry=1
FancyEntryMessageIP=#c4#$RAWNAME$ ($FILES$ files) has entered #c8#IP: $IP$ #c9#/ #c8#Hostname: $HOSTNAME$ #c9#/ #c8#ISP: $ISP$ #c9#/ #c8#Connection Type: $LINE$

And it'll look like this when people enter my room:
mètålbot484_22199 (420 files) has entered IP: 70.49.138.185 / Hostname: bas11-ottawa23-1177651897.dsl.bell.ca / ISP: bell.ca / Connection Type: Unknown
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

http://www.kingmacro.net/
WCS 1.8rc6 has been released.

This is just a small cleanup fix for rc5:
+ Fixed a small memory leak in the windows code during reverse DNS lookups (nobody noticed, so it couldn't have been bad)
+ Fixed a handle leak in the linux code (nobody noti... ok, so it caused people to be unable to enter after a few days)
+ Added warnings for when it detects some form of modification that could cause stability issues
+ Added workaround for the Windows bug with losing tray icons when explorer crashes (IE4+ only... so basically 95 users with IE3 are still screwed, blame M$... or update)

Btw, the workaround for the windows losing tray icons bug is not the commonly used workaround of simply recreating the icon that many programs use, instead it gives a warning and suggests the user host from a more stable system - I think that is a much more appropriate response for a server.

As well as those small changes I have also made a few other changes to the backend code, but nothing that anyone should notice.
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

Friday 14th of September 2007 03:55:39 AM (GMT)
WCS 1.8 has finally been released!

This has been a long time coming, with development basically running along an "unstable" branch, with users being directed to an old out of date "stable" branch. Finally 1.8 has been classified as stable and is now the official latest stable version for widespread usage.

There have been a few minor bug fixes since rc6, but i didn't consider them major enough to do another release candidate and decided to instead just push on with a final release.

The following changes have been made since 1.8rc6:
+ Chopped out chunk of primary code (slightly reduced bandwidth usage, also fixes minor bug with previous version)
+ Changed primary code to ignore requests from 1.x.x.x to reduce bandwidth
+ Fixed minor bug with /help list
+ Changed URLs/hostnames to reflect the new website.
+ Minor GUI tweak on win32 to display IP Addresses whilst connecting.
+ Fixed small bug with config loading and LogPath= setting.
download WCS @ http://wcs.mxstuff.org/
User avatar
p2p-sharing-rules
Moderator
Moderator
Posts: 8462
Joined: Mon Mar 29, 2004 6:55 pm
Location: Canada

WCS 1.8.1 has been released! Fri, 12 Oct 2007

There have been a few small changes and a few bug fixes since 1.8. This also adds one of the most requested options of replacing only whole words, which should make a few people happy.

The following changes have been made since 1.8:

Added ReplaceWord=
Added WPNConnections=
Added #c!# (ignores following colour codes)
Adjusted bandwidth throttles a little
Changed bot mode (and 3.31 clients) to send raw name instead of short name.
Added menu for copying channel details on win32 GUI.
Added copying user details to right click menu on win32 GUI.
Added WPN Uptime to user stats (also removed ISP to make room)
Fixed small ipsend bug
Bug fix: blocks modified clients inputting raw colour codes directly
Bug fix: 1.7.4 Auto Update not replacing original exe (means they were re-downloading 1.8 every time they started WCS)

ReplaceWord= can be used exactly like Replace=, the difference being that replaces added this way will only apply to whole words, for example if you replace "red" then it will not effect coloured as it does with a Replace=.

WPNConnections= can be used to specify the number of connections WCS should make to the WPN, maximum is 6 (3 if dialup mode is enabled).

#c!# can be used to tell WCS to ignore colour codes in between 2 instances of #c!#, for example if you type "Yes, Just Type #c!##c2##c!# for coloured text" then the colour code between the #c!# does not get read as a colour code and is sent as normal text. (note: you don't need the ending #c!# unless you want to actually use colour codes after it.)

The bandwidth throttles have been adjusted slightly, the most noticeable difference is the removal of the receive throttle to speed up the rate that WCS receives text from clients, this will be most noticeable if you have a bot sending several lines of text, as they will go much more quickly.

...And the other stuff on the list as well which I think is self-explanatory.
http://wcs.mxstuff.org/?download
Post Reply