Help with beamserver server/client setup

So, I know this is not exactly the best place for a beamserver question, but I know a lot of people here use beamserver so I thought I would give it a shot. I’m trying to use the case switch method that is used in the chat demo to determine between two types of messages. But, however hard I try, I can’t get it to recognize the second type of message. Here is my code:
Server:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeamBase;
using BeamServer;
using System.IO;

namespace BeamServer_Test
{
    class Program
    {
        // Message codes

        const byte CS_CHAT = 100; // Client to server chat message
                                  // Parameters:
                                  //    message: UTF String

        const byte SC_CHAT = 100; // Server to client chat message
                                  // Parameters:
                                  //    nick: UTF String
                                  //    message: UTF String
	
		const byte CS_TRANSFORM_UPDATE = 120; // Client to server transform message
                                  // Parameters:
                                  //    xTransform: float
								  //    yTransform: float
							      //    zTransform: float
		
		const byte SC_TRANSFORM_UPDATE = 120; // Server to client transform message
                                  // Parameters:
                                  //    xTransform: float
								  //    yTransform: float
							      //    zTransform: float
        // User list
        static Hashtable users;

        // Deserializer
        static Deserializer deserializer;

	    static void Main(string[] args)
        {
            users = new Hashtable();
            deserializer = new Deserializer();

            ServerConfig serverConfig = new ServerConfig();
            serverConfig.port = 10001;
            serverConfig.appVersion = "0.2";

            Server server = new Server(serverConfig);
            server.UserConnected += new Server.UserConnectedHandler(server_UserConnected);
            server.Start();

            Console.WriteLine("CHAT Server started");

            while (Console.ReadKey().Key != ConsoleKey.Escape)
            {
                // Program main loop
            }
        }

        static void server_UserConnected(User user)
        {
            Console.WriteLine("User connected from " + user.remoteEndPoint);
            user.Logged += new User.LoggedHandler(user_Logged);
            user.Disconnected += new User.DisconnectedHandler(user_Disconnected);
            user.MessageReceived += new User.MessageReceivedHandler(user_MessageReceived);
            user.ConnectionError += new User.ConnectionErrorHandler(user_ConnectionError);
            users.Add(user.remoteEndPoint, user);
        }

        static void user_Logged(User user)
        {
            Console.WriteLine("User " + user.nick + " logged from " + user.remoteEndPoint);
        }

        static void user_ConnectionError(User user, string error)
        {
            Console.WriteLine("Connection error from " + user.remoteEndPoint);
        }

        static bool user_MessageReceived(User user, byte type, ushort size, byte[] payload)
        {
			deserializer.Set(payload, size);
            return true;
        }

        static void BroadcastMessage(byte type, ushort length, byte[] payload)
        {
            foreach (string endPoint in users.Keys)
            {
                User user = users[endPoint] as User;
                user.SendMessage(type, length, payload);
            }
        }
		
		static void SendChatMessage(string message, string name)
		{
			Serializer serializer = new Serializer(new MemoryStream());
            serializer.WriteUTF(name);
            serializer.WriteUTF(message);
            BroadcastMessage(SC_CHAT, serializer.currentPosition, serializer.GetBytes());
		}
		
		static void SendTransform(string name, float xTransform, float yTransform, float zTransform)
		{
			Serializer serializer = new Serializer(new MemoryStream());
            serializer.WriteUTF(name);
			serializer.WriteFloat(xTransform);
            serializer.WriteFloat(yTransform);
            serializer.WriteFloat(zTransform);
            BroadcastMessage(SC_TRANSFORM_UPDATE, serializer.currentPosition, serializer.GetBytes());
		}


        static void user_Disconnected(User user)
        {
            Console.WriteLine("User " + user.nick + " disconnected");
            users.Remove(user.remoteEndPoint);
        }
    }
}

Client:

using UnityEngine;
using System.Collections;
using BeamBase;
using BeamClient;
using System.IO;

public class BeamServerTestChat: MonoBehaviour {

        // Message codes

        const byte CS_CHAT = 100; // Client to server chat message
                                  // Parameters:
                                  //    message: UTF String

        const byte SC_CHAT = 100; // Server to client chat message
                                  // Parameters:
                                  //    nick: UTF String
                                  //    message: UTF String	
		
		const byte CS_TRANSFORM_UPDATE = 120; // Client to server chat message
                                  // Parameters:
                                  //    xTransform: float// Server to client transform message
                                  // Parameters:
                                  //    xTransform: float
								  //    yTransform: float
							      //    zTransform: float
		
		const byte SC_TRANSFORM_UPDATE = 120; // Server to client transform message
                                  // Parameters:
                                  //    xTransform: float
								  //    yTransform: float
							      //    zTransform: float
	
	public Vector3 p;
    public Transform target;	
	Client client;
	Deserializer deserializer;
	
	public GUIText inputText;
	public GUIText outputText;
	
	string inputStr;
	int numLines;
	
	const string cursorGraph = "|/-\\-";
	int cursorGraphIndex = 0;
	
	// Use this for initialization
	void Start () {
		deserializer = new Deserializer();
		ClientConfig clientConfig = new ClientConfig();
		clientConfig.appVersion = "0.2";
		client = new Client(clientConfig);
		client.Connected += OnConnected;
		client.LoginSuccessful += OnLogged;
		client.MessageReceived += OnMessageReceived;
		inputText.text = "";
		outputText.text = "";
		WriteOutputText("Connecting...");
		client.Connect("127.0.0.1", 10001);
	}
	
	void OnConnected()
	{
		inputStr = "";
		inputText.text = "";
		outputText.text = "";
		numLines=0;
		WriteOutputText("Welcome to Unity3D / BeamServer Chat");
		WriteOutputText("Type your nick and press [ENTER] to login");
	}
	
	void OnLogged()
	{
		WriteOutputText("Logged!");
	}
	
	void SendChatMessage(string message)
	{
		Serializer serializer = new Serializer(new MemoryStream());
		serializer.WriteUTF(message);
		client.SendMessage(CS_CHAT, serializer.currentPosition, serializer.GetBytes());
	}
	
	bool OnMessageReceived(byte type, ushort length, byte[] payload)
	{
		deserializer.Set(payload, length);
		string nick = deserializer.ReadUTF();
		string message = deserializer.ReadUTF();
		WriteOutputText(nick+": "+message);
		return true;
	}
	
	void WriteOutputText(string message)
	{
		outputText.text+=message+"\n";
		numLines++;
		if (numLines==21)
		{
			int idx = outputText.text.IndexOf('\n')+1;
			outputText.text = outputText.text.Substring(idx, outputText.text.Length-idx);
			numLines--;
		}
	}
	
	void SendTransform(float xTransform, float yTransform, float zTransform)
	{
		Serializer serializer = new Serializer(new MemoryStream());
		serializer.WriteFloat(xTransform);
		serializer.WriteFloat(yTransform);
		serializer.WriteFloat(zTransform);
		client.SendMessage(CS_TRANSFORM_UPDATE, serializer.currentPosition, serializer.GetBytes());
	}
	
	// Update is called once per frame
	void Update () {
		foreach (char c in Input.inputString) {
			// Backspace - Remove the last character
			if (c == '\b') {
				if (inputStr.Length != 0)
					inputStr = inputStr.Substring(0, inputStr.Length - 1);
			}
			// End of entry
			else if (c == '\n' || c == '\r') {
				if (client.logged==false)
				{
					client.Login(inputStr, "");
				}
				else
				{
					SendChatMessage(inputStr);
				}
				inputStr="";
			}
			// Normal text input - just append to the end
			else {
				inputStr += c;
			}
		}	
		inputText.text = inputStr+cursorGraph[cursorGraphIndex];
		cursorGraphIndex++;
		if (cursorGraphIndex==cursorGraph.Length)
			cursorGraphIndex = 0;
		p = target.transform.position;
		SendTransform(p[0], p[1], p[2]);
	}
	
	void OnDisable() {
		client.CloseConnection();
	}
}

Any help would be appreciated. Thanks!

Your user_Message Recieved is empty

      static bool user_MessageReceived(User user, byte type, ushort size, byte[] payload)
        {
			deserializer.Set(payload, size);
            return true;
        }

Therefore your server has no idea what to do with the Message; it just deserializes it, then throws it away.

You need to expand the swith setup from the demo

deserializer.Set(payload, size);
            switch (type)
            {
                case CS_CHAT:
                    string message = deserializer.ReadUTF();
                    Serializer serializer = new Serializer(new MemoryStream());
                    serializer.WriteUTF(user.nick);
                    serializer.WriteUTF(message);
                    BroadcastMessage(SC_CHAT, serializer.currentPosition, serializer.GetBytes());
                    break;
                case CS_TRANSFORM_UPDATE:
                    //Advise other client of the move
                    BroadcaseMessage(CS_TRANSFORM_UPDATE, {* appropriate information *}) ;
                    break ;
                default:
                    Console.WriteLine("Message from " + user.nick + " of type " + type);
                    break;
            }
            return true;

This way the server will know to send the transform information back out to the other players.

Aw I forgot I was testing something and I posted the wrong code, I’ll update it at the top.