Sierra ~ Java // Netty // MySQL // BoneCP // Plugin System (Like Bukkit!)

Page 13 of 103 FirstFirst ... 3567891011121314151617181920212363 ... LastLast
Results 181 to 195 of 1536
  1. #181
    Account Upgraded | Title Enabled! DoctorCooper is offline
    MemberRank
    Oct 2011 Join Date
    R:\aGEZONELocation
    317Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Any more EMU updates you would like to share ? :)

  2. #182
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Switched to Java and working on Neutrino's build again. Because there are way more headers I can use

    Snippetz?

    Code:
    package sierra.messages.handshake;
    
    import sierra.Logging;
    import sierra.SierraEnvironment;
    import sierra.composers.Outgoing;
    import sierra.habbohotel.rooms.RoomEngine;
    import sierra.messagehandler.MessageEvent;
    import sierra.network.clients.Session;
    import sierra.network.clients.SetSessionInfo;
    import sierra.packetparse.ClientMessage;
    import sierra.packetparse.ServerMessage;
    
    public class CheckLogin implements MessageEvent {
    
    	@Override
    	public void Parse(Session Session, ClientMessage Request)
    	{
    		try
    		{
    			ServerMessage Message = new ServerMessage();
    
    			//Verify by IP
    			if (SierraEnvironment.getStorage().RowExists("SELECT ip FROM members WHERE ip = '" + Session.GetIP() + "' LIMIT 1"))
    			{
    				//Login
    				Message.Initialize(Outgoing.InitSystem);
    				Session.Send(Message);
    
    				SetSessionInfo mSessionInfo = new SetSessionInfo();
    				mSessionInfo.setDetails(Session, Session.GetHabbo(), SierraEnvironment.getStorage().ReadRow("SELECT * FROM members WHERE ip = '" + Session.GetIP() + "'"));
    
    				RoomEngine.GetOwnRooms(SierraEnvironment.getStorage(), Session.GetHabbo().Id, Session.GetHabbo().Username);
    
    				Message.Initialize(Outgoing.Alert);
    				Message.AppendString("Welcome to Sierra, " + Session.GetHabbo().Username + "!\r\nCodename: DIRT1\r\n");
    				Message.AppendString("");
    				Session.Send(Message);
    			}
    		}
    		catch (Exception e)
    		{
    			Logging.writeLine(e);
    		}
    	}
    
    }
    Code:
    package sierra.network.clients;
    
    import org.jboss.netty.channel.Channel;
    
    import sierra.SierraEnvironment;
    import sierra.Logging;
    import sierra.composers.Outgoing;
    import sierra.game.users.Habbo;
    import sierra.packetparse.ClientMessage;
    import sierra.packetparse.ServerMessage;
    
    public class Session
    {
    	private Channel mChannel;
    	private Habbo mHabbo;
    
    	public Session(Channel Channel)
    	{
    		this.mChannel = Channel;
    		this.mHabbo = new Habbo();
    	}
    	public void AlertBanned(String Alert)
    	{
    		ServerMessage Message = new ServerMessage();
    		
    		Message.Initialize(Outgoing.YouAreBanned);
    		Message.AppendString(Alert);
    		this.Send(Message);
    	}
    	public void AlertUser(String Msg)
    	{
    		ServerMessage Message = new ServerMessage();
    		
    		Message.Initialize(Outgoing.Alert);
    		Message.AppendString(Msg);
    		this.Send(Message);
    	}
    	public void AlertUserWithLink(String Msg, String Link)
    	{
    		ServerMessage Message = new ServerMessage();
    		
    		Message.Initialize(Outgoing.Alert);
    		Message.AppendString(Msg);
    		Message.AppendString(Link);
    		this.Send(Message);
    	}
    	public void parseMessage(ClientMessage msg)
    	{
    		Logging.writeLine("[ " + msg.getType() + " ] "+ msg.getBodyString());
    		{
    			if (SierraEnvironment.getConnection().getMessages().contains(msg.getType())) {
    
    				SierraEnvironment.getConnection().getMessages().tryGet(msg.getType()).Parse(this, msg);
    			}
    		}
    	}
    	public Channel GetChannel()
    	{
    		return this.mChannel;
    	}
    	public Habbo GetHabbo()
    	{
    		return this.mHabbo;
    	}
    	public String GetIP()
    	{
    		return mChannel.getRemoteAddress().toString().replace("/", "").split(":")[0];
    	}
    	public void Send(ServerMessage msg)
    	{
    		mChannel.write(msg);
    	}
    }
    Code:
    package sierra.messages.navigator;
    
    import sierra.composers.Outgoing;
    import sierra.habbohotel.rooms.Room;
    import sierra.habbohotel.rooms.RoomEngine;
    import sierra.messagehandler.MessageEvent;
    import sierra.network.clients.Session;
    import sierra.packetparse.ClientMessage;
    import sierra.packetparse.ServerMessage;
    
    public class InitRoom implements MessageEvent
    {
    	@Override
    	public void Parse(Session Session, ClientMessage Request)
    	{
    		Room Room = RoomEngine.GetById(Request.popInt());
    		ServerMessage Message = new ServerMessage();
    		
    		Session.GetHabbo().Room = Room;
    		
    		if (Room.equals(null))
    		{
    			Session.AlertUser("Unknown Room.");
    			Session.GetChannel().close();
    		}
    		else
    		{
    			Message.Initialize(Outgoing.InitRoomProcess);
    			Session.Send(Message);
    			
    			Message.Initialize(Outgoing.ModelAndId);
    			Message.AppendString(Room.Model);
    			Message.AppendInt32(Room.Id);
    			Session.Send(Message);
    
    			//TODO: Load wallpaper and floorpaper, and landscape from database
    
    			Message.Initialize(Outgoing.Landscape);
    			Message.AppendString("landscape");
    			Message.AppendString("0.0");
    			Session.Send(Message);
    
    			//TODO: Check rights
    
    			Message.Initialize(Outgoing.LoadRightsOnRoom);
    			Message.AppendInt32(4);
    			Session.Send(Message);
    			
    			Message.Initialize(Outgoing.RoomEvents);
    			Message.AppendString("-1");
    			Session.Send(Message);
    		}
    	}
    }
    Code:
    package sierra.packetparse;
    
    
    import java.nio.ByteBuffer;
    import java.nio.ShortBuffer;
    import java.nio.charset.Charset;
    
    import org.jboss.netty.buffer.ChannelBuffer;
    import org.jboss.netty.buffer.ChannelBuffers;
    
    import sierra.utils.BitConverter;
    
    
    public class ClientMessage {
    	private Short id;
    	private ChannelBuffer body;
    
    	public ClientMessage(Short id, ChannelBuffer body) {
    		this.id = id;
    
    		if (body == null) {
    			this.body = ChannelBuffers.EMPTY_BUFFER;
    		} else {
    			this.body = body;
    		}
    
    		this.body.markReaderIndex();
    	}
    
    	public ChannelBuffer readBytes(int len) {
    		if (len > this.body.readableBytes()) {
    			len = this.body.readableBytes();
    		}
    
    		ChannelBuffer buf = this.body.readBytes(len);
    		this.body.discardReadBytes();
    
    		return buf;
    	}
    
    	public ChannelBuffer readRawBytes(int len) {
    		if (len > this.body.readableBytes()) {
    			len = this.body.readableBytes();
    		}
    
    		ChannelBuffer res = this.body.readBytes(len);
    		this.body.resetReaderIndex();
    
    		return res;
    	}
    
    	public ChannelBuffer readFixedValue() {
    		
    		//Turn to byte buffer for header
    		ByteBuffer bb = ByteBuffer.wrap(this.readBytes(2).array());
    
    		//Create a short buffer from byte buffer
    		ShortBuffer sb = bb.asShortBuffer();
    		
    		return this.readBytes(sb.get());
    	}
    
    	public Integer popInt() {
    		try {
    			
    			return BitConverter.toInt32(this.readBytes(4).array(), 0);
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return 0;
    	}
    
    	public int popFixedInt() {
    		int i = 0;
    		String s = this.popFixedString();
    
    		i = Integer.parseInt(s);
    
    		return i;
    	}
    
    
    	public String popFixedString() {
    		return new String(this.readFixedValue().toString(
    				Charset.defaultCharset()));
    	}
    
    
    	public Short getType() {
    		return this.id;
    	}
    
    	public String getBodyString() {
    		String str = new String(this.body.toString(Charset.defaultCharset()));
    		
    		String consoleText = str;
    		
    		for (int i = 0; i < 13; i++) { 
    			consoleText = consoleText.replace(Character.toString((char)i), "{" + i + "}");
    		}
    		
    		return consoleText;
    	}
    
    	public int getCurrentLength() {
    		return this.body.readableBytes();
    	}
    }
    Code:
    package sierra.packetparse;
    
    import java.io.IOException;
    
    import org.jboss.netty.buffer.ChannelBuffer;
    import org.jboss.netty.buffer.ChannelBufferOutputStream;
    import org.jboss.netty.buffer.ChannelBuffers;
    
    
    public class ServerMessage
    {
    	private ChannelBuffer body;
    	private ChannelBufferOutputStream bodystream;
    
    	public ServerMessage()
    	{
    	}
    	public void Initialize(int id)
    	{
    		this.body = ChannelBuffers.dynamicBuffer();
    		this.bodystream = new ChannelBufferOutputStream(body);
    
    		try {
    			this.bodystream.writeInt(0);
    			this.bodystream.writeShort(id);
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	public void AppendString(String obj)
    	{
    		try {
    			bodystream.writeUTF(obj);
    		} catch (IOException e) {
    		}
    	}
    	public void AppendInt32(Integer obj)
    	{
    		try {
    			bodystream.writeInt(obj);
    		} catch (IOException e) {
    		}
    	}
    	public void AppendBoolean(Boolean obj)
    	{
    		try {
    			bodystream.writeBoolean(obj);
    		} catch (IOException e) {
    		}
    	}
    	public ChannelBuffer get() {
    
    		body.setInt(0, body.writerIndex() - 4);
    
    		return this.body;
    	}
    }

  3. #183
    Proficient Member Nathe is offline
    MemberRank
    Aug 2011 Join Date
    151Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Quickster which cms do you use for sierra and could you send the download link for it?!

  4. #184
    lol Disguised is offline
    MemberRank
    Jan 2011 Join Date
    521Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    He uses SierraCMS. It's currently on Github @ http://github.com/QuacksterNET/SierraCMS :)

  5. #185
    Enthusiast P Lambda is offline
    MemberRank
    Mar 2012 Join Date
    United KingdomLocation
    40Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Another change.. *sigh*

    Will THIS be completed, or will you change version/language in a few weeks again?

  6. #186
    Account Upgraded | Title Enabled! GertJanA is offline
    MemberRank
    Jan 2010 Join Date
    The NetherlandsLocation
    391Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Quote Originally Posted by P Lambda View Post
    Another change.. *sigh*

    Will THIS be completed, or will you change version/language in a few weeks again?
    He has made some big progress in the time of Sierra.
    And i think he will keep it this name now. And he will just make the best out if it. (I think).

    Greetz,

  7. #187
    swagggggg Livar is offline
    MemberRank
    Oct 2008 Join Date
    United KingdomLocation
    2,272Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Not Java again, you all may think "but java is the best language for a habbo emulator" yeah well, reason being said is, alex's strong language isn't Java (i heard indigo was for practical reasons aka trial and error).

    should finish it off in c# then port it over...

  8. #188
    Proficient Member Nathandj is offline
    MemberRank
    Jan 2012 Join Date
    The NetherlandsLocation
    194Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Finish the C# one, then re-write it in Java.

  9. #189
    swagggggg Livar is offline
    MemberRank
    Oct 2008 Join Date
    United KingdomLocation
    2,272Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Quote Originally Posted by Nathandj View Post
    Finish the C# one, then re-write it in Java.
    Or just port it over?

  10. #190
    Account Upgraded | Title Enabled! GertJanA is offline
    MemberRank
    Jan 2010 Join Date
    The NetherlandsLocation
    391Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    I question left.
    Does the DB structure have the same as Phoenix / UberEMU?
    Because that would be nice for users who used Phoenix before. So they can just run that emulator. With some other tables and BAM.
    Hotel running again. :p

    Greetz,

  11. #191
    Alpha Member Zak© is offline
    MemberRank
    Oct 2007 Join Date
    2,693Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Are you sure it's just because of headers?

    You can just copy the header id's?

  12. #192
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,476Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    I'm finding it hard to find time to work on this development. Sorry.

  13. #193
    Alpha Member Zak© is offline
    MemberRank
    Oct 2007 Join Date
    2,693Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Is that why you switched to Itach's emulator.

    Or are you stopping?

  14. #194
    "(still lacks brains)" NoBrain is offline
    MemberRank
    Sep 2011 Join Date
    United KingdomLocation
    2,658Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Java is a ram hogging bastard.

  15. #195
    Demi-god on these 'ere wa DominicGunn is offline
    MemberRank
    Jun 2011 Join Date
    347Posts

    Re: Sierra - [C# - R63 - New Encoding - MySQL]

    Quote Originally Posted by ησвяαιη View Post
    Java is a ram hogging bastard.
    Lemon ran on 0% CPU.



Advertisement