Howdy pardner!

These here forums are read-only. Click here to go to the new forums, where you can actually post and stuff!

Sorry for the inconvenience

-Andrew

Need help getting heartbeat support


Hello, I've decided to use my spare time to work on a software using MCLawl source. How do I add CPE support and a heartbeat to ClassiCube? My coding skills are a bit basic.

To implement CPE, follow this spec. For classicube heartbeat, replace "minecraft.net" with "classicube.net" in whatever part of your code that sends the heartbeat.

For examples, as mclawl is based on fcraft, you can check out this implementation from femtocraft as an example. If you would like examples from D3 (Written in purebasic) I can provide that for you as well.

AndrewPH time for dominate Thu Dec 26 at 12:35:00 (2013)

It's important to note that our website does not accept https connections yet, you must change any mention of 'https' to 'http'

We hope to fix this eventually by purchasing an ssl certificate or something.

I tried changing minecraft.net to classicube.net and long I have waited no address came up. But I want to support both heartbeats.

AndrewPH time for dominate Fri Dec 27 at 15:16:52 (2013)

A basic understanding of how the heartbeat works is required to work with the heartbeat.

As well as a bit more programming knowledge to be able to actually write up support for both heartbeats.

The heartbeats will be the easiest part. Implementing CPE requires sending specific packets to the client using that protocol that was listed. They need to follow it exactly or it wont work. This means the correct lengths of String, byte, shorts, and placing them in an array of bytes at the correct offsets. I myself just graduated with a degree in computer science and had a few difficulties with this (trial and error).

My software is based of the MCLawl software as well so you will be sending the byte array in the Player.SendRaw() method.

Keep in mind that some parts of CPE don't work in ClassiCube yet, like AddEntity.

Adding onto previous responses, the heartbeat that comes with mclawl DOESN'T WORK. So you'll need to find your own way of fixing that problem, if you want, add me on skype (mcderp-herocane) and I'll give you a hand

(Originally posted by HeroCane [Link])

Adding onto previous responses, the heartbeat that comes with mclawl DOESN'T WORK. So you'll need to find your own way of fixing that problem, if you want, add me on skype (mcderp-herocane) and I'll give you a hand

ILY <3 stares at hero with googly eyes :3 O.O

(Originally posted by umby24 [Link])

To implement CPE, follow this spec. For classicube heartbeat, replace "minecraft.net" with "classicube.net" in whatever part of your code that sends the heartbeat.

For examples, as mclawl is based on fcraft, you can check out this implementation from femtocraft as an example. If you would like examples from D3 (Written in purebasic) I can provide that for you as well.

Btw: MCLawl is not based off of fCraft. MCLawl was created mostly by Lawlcat, and it was based off of MCSharp, mostly created by Voziv, even though fragmer contributed to it. fCraft was built from scratch by fragmer, so outside of influences, MCLawl isn't really associated with fCraft.

In order to fully add CPE support, you must program your server to send heartbeats to http://www.classicube.net/server/heartbeat, and then also implement all of the cpe packets that umby linked you to.

Meh, people frenzy over fCraft so much for no reason so I assumed MCLawl was just another one of thousands of unnessicary forks.

There are thousands of unnecessary forks of MCLawl, but not fcraft

afcraft, zcraft, 800craft, caznowl, goldencraft, legendcraft, MeinKraft

btw, do we have to manually send the heartbeat to here if we use 800craft and have to manually add cpe support jonty? or are you going to release a new 800craft for it?

(Originally posted by phinbella86 [Link])

btw, do we have to manually send the heartbeat to here if we use 800craft and have to manually add cpe support jonty? or are you going to release a new 800craft for it?

Jonty added support for CPE. Here's a link: https://github.com/Jonty800/800CraftClassicube

All that you would have to do is build the project in VS.

You've proven me wrong umby. I was unaware of all these xD

Not really many of those are still active. From my knowledge, the only active fCraft forks that I know of are 800Craft, LegendCraft, and caznowl. I am probably wrong.

(Originally posted by umby24 [Link])

afcraft, zcraft, 800craft, caznowl, goldencraft, legendcraft, MeinKraft

Ah, but LegendCraft is technically a fork of 800Craft, and GoldenCraft is a fork of 800Craft/LegendCraft. afCraft was never released and was last updated 3 years ago, zCraft itself was never released and was only edited 4 times from fCraft, MeinKraft was just a server software made for the lulz, and was never actually used, and that just leaves caznowl and 800Craft. While 800Craft may be popular, I have never actually seen caznowl in existence, and it was dropped over a year ago.

Checkmate.

So basically 800craft beats other fcraft forks

(Originally posted by phinbella86 [Link])

So basically 800craft beats other fcraft forks

Fragmer still pushes updates to fCraft, but I'm not so sure if 800craft can still be considered "alive" in the development category. However, LegendCraft is alive, and it has all the features of 800craft and (maybe not all of) the features of fCraft. Don't get me wrong, 800craft is amazing, but /technically/ LegendCraft can be considered better.

For an heartbeat just send this on port 80 to classicube.net: "GET /server/heartbeat?port=25565&max=32&name=Example%20server&public=true&version=7&salt=123&users=0" This is only an example you'll have to replace some fields! (particularly "salt") More here http://wiki.vg/Classic_Protocol#Heartbeats

(Originally posted by dalak [Link])

Fragmer still pushes updates to fCraft, but I'm not so sure if 800craft can still be considered "alive" in the development category. However, LegendCraft is alive, and it has all the features of 800craft and (maybe not all of) the features of fCraft. Don't get me wrong, 800craft is amazing, but /technically/ LegendCraft can be considered better.

Actually, after LegendCraft forked from 800Craft, 800Craft continued updating for a while. So LC doesn't have all of the 800craft/fCraft features. And I wouldn't say any of the three previously mentioned softwares are better than the others. Honestly, fCraft and 800Craft are probably more stable than LC, but LC is updated far more frequently.

(Originally posted by LeChosenOne [Link])

Actually, after LegendCraft forked from 800Craft, 800Craft continued updating for a while. So LC doesn't have all of the 800craft/fCraft features. And I wouldn't say any of the three previously mentioned softwares are better than the others. Honestly, fCraft and 800Craft are probably more stable than LC, but LC is updated far more frequently.

You could always use "git merge upstream/master" to get the latest 800Craft updates. If LC is an independent repository on github, you could add 800Craft as a remote in git

Reguardless of the number of forks they are still useless as with the addition of server side scripting (Lua mayhaps?), you can add everything these forks have added through that scripting. That keeps it the same base software with whatever modifications you want to make to it. This also ensures you maintain any upstream features released with the software, which reduces the work load of whoever is developing the mods / forks.

(Originally posted by umby24 [Link])

Reguardless of the number of forks they are still useless as with the addition of server side scripting (Lua mayhaps?), you can add everything these forks have added through that scripting. That keeps it the same base software with whatever modifications you want to make to it. This also ensures you maintain any upstream features released with the software, which reduces the work load of whoever is developing the mods / forks.

I've never understood how it could be done to add server side scripting from the programming language it's made of. Any server software that has that?

You Can Do the language it's made of in certain language (Works for any .NET language including C#), although that's highly pointless if you can just implement Lua, which is easy enough to do.

Also, the D3 software supports Server-Side Lua scripting. There is full documentation for it as well.

🛑 This thread has been set to read-only due to inactivity. 🛑