node-minecraft-protocol-forge icon indicating copy to clipboard operation
node-minecraft-protocol-forge copied to clipboard

Add tests using official Forge server

Open deathcap opened this issue 9 years ago • 6 comments

Currently nmp-f has no tests, but it should, like nmp - setting up a test server, connecting to it, etc. Check into using minecraft-wrap, perhaps augment or enhance it to support installing Forge servers (http://files.minecraftforge.net) and mods: (good mod to start with is IronChests: http://files.minecraftforge.net/maven/cpw/mods/ironchest/)

  • [ ] Install vanilla server
  • [ ] Install Forge onto vanilla server
  • [ ] Install a mod onto Forge server
  • [ ] Connect with forgeHandshake and explicit mod list, confirm able to login
  • [ ] Connect and test autoForgeVersion negotiation, confirm able to login

deathcap avatar Feb 13 '16 07:02 deathcap

I recommend using either a modified https://github.com/mhsjlw/minecraft-buildpack to run the minecraft server on heroku (for free!) to run these tests.

ghost avatar Feb 15 '16 18:02 ghost

circle ci is quite good enough for tests @mhsjlw :p

rom1504 avatar Feb 15 '16 18:02 rom1504

Can circle CI run a forge server?

ghost avatar Feb 15 '16 18:02 ghost

circle ci can run a minecraft server (it currently do so for nmp and mineflayer tests) so probably a forge server too. It only runs it for a few minutes though, which is all we need for tests (but obviously not enough for a real server)

rom1504 avatar Feb 15 '16 18:02 rom1504

I was unaware that it could do that. I guess you don't need to waste a Heroku server then :stuck_out_tongue_winking_eye:

ghost avatar Feb 15 '16 18:02 ghost

Yeah CircleCI works well at least for vanilla MC server testing, I think it'll work for Forge, only possible wrinkle is IIRC there used to be some requirement for having GUI classes for Forge's setup, may have changed or I may be mistaken... but I think it'll be workable. It's good for short-running tests on each commit.

https://github.com/mhsjlw/minecraft-buildpack on Heroku might be useful for another purpose though: (semi-?) longer-running tests, continuously(-ish) online for testing, if I understand how it works correctly. I was looking for something like this for https://github.com/voxel/voxel-clientmc/issues/22, thanks I'll make a note of it.

deathcap avatar Feb 16 '16 04:02 deathcap