Region testing procedure - frandallfarmer/neohabitat GitHub Wiki

To test a region that you have created, we recommend the use of Telko to test the region with bots without logging in to speed up the process at first.

Perform the following commands inside your neohabitat VM:

  • Bring the server and bridge up with your changes.
  • From the NeoHabitat root directory type cd /test
  • node Telko.js --context=context-library (or whatever your region/context is named)
  • type <chip to login the chip bot.
  • Look at the log by hand to see if all your objects were sent or not. If not, look closely at the bridge and server logs for clues.
  • If you have SSH'ed into your VM, you can use journalctl -f to watch stdout in real time.
  • If everything is fine, keep the bot connected, and bring up the c64 client.
  • If you aren't just translating a region with existing classes in, you'll be testing the behavior and your bridge translation once you're inworld.
  • If you have problems (black screen, no avatars, broken graphics) something is wrong - check your db entries and the logs.
  • If you are still struggling, come visit us in Slack and we'll try our best to help.

Logging

If you are using a Docker or Vagrant build, you can use the following instructions to get logging working. We highly recommend having both Elko and Bridge output running at all time. If you do run into issues and need help troubleshooting, these will be major time savers.

  • SSH into your virtual machine
  • To view the Elko server output use journalctl -fau neohabitat
  • To view the Bridge output use journalctl -fau neohabitat-bridge
  • You may need to precede these with a sudo if you're not logged in as root

Inworld checks

In order to ensure a region is setup properly, the following checks also need to be made before a region can be considered "final".

  • Connections

connections

Is the region linked up to the correct places? Does it make sense logically? Are you using an appropriate orientation for it? Does it match the original connections as listed in the Riddle file for that region if applicable?

  • Region Help

regionhelp

When you press F7 on the ground, you get a message telling you the name of the region, the direction to the nearest town and the direction to the nearest teleporter. We need to make sure everything is named appropriately and has the correct port_dir and town_dir.

  • Doors

connections

Is the door in the region open or locked? If it's locked, is it meant to be? Check where the door is meant to be connected to and make sure that it works.

  • Vending Machines

connections

Check that you can use a vending machine and cycle all the way through it twice. Often, if a vendo is setup incorrectly you will either get a "This machine is out of order." message immediately, or after cycling through its contents one time. If the pricing of items seems odd to you as well, please make a note of it (for example, a vendroid containing two items of the same class but wildly different prices might seem out of place).

Please mention any findings you make to the #geography team on Slack so we can discuss/correct where appropriate. Note: if you are already familiar with checking out, editing and commiting files to the neohabitat repository then you can push fixes for errors you may find yourself. Thank you for your help!