My first thought was to write a special client (I am using Unity) that simply created several instances of the SmartFoxClient object but ignored doing any 3D stuff. Unfortunately the .NET API delegates are static, so there is no way to properly route the events to the correct SmartFoxClient instance.
I also thought I might use the createNPC() functionality. However it seems that there is a known bug which would make this undesirable. Lapo posted the following:
We don't recommend using the createNPC() functionality if you plan to dynamically create and destroy NPCs. What you can do is separate the NPC logic from the server creating another Java application that uses the SFS API to create multiple NPCs.
Does that mean a separate java app that you run on the server which calls some other functions to simulate a 'real' client? Could someone point me in the right direction for 'faking it' / connecting and talking to the server from Java?