Skip to content

Instantly share code, notes, and snippets.

@fr34kyn01535
Last active October 26, 2016 11:18
Show Gist options
  • Save fr34kyn01535/74dc909d2f61b73deabbe06e4adb5f44 to your computer and use it in GitHub Desktop.
Save fr34kyn01535/74dc909d2f61b73deabbe06e4adb5f44 to your computer and use it in GitHub Desktop.
Controlling Unity3D dedicated servers | window toolkits & IPC /RPC methods

There is two ways of controlling a dedicated servers:

  1. Using a GUI toolkit to render a window with all the needed controls
  2. Using some kind of service framework (IPC/RPC methods) hosted in Unity3D to make remote access using any tool possible

#Possible GUI toolkits

Windows.Forms

Advantages:

  • visual gui builder

Disadvantages:

  • ugly
  • hey its FORMS
  • looks inpredictable on Linux or Mac

GtkSharp

Disadvantages:

  • Glade not available for Unity3D
  • has to be installed & bundled

#Possible service framework (IPC/RPC methods)

WCF Named Pipes

Advantages:

  • could resolve by only name

Disadvantages:

MMF (MemoryMappedFile)

Advantages:

  • could resolve by only name

Disadvantages:

WCF TCP/WS

Advantages:

  • automatic client proxy creation

Disadvantages:

  • need to know target port
  • requires netsh rules on windows (possible fix here: http://stackoverflow.com/a/10128350)
  • duplex bindings not implemented in Mono (WSDualHttp, NetTCP,..)

Sockets

Advantages:

  • they work in Mono, in theory... god knows what they forgot to implement

Disadvantages:

  • need to know target port
  • have to manage the sockets and serialisation
  • you could also hammer the bits into stone and ship the messages with German DHL

#FUCK MONO. Lets wait for Unity3D to ship a newer .NET

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment