I ran my JRiver server on Linux for a year or so in a mixed platform household, so I can offer some tips/advice. To answer your questions:
- If running MC as a master server on Linux, is there a preferred distribution? I'm familiar with CentOS, Debian (Server based) and Mint (Client based).
MC is developed on debian stable and it's the only officially supported distro. Other distros should work fine, but debian is the safest bet.
- Can a MC server implementation run in a command line environment or is GUI based implementation recommended (just thinking about resource allocation)?
No MC can't run as a CLI program. MC requires a running xserver. You don't have to have a monitor hooked up (there are afew good threads about running headless), but MC requires an xserver
- Open question: Any tips and tricks on running MC as a master server on Linux to consider?
Cross-platform filepaths are different. That means a windows client of a linux server may have certain types of difficulties (e.g. DVDs ripped in .ifo structure). Additionally the lack of feature parity between MC for windows and linux can be limiting (i.e. linux has no TV support, so the linux server can't serve a TV tuner, etc.). Otherwise it's about the same as running aserver on windows.
- Can the Apple implementation of MC run a client implementation off an iPad?
There's an ios app called JRemote that can connect to any version of MC (windows, linux, or mac), but it's not a "full" client, it's an app. The ipad can also connect to the web interface via panel/webgizmo. There's no "full" MC version for ipad, but for just listening to music or watching video jremote is great.
- Android TV Box - what are MC options here?
Similar to the ipad situation; gizmo and jremote are two MC android apps (one free one premium). Eos is another third party app. All work well on a normal android phone or tablet; I've never used an android TV box, but I assume they're a similar environment.
- On the fly rendering - I'll be running the MC Master Server on a E5- 8core, so what processing tasks could I centralise on the server to take load off the clients?
The server can be configured to handle transcoding for computer clients (and with the android and ios clients, the server always does the transcoding), so that piece is already handled.