Siemka.

Mam troszkę nietypowe pytanie... :(

Chciałbym postawić serwer gry na pingwinku (debian 8), lecz pliki napisane są w c# i zawierają wcf (iis dla ścisłości). Linux nie wspiera WCF'ka przez co połączenie pomiędzy server.login -> server.world jest niemożliwe. Dowiedziałem się, że aby uruchomić wcf na Debian'ie należy stworzyć osobną aplikacje (console), która będzie zawierać w sobie to co teoretycznie było zawarte w plikach gry (czyli elementy WCF).

Problem jest taki, że nie mam pojęcia jak to zrobić.

Ja na programowaniu się nie znam, zaś kolega który "tworzy" ze mną serwer zna się jedynie na C++ (wbrew pozorom języki te aż tak mega podobne nie są).

Okej, przejdźmy do rzeczy :

Dwa pliki, które zawierają wcf (których kompilacja w MONO jest niemożliwa) :

using System.ServiceModel;
namespace OpenNos.WCF.Interface
{
public interface ICommunicationCallback
{
#region Methods

[OperationContract(IsOneWay = true)]
void ConnectAccountCallback(string accountName, int sessionId);

[OperationContract(IsOneWay = true)]
void ConnectCharacterCallback(string characterName);

[OperationContract(IsOneWay = true)]
void DisconnectAccountCallback(string accountName);

[OperationContract(IsOneWay = true)]
void DisconnectCharacterCallback(string characterName);

#endregion
}
}
using System.ServiceModel;

namespace OpenNos.WCF.Interface
{
[ServiceContract(CallbackContract = typeof(ICommunicationCallback))]
public interface ICommunicationService
{
#region Methods

[OperationContract]
bool AccountIsConnected(string accountName);

[OperationContract(IsOneWay = true)]
void Cleanup();

[OperationContract]
bool ConnectAccount(string accountName, int sessionId);

[OperationContract]
bool ConnectCharacter(string characterName, string accountName);

[OperationContract(IsOneWay = true)]
void DisconnectAccount(string accountName);

[OperationContract(IsOneWay = true)]
void DisconnectCharacter(string characterName);

[OperationContract]
bool HasRegisteredAccountLogin(string name, long sessionId);

[OperationContract(IsOneWay = true)]
void RegisterAccountLogin(string name, long sessionId);

#endregion
}
}

Wszystkie pliki gry znajdziecie tutaj :

https://github.com/OpenNos/OpenNos

Na internetach znalazłem przykładową aplikację, która zawiera ten wcf. Nie mam pojęcia co pozmieniać, aby zadziałała ona w odpowiedni sposób (czyli aby wcf z tych plików działał na linuksie). Znajdziecie ją tutaj :

https://github.com/shturm/mono-wcf-example

Z góry dziękuję za wskazówki.

Jeśli zaś ktoś jest w stanie zrobić "szkic" (czyli no niemalże gotowy kod) bądź też udzielić mega dokładnych wskazówek oferuję od 50 - 100 like (w zależności od % gotowości kodu)

Pozdrawiam, Kyosha