Gemini

Gemini is an online game service created specifically for use with UDK. It was born out of frustration with Steamworks, lack of documentation, and a primitive existing TCP-Link system. Gemini streamlines the development process by allowing you to set up an online base in minutes. No more messing with complicated SQL and domains!

NOTICE: Gemini is now Sagittarius!

IMPORTANTNew Pricing Plan for Commercial Developers.
Read this blog post for the story behind why this was necessary.

UPDATES
(7-23-2013): Some pretty awesome Gemini tutorials, courtesy of Rama (evernewjoy).
(1-29-2013): Gemini source code now on GitHub. Here’s the relevant blog post.
(10-24-2012): Updated the UDK Starter Kit. Read an overview of new features.
(1-16-2012): Multiplayer problems solved! See how it’s done.
(10-20-2011): Now with Server Browser functionality!

RESOURCES
Visit Gemini: Gemini Main Page
Download the documentation: Gemini Documentation
View the Gemini Terms of Service: Gemini Terms of Service
Download the UDK Starter Kit: UDK Starter Kit
Download the Java Gemini Tester (from DropBox, JAR executable): Java Gemini Tester

CREDITS
Alexander Fisher (Article “Tcplink: Talking to an Online Database”)


Gemini is a mostly free service. Help to keep it that way by donating! Just click on the button above; any contribution is welcomed (powered by PayPal).

Advertisements

34 thoughts on “Gemini

  1. Pingback: Achievements System – Part 1 | WillyG Productions

  2. Pingback: UDK Multiplayer Now Possible! | WillyG Productions

  3. Hey,
    I wanted to build in a code so the Enter Button in the Server Browser is working.

    function Pick_Enter()
    {
    ConsoleCommand(“open”$MyGame(class’WorldInfo’.static.GetWorldInfo().Game).XXX);
    }

    But, what do I have to enter at the XXX ?

    Greetz,
    Kia

  4. Pingback: A Grim Morning | WillyG Productions

  5. Pingback: Sagittarius by Willyg302 Now Available | Unreal X-Editor

  6. I can only any signs of gemini when I play in editor, anything else and nothing shows up in editor

    [0035.97] ScriptLog: [GeminiOnlineService] Posting Data: password=xxxx&code=44c700c&pass=delete
    [0035.97] ScriptLog: [GeminiLinkClient] Resolving: geminionlinegs.appspot.com

    [0036.01] ScriptLog: [GeminiLinkClient] geminionlinegs.appspot.com resolved to 74.125.132.141:0
    [0036.01] ScriptLog: [GeminiLinkClient] Bound to port: 58778
    [0036.09] ScriptLog: [GeminiLinkClient] TCP connection opened
    [0036.09] ScriptLog: [GeminiLinkClient] End TCP connection

    • I tried using a different client to connect using open IP and got this in my log
      [0037.36] NetComeGo: Close TcpNetDriver_0 TcpipConnection_0 74.125.132.141:7777 04/25/14 15:02:33
      [0037.36] Exit: TcpNetDriver_0 shut down

  7. I am really struggling to implement this, i cant see it in server listing on the website
    No servers found. Number of servers: 0

    It seems to open and resolves the IP and bound to port

    opens TCP connection, ends TCP connection at the same time and then TCP connect is closed.

    [1594.86] ScriptLog: [GeminiLinkClient] geminionlinegs.appspot.com resolved to 74.125.132.141:0
    [1594.86] ScriptLog: [GeminiLinkClient] Bound to port: 52201

    [1594.88] ScriptLog: [GeminiLinkClient] TCP connection opened
    [1594.88] ScriptLog: [GeminiLinkClient] End TCP connection

    [1595.07] ScriptLog: [GeminiLinkClient] TCP connection closed

    sorry to spam..

    • Are you calling the function hostGeminiGame(); at any point from the UDK instance you want to be the server? From your logs, it looks like only RemoveServer(); is being called, which gets done at the start of the match using Rama’s code.

      As for the open IP errors, I’m not sure what’s going on there. But as you can see from the code, the functions joinGame(); and joinLANGame(); also call open IP. Maybe if you have your clients call these functions it will work better.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s