Skip to content

Latest commit

 

History

History

eX0-go

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

eX0-go

Go Reference

eX0-go is a work in progress Go implementation of eX0.

The client runs as a native desktop app and in browser.

Installation

You'll need to have OpenGL headers (see here).

go install github.com/shurcooL/eX0/eX0-go@latest

Screenshot

The port is incomplete; this screenshot represents the current state.

Usage

Usage: eX0-go [flags] [server]-[client]-[view]

Flags:
  -cert string
    	Cert file for wss on server, if empty then ws is used.
  -host string
    	Server host (without port) for client to connect to. (default "localhost")
  -key string
    	Key file for wss on server, if empty then ws is used.
  -name string
    	Local client player name. (default "Unnamed Player")
  -network string
    	Network for client to use (one of "tcp+udp", "tcp-raw", "tcp-ws", "chan"). (default "tcp+udp")
  -secure
    	Secure connection to server (e.g., use wss instead of ws).

Example: eX0-go -host=example.com -name=shaGuar client-view

To run a server and client in one:

eX0-go server-client-view

To run a server with a view:

eX0-go server-view

To run a dedicated server (command line only, no view):

eX0-go server

To run a normal client and connect to a server at example.com using TCP+UDP network:

eX0-go -host=example.com -network=tcp+udp client-view

Browser

The client can run in browser by leveraging GopherJS for Go to JavaScript compilation, WebGL for graphics, WebSocket for networking. Install it, then run:

gopherjs serve

Then open http://localhost:8080/github.com/shurcooL/eX0/eX0-go to start up the client.

By default, it will use client-view mode and connect to an eX0-go server at "localhost". You can specify flags via query parameters. E.g., to connect to "example.com" with a player name of "shaGuar", use http://localhost:8080/github.com/shurcooL/eX0/eX0-go?-host=example.com&-name=shaGuar&client-view.

Directories

Path Synopsis
gpc Package gpc parses GPC format files.
packet Package packet is for TCP and UDP packets used in eX0 networking protocol.
render Package render provides functionality to render eX0 objects.

License