GithubHelp home page GithubHelp logo

hewiefreeman / gophergameserver Goto Github PK

View Code? Open in Web Editor NEW
171.0 171.0 16.0 1.87 MB

:trophy: Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!

Home Page: https://hewiefreeman.github.io/GopherGameServer

License: Apache License 2.0

Go 100.00%
api chat chat-room contributions-welcome friending game-server go golang good-first-issue gopher-game-server help-wanted javascript json multiplayer real-time server voice voice-chat voip websocket

gophergameserver's People

Contributors

hewiefreeman avatar oneoeigh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gophergameserver's Issues

C++ client API

A lot of games are programmed primarily in C++, so a C++ client API would be a very nice addition to the list of official GGS client APIs. This is open to anybody who would like to contribute, and is at least an intermediate C++ developer.

You will retain full rights to your code and it's license type, and will receive credits on the GGS's main page, as well as a link to your API.

If you're willing to take this project on, let me know and I'll give you all the info you need to get started with any guidelines you need to stick to. Thank you for your interest in contributing to Gopher Game Server!

Strip special chars in messages that come from users

I could break my output in html/js because the server relays messages unfiltered from user to other user e.g. "room messages" or "private messages"

So my request is: Please enable a config or a small code that strips "special chars/html/tags/javascript" from user input.

I couldnt figure out where this aspect could be implemented correctly. (Core?)

SetLoginCallback throws nil pointer dereference

Whenever i set the SetLoginCallback function, i get a runtime fatal panic

panic: runtime error: invalid memory address or nil pointer dereference
github.com/hewiefreeman/GopherGameServer.SetLoginCallback({0xed0fa0, 0xf327a8})
C:/Users/mbd/go/pkg/mod/github.com/hewiefreeman/!gopher!game![email protected]/callbacks.go:125 +0xc2

Is it because there is no database initialized? You can recreate the error with:

func main() {
	settings := gopher.ServerSettings{
		ServerName:     "myserv01",
		MaxConnections: 6,

		HostName:  "localhost",
		HostAlias: "localhost",
		IP:        "localhost",
		Port:      8080,

		TLS:         false,
		CertFile:    "",
		PrivKeyFile: "",

		OriginOnly: false,

		MultiConnect:   false,
		KickDupOnLogin: false,

		UserRoomControl:   true,
		RoomDeleteOnLeave: true,

		EnableSqlFeatures: false,
		SqlIP:             "localhost",
		SqlPort:           3306,
		SqlProtocol:       "tcp",
		SqlUser:           "user",
		SqlPassword:       "password",
		SqlDatabase:       "database",
		EncryptionCost:    4,
		CustomLoginColumn: "",
		RememberMe:        false,

		EnableRecovery:   false,
		RecoveryLocation: "C:/",
		AdminLogin:       "admin",
		AdminPassword:    "1234",
	}

 setErrs := gopher.SetLoginCallback(clientLoggedIn)
	if setErrs != nil {
		fmt.Println(setErrs)
	}
gopher.Start(&settings)
}


func clientLoggedIn(userName string, databaseID int, receivedColumns map[string]interface{}, clientColumns map[string]interface{}) bool {
	fmt.Println("Entered")
	return true
}

Unity/C# client API

Unity is a popular choice for game developers and studios of all sizes, hence a C# and/or Unity Script client API would be a great addition to the official client API list. This is open to anybody who would like to contribute, and is at least an intermediate Unity/C# developer.

You will retain full rights to your code and it's license type, and will receive credits on the GGS's main page, as well as a link to your API.

If you're willing to take this project on, let me know and I'll give you all the info you need to get started with any guidelines you need to stick to. Thank you for your interest in contributing to Gopher Game Server!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.