gamemachine { environment = development use_regions = false orm = false mono_enabled = false client { # Sets the protocol and host/port used by the client. If set to TCP or UDP then those protocols are enforced. # ANY lets the client use it's own values protocol = ANY } handlers { # Team handler team = "GameMachine::DefaultHandlers::TeamHandler" # Authentication handlers. #PublicAuthenticator allows any user/password combination to work #auth = "com.game_machine.authentication.PublicAuthenticator" # The default. Uses salted password hash (bcrypt) auth = "com.game_machine.authentication.DefaultAuthenticator" } routers { # IMPORTANT - You don't need that many routers to handle a lot of traffic. 5 is sufficient to handle several hundred # messages per second. We suggest starting with the defaults and only increasing these numbers as necessary. # Size of the router for incoming message from all clients game_handler = 5 # Also in the pipeline for all incoming requests, should be set the same as # game_handler_routers request_handler = 5 # router size for the udp actor that handles all incoming udp messages udp = 5 # Router size for the data/object store. objectdb = 5 } datastore { # What data store the object database will use. Valid options are gamecloud, couchbase, jdbc, mapdb, # memory, or redis store = gamecloud # How protobuf messages will be serialized to the datastore. Valid options are json or bytes. # Json is easier to debug but slower and more cpu intensive under load. bytes is the native protocol # buffer binary format. serialization = json # minimum time in milliseconds between writes to the backing store for the same key. When a message # exceeds the limit it is either enqueued, or if already enqueued, it's value is updated. # -1 disables caching. 1000 is a good starting value. cache_write_interval = -1 # Total writes per second to the backing store that an actor will allow, across all keys. Note this is on a per actor # basis. If you want to limit total writes per second to your database, this value should be a multiple of the number # of write behind cache actors that are started. -1 disables caching. 100 is a good starting number. cache_writes_per_second = -1 } gamecloud { # The gamecloud is a hosted data store with a REST api backed by couchbase. It is offered as a service by # Game Machine. user = me host = "cloud.gamemachine.io:80" api_key = myapikey } grids { default = "4000, 50, 1" aoe = "4000, 5, 1" local_chat = "4000, 10, 10" } couchbase { bucket = gamemachine password = pass servers = ["http://127.0.0.1:8091/pools"] } jdbc { // Postgres hostname = 127.0.0.1 port = 5432 database = gamemachine url = "jdbc:postgresql://127.0.0.1:5432/gamemachine" ds = "org.postgresql.ds.PGSimpleDataSource" driver = "org.postgresql.Driver" username = gamemachine password = gamemachine // Mysql #hostname = 127.0.0.1 #port = 3306 #database = gamemachine #url = "mysql://127.0.0.1:3306/game_machine" #ds = "com.mysql.jdbc.jdbc2.optional.MysqlDataSource" #driver = "com.mysql.jdbc.Driver" #username = gamemachine #password = gamemachine } http { enabled = true host = 0.0.0.0 port = 3000 } udp { enabled = true host = 127.0.0.1 port = 24130 } tcp { enabled = true host = 127.0.0.1 port = 8910 } akka { host = 127.0.0.1 port = 2551 } # Seeds are akka nodes that should already be in the cluster. We use them as first points of contact to join against # If the seeds list is empty, we start the cluster by joining to ourself. The case of joining ourself should only happen # if we are the only node, or if we are the first node. #seeds = ["127.0.0.1:9991","127.0.0.1:9992"] seeds = [] admin { user = admin pass = pass } regions = [ ["zone1","GameMachine::DefaultHandlers::ZoneManager"], ["zone2", "GameMachine::DefaultHandlers::ZoneManager"] ] }