I want to make my game free for download, but not free for hosting.How i do that?
Sorry for bad english [>.<]'
ID:270412
![]() Apr 24 2006, 5:58 am
|
|
Like PirateHead said, you can use some sort of server that tells if a person can host or not, or you can create a list of ckeys in the game (though some people might tell you not to hardcode this, they're probably right) that can host.
Then, simply manipulate OpenPort() to suit your needs. If the host's ckey is not in the list (you have to find this out when the person logs in), then don't let them host. return 0 |
oh, like:
world/OpenPort(port) |
Pharaoh Atem wrote:
I want to make my game free for download, but not free for hosting.How i do that? Check to see if a client is the host upon connecting, and set a host variable equal to them. Then, use the BYOND subscription system, and override world.OpenPort. var/client/Host I'm 99% sure that will work, though I don't know if you can use a var/client like that. [edit] They would still be able to host on dreamdaemon this way. What you can do, however, is: world |
Inuyashaisbest wrote:
That Also Interferes with Reboot Use This Instead No talk like headline. Ungh. world/New() Problems there: 1) You're spawning too long, and 2) your client loop is atrocious. There are two ways to fix the loop. One is to use locate():
var/client/C = locate()
Very simple. Another is to still loop, but not use the Found var because it's not only silly, but using capitalized var names is wrong. var/client/C Lummox JR |
Put in a "permission code" and "permission hash" variable in the game, and then host your permission server. If the game's permission code and hash matches the permission server's code and hash, you can assume that the person has permission. So, you can offer free downloads, but make people pay for "permission" to host.