Iceball Project

Iceball is a moddable, open source, cross-platform engine and game inspired by AoS Classic. Created by GreaseMonkey.
Incompatible with PySnip/pyspades-based AoS Classic 0.75/0.76 servers.
1430 posts Page 4 of 96
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


ThisFrickinSite wrote:
HoboHob wrote:
I assume you have no networking code done?

Take it from me man, networking code takes 80-90% of the time in multiplayer games.
In 0x10c, Notch finished it in one week.
Finished eh? Looks like it's still a WIP to me...

Also I would like to point out to everyone, I did not say network code takes months of hard work and slavery. I said it takes about 80-90% of the time. Why? Because it's the most complicated part that requires you to work on 2 separate programs simultaneously.
Fluttershy
Build and Shoot's 1st Birthday
Build and Shoot's 1st Birthday
Posts: 165
Joined: Mon Nov 05, 2012 7:00 pm


GreaseMonkey wrote:
It will be playable in a few days if I can stay on top of things.

Anyhow, player models and fog.

*cut*

Also, players have names + squads. No, we're not talking about those dreadful /squad squads; it's more of a meta thing for organising your team.

Finally, the name generator managed to spew out the name "boozeator". I think it's a keeper.
Hmm, if i could make a suggestion, can squad names stack below the actual name of the person? that way it wouldnt be insanly long and it wouldnt push small names way off the the side.

other than that looking good so far.
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


Also I was thinking, we should have Iceball tied to buildandshoot.com.

So you need an account here to play.
rakiru
Coder
Coder
Posts: 1349
Joined: Sun Nov 11, 2012 12:26 pm


HoboHob wrote:
Also I was thinking, we should have Iceball tied to buildandshoot.com.

So you need an account here to play.
I've been considering an auth system that would tie accounts to bns accounts (or similar, to stop spam registration by cheaters) that can optionally be required by servers (or perhaps even optional, to give admins a way to authenticate without typing a command). I had something similar for Terraria, but had to stop that due to redigit being a dick.

Such a system could be used by Iceball, AoS or any other game that comes out of here.
EssigGurkenFred
Deuced Up
Posts: 111
Joined: Tue Nov 06, 2012 3:15 pm


You are great GreaseMonkey.
Szuwar
Deuce
Posts: 13
Joined: Sat Nov 10, 2012 1:22 pm


rakiru wrote:
I've been considering an auth system that would tie accounts to bns accounts (or similar, to stop spam registration by cheaters) that can optionally be required by servers (or perhaps even optional, to give admins a way to authenticate without typing a command). I had something similar for Terraria, but had to stop that due to redigit being a dick.

Such a system could be used by Iceball, AoS or any other game that comes out of here.
Haven't this been implemented in pyspades by Mat² a while ago? You could login during game and then track you score on a website ( http://aos.mp2.dk/)
rakiru
Coder
Coder
Posts: 1349
Joined: Sun Nov 11, 2012 12:26 pm


Szuwar wrote:
rakiru wrote:
I've been considering an auth system that would tie accounts to bns accounts (or similar, to stop spam registration by cheaters) that can optionally be required by servers (or perhaps even optional, to give admins a way to authenticate without typing a command). I had something similar for Terraria, but had to stop that due to redigit being a dick.

Such a system could be used by Iceball, AoS or any other game that comes out of here.
Haven't this been implemented in pyspades by Mat² a while ago? You could login during game and then track you score on a website ( http://aos.mp2.dk/)
Not exactly what I mean - that still allows (and requires) you to join the game first, and also still needs you to enter a command to login.
Triplefox
Scripter
Scripter
Posts: 32
Joined: Thu Nov 22, 2012 5:28 am


I fully support an auth system. The source of identity is the main concern because centralizing it may become political. If it comes only from these forums, we are trusting the forum staff (now and future) to not make bad decisions. An alternative similar to the "federated ban" idea I made for Pyspades is to allow each game server to choose which identity sources they will trust. Most servers will probably only want to rely on the "BNS official" choice, but providing the possibility of an alternative helps in two ways:

1. People who want to behave by different rules can easily opt out
2. People who want to complain about the existing rules are going against a community consensus, and can be told to opt out instead
Null
League Participant
League Participant
Posts: 9
Joined: Wed Nov 21, 2012 8:30 am


Why not jut allow people to create a digital signature for themselves? A tripcode system would eliminate the need for a centralized auth server and it would be easy to opt-out. All we would need to do is implement a one way compression hash and have people include a key in their name if they so desired.

EDIT: :roll: I should read more before making suggestions which don't fully solve the problem at hand. We would want an auth server so that we know whoever is joining a game is legit, then we can also hand out bans based on auth code in conjunction with IP. Don't mind me, I just had this thing called a latent wave of understanding.
GreaseMonkey
Coder
Coder
Posts: 733
Joined: Tue Oct 30, 2012 11:07 pm


WRT name placement: I tried that initially. Stuff tends to get lumped together and it actually makes it *worse*.

"Take it from me man, networking code takes 80-90% of the time in multiplayer games."
This is definitely untrue. However, I will say it will take quite a while to "upgrade" it to being multiplayer.

"Why? Because it's the most complicated part that requires you to work on 2 separate programs simultaneously."
I think the renderer is more complicated, actually. And no, the client and the server are basically the same program, so I can actually do virtual networky stuff with relative ease, without actually having to serialise the networked data. I just need to add an API for it, really.

I also need to add an API for loading maps and whatnot.

WRT accounts: Yeah, I do have plans for allowing authentication, although I will probably need to implement HTTP queries somehow. But yeah, I'm more fond of what Triplefox is suggesting, rather than what Null is suggesting.

So, the TODO:
  • Implement map loading/switching/saving on the Lua side of things.
  • Implement proper security for pathnames and whatnot, for reading and writing and all that crap.
  • Implement an actual networking API for Lua.
  • Get it all implemented on the Lua side.
  • Buld cahirs and snip.
EssigGurkenFred
Deuced Up
Posts: 111
Joined: Tue Nov 06, 2012 3:15 pm


Will we maybe be able to test this for about 1 day or less? :)
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


The client better not be implemented through Lua (or at least anything super important).

This will make it so easy to hack it won't even be funny.
rakiru
Coder
Coder
Posts: 1349
Joined: Sun Nov 11, 2012 12:26 pm


HoboHob wrote:
The client better not be implemented through Lua (or at least anything super important).

This will make it so easy to hack it won't even be funny.
It's open source - even if it was in C, you could just compile your own version of the client.
GreaseMonkey
Coder
Coder
Posts: 733
Joined: Tue Oct 30, 2012 11:07 pm


HoboHob wrote:
The client better not be implemented through Lua (or at least anything super important).
It is.
HoboHob wrote:
This will make it so easy to hack it won't even be funny.
No, what would make this game "so easy to hack" is the fact that it's open source, and because of this, I cannot do any SHA checksums on the executables. (Also I see rakiru ninja'd me there.)

The server will send the scripts to the client, starting with $(MOD_BASE_DIR)/main_client.lua. To hack this, you will actually have to intercept this exchange, OR modify the bytecode as it gets compiled. With that said, it's probably not that difficult with a modified client, but yeah. Perhaps I should make it so you can intercept file requests on the server side and polymorph the code as well as the protocol.
EssigGurkenFred wrote:
Will we maybe be able to test this for about 1 day or less? :)
Testers / hosters will be appreciated. If you want to test what's there, download it and compile it - see the first post for details.
rakiru
Coder
Coder
Posts: 1349
Joined: Sun Nov 11, 2012 12:26 pm


I'd be happy to host a server when you get it going.

As for stopping hacking, you'd be better off spending time writing server-side checks first since there will always be a way around it.
1430 posts Page 4 of 96
Return to “Iceball”

Who is online

Users browsing this forum: No registered users and 1 guest