In the real world acceleration from gravity is 32 ft/s2. You have to convert that to pixels per tick like so:
g = -32 * pixels_per_foot / (ticks_per_second * ticks_per_second)
If you're using metric, because I understand soccer is a sport of the unwashed heathens, gravity is 9.8 m/s2 and that would then be:
g = -9.8 * pixels_per_meter / (ticks_per_second * ticks_per_second)
You also have the option of adding things like air resistance, which is proportional to velocity. If you have air resistance, then every tick you can do this:
vx *= (1 - air_resistance)
vy *= (1 - air_resistance)
vz *= (1 - air_resistance)
A sample resistance might be 0.001, just as a value to test. Air resistance is actually a force like gravity, but it's always proportional to velocity and always acts in the opposite direction, which is why the formula above works that way. You don't strictly need resistance, but a soccer ball has a fairly large profile and its air resistance, while low, does come into play in the real world.
When bouncing off the ground, you'll want to cut the velocity down at the time of the bounce, and reverse vz. How much it cuts down is up to you, and is basically defined by the friction of the turf against the ball.
If the z velocity gets below a certain threshold when the ball is on the ground, it should roll. Rolling friction is different than sliding friction, but the principle is the same. Unlike air resistance, rolling friction should be a steady linear reduction in the ball's velocity.
if(z < radius + FUDGE && abs(vz) < FUDGE) // ball is rolling
v = sqrt(vx*vx + vy*vy + vz*vz)
if(v)
f = max(0, v - rolling_friction) / v
vx *= f
vy *= f
vz *= f
A lot of games that had the potential of be great (and different) like your never saw the light of the "online world", make this game real e playable, please.