What we used to do prior to finding Sherpa was to have the DM and player each write down a number (say 1-20 for a d20 roll) and then add them together, mod the die range. So say for a d20 roll, the player and DM might write 16 and 12. Added together, you'd get 28, which would be modded to 8. It was slow, and becomes more of a faux-strategic roshambo-ish kind of game than a true RNG, but it worked well enough for us.
You could modify it a bit to maintain the pseudo-RNG aspect. Ask each of your players at the beginning of each session to come up with a list of random numbers, each player given a different, and relatively prime (or just prime), number of numbers to come up with (9, 11, 16, and 25 would work, they are relatively prime, but 7, 11, 13, and 17 would as well), then when you add up a group of them, increment each one. Each time you reach the end of a list of numbers, circle back to the first in that list. You won't ever have the same numbers added up unless you have more rolls than the prime/relatively prime numbers multiplied together.
Simple example: 3 players, given 2, 3, and 5:
Player 1: 3 7
Player 2: 6 8 9
Player 3: 1 5 4 2 10
First roll is 3+6+1 (mod n)
Second is 7+8+5 (mod n)
Third is 3+9+4 (mod n)
However, the next time you get 3+6+1 would be the 31st roll. The larger the (relatively) prime numbers, the higher the roll count needs to be before you repeat. (If the players repeat the numbers they come up with, repeats would happen sooner, but those would be unpredictable, esp if they don't know the numbers the others came up with)
ETA: You can skip that player's pre-generated number, and ask them for a number then and there instead (which will give a real-time action, instead of predetermined "rolls")