This is excellent advice, especially numbers 2 through 4. If cramping is your problem, you might also try aspirin, which is a mild bloodthinner and increases bloodflow. You might also try deep breathing -- breath in deep through the nose, hold it a moment, blow gently out through the mouth -- while doing the mental relaxation (helps with the relaxation anyway, really). A lot of the discomfort comes reduced bloodflow, with deprives the tissues of oxygen -- like when your legs gets stiff on a long flight or car ride. You might even try deep breathing and relaxation before you get in, just to get more oxygen into your bloodstream.
Will you be able to go all night? Y'got me. You can try.