There are 5 kinds of names:
'Real' Names - Look in your phone book or a baby name book.
Meaningful English Names - Usually these are a noun, such as: pearl, joy, garnet, rowan, jay; or an adjective and a noun combined, such as: runningdog, moonflower, sixspears.
Foreign Language Names - Look in a foreign language dictionary. If you care whether they are properly conjugated then you need to learn how to do that of find a friend who knows how.
Connotative Names - These names suggest an english word or two without actually being real words. Start with one or more words you like the meaning of, e.g.: wrath, anger, jealousy, and either modify one, e.g.: rath, jealo, or mix two, e.g.: angrath, wreathalousy, jealger
Euphonic Names - These are meaningless names that sound nice. Make up some syllables, e.g.: phe, lo, sil, ken, ra, and then mix and match to get names like: ra, phesil, sillora, kenlophera.
Advice for naming your cast: try not to repeat first letters, final syllables, or number of syllables too much among your cast because these markers are what players use to remember the characters names, and you don't want players to mix your characters up, right? On the other hand, characters from the same culture should all have the same type of name - especially don't mix meaningful names with other types.